Pkg + periodic script
Miroslav Lachman
000.fbsd at quip.cz
Wed Mar 25 17:06:06 CET 2015
Peter Rosa wrote on 03/25/2015 16:00:
[...]
> bol to len upgrade 8.4 na aktualnu verziu + instalacia pkg + upgrade
> vsetkych portov. Isiel som ako vzdy podla /usr/src/Makefile (buildworld,
> kernel, reboot, mergemaster -p, installworld, delete-old, mergemaster,
> reboot, delete-old-libs). Potom cd ports-mgmt/pkg, install, clean. Potom
> pkg_deinstall pkgutils (alebo ako sa volal ten port). Potom portupgrade -a.
> Logicku chybu tam nevidim, napriek tomu vsak na disku je napr.:
>
> # ls /usr/local/sbin/p*
> /usr/local/sbin/pkg
> /usr/local/sbin/pkg-static
> /usr/local/sbin/pkg2ng
> /usr/local/sbin/pkg_cutleaves
> /usr/local/sbin/pkg_deinstall
> /usr/local/sbin/pkg_fetch
> /usr/local/sbin/pkg_glob
> /usr/local/sbin/pkg_sort
> /usr/local/sbin/pkg_which
> /usr/local/sbin/pkgdb
> /usr/local/sbin/pkgdu
> /usr/local/sbin/portcvsweb
> /usr/local/sbin/portinstall
> /usr/local/sbin/ports_glob
> /usr/local/sbin/portsclean
> /usr/local/sbin/portsdb
> /usr/local/sbin/portsvnweb
> /usr/local/sbin/portupgrade
> /usr/local/sbin/portversion
> /usr/local/sbin/purge
V /usr/local jsou jen veci z portu, takze cast toho patri baliku
ports-mgmt/pkg, cast ports-mgmt/portupgrade a tak podobne. Ostatne co z
ceho pochazi muzes zjistit jednoduse prikazem pkg which
# pkg which /usr/local/sbin/pkg-static
/usr/local/sbin/pkg-static was installed by package pkg-1.4.12
> # ls /usr/local/bin/pkg*
> /usr/local/bin/pkg-config@ -> pkgconf
> /usr/local/bin/pkgconf
>
> # ls /usr/sbin/pkg*
> /usr/sbin/pkg
> /usr/sbin/pkg_add
> /usr/sbin/pkg_create
> /usr/sbin/pkg_delete
> /usr/sbin/pkg_info
> /usr/sbin/pkg_updating
> /usr/sbin/pkg_version
/usr/sbin/pkg je jen bootstrap, ktery zavola instalaci ports-mgmt/pkg
/usr/sbin/pkg_* jsou systemove utility, ktere jsou soucasti base systemu
a nedaji se "odinstalovat" jako porty. Ve FreeBSD 10.1 uz tyhle utility
nejsou, v 8.4 a 9.3 jsou a zustanou tam "na vzdy".
> Vyzera to tak, ze teraz je tam napr. len jeden perl (5.16.3), podla
> ocakavania. Mna hlavne prekvapila skutocnost, ze portupgrade pri druhom
> behu nehlasil jediny problem a odinstalovaval a upgradoval (podla mna)
> uz neexistujuce verzie portov. Preto som sa do toho zavrtal. Mozno o nic
> nejde a taketo spravanie (tj. ze nehlasi chyby ako neexistujuci subor a
> pod.) sposobuje direktiva FORCE_PKG_REGISTER=true v /etc/make.conf.
Myslim, ze s tim FORCE_PKG_REGISTER je to prave ten duvod, proc ti to
nehlasi obvykle chyby, ktere by to jinak hlasilo.
Nicmene se ti proste tim druhym spustenim pkg2ng podarilo prepsat
puvodni udaje v sqlite databazi, kterou vyuziva pkg a to pak
nekontroluje nejake soubory na disku, ale udaje, co ma v DB. Takze kdyz
smazes nejaky soubor na disku, pkg ho pak "odinstaluje" tim, ze smaze
zaznam z vlastni databaze. I kdyz by to asi jeste vyhodilo nejaky
warning, ze na disku ten soubor nebyl, nebo treba "checksum mismatch" a
tak podobne.
Mirek
More information about the Users-l
mailing list