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