[BSD] csomagkezeles

Adam Szilveszter adam at hif.hu
2003. Sze. 25., Cs, 12:18:34 CEST


Mohacsi Janos wrote:

> Miert baj az, hogy a portupgrade-et frissiteni kell? Mond azt neki, hogy
> portupgrade portupgrade

Nem ez volt vele a baj, hanem, hogy regebben elegge sok bug volt benne, 
amik miatt az adatbazisai neha tonkrementek. De ez sokat javult: a 
legutobbi verzio mar egeszen stabil.

> Szerintem nagyon nagy elore lepes a portupgrade!

Egyetertek, de azert nem minden fenekig tejtermek vele. Az egyik nagy 
hibaja, hogy a verziokezeles megbizhato mukodesehez az szukseges, hogy 
az /usr/ports/INDEX allomany up-to-date legyen. Mivel azonban ez az 
allomany mostanra mar sima ASCII text-kent is tobb megas, es elegge 
maceras kezelni, ezert a portmgr csak ritkan generalja ujra, igy mondjuk 
release-k elott, vagy ugy egyebkent kb havonta. Na most ezert ha neked 
mindig friss kell, akkor biza minden cvsup utan egy (cd /usr/ports && 
make index) esedekes, ami nalam legalabbis kb masfel ora (!) es nem 
hiszem, hogy gyorsabb proci sokat segitene rajta, egy gyorsabb diszk mar 
persze annal inkabb, mert megiscsak tobb mint 9000 port konyvtaraba kell 
belepkednie, ott fajlokat megnyitni, becsukni stb. Ez biza I/O. A friss 
INDEX-bol az INDEX.db mar valoban nagyon gyorsan megvan, de az elozot 
kivarni... persze tudom tegyem a cronba a cvsup-al egyutt :-) de ugye 
nem minden gep megy a nap 24 orajaban. (masreszt amikor leulok 
frissiteni, akkor mar legyen a ports-om a leheto legfrissebb, ne aznap 
hajnali vagy ilyesmi :-)

A masik baja pedig az, hogy nagyon arra van optimalizalva (ahogy 
egyebkent maga a ports rendszer is), hogy a renciganci csak ugy rootkent 
  kiadja, hogy

portupgrade -Rra

asszem es akkor az mindent szepen megcsinal.

Csak eppen ez nekem biztonsagi szempontbol *nagyon* nem szimpatikus, 
mert az almoskonyvben az van, hogy lehetoleg semmit se csinaljunk 
rootkent csak ha muszaj. Igy pl semmi jo ok nincs ra, hogy a distfile-ok 
letoltese fetch-el rootkent tortenjen. (Meg elkepzelni is rossz, mi 
lenne, ha egy hibat fedeznenek fel a fetch-ben vagy a libfetch-ben es 
utana ezzel siman meg lehetne rootolni az osszes FreeBSD installt amikor 
portokat vagy package-ket toltenek le.... brrr. Persze ugyanezt el lehet 
mondani a wget/apt/up2date/emerge/amit akarsz-rol is linuxon.) Ugyancsak 
nincs semmi jo ok arra, hogy a port forditasa rootkent tortenjen. Eleg 
egy kis hiba mondjuk egy Makefile-ben es maris ott lehet a gond, mert 
ugye nem ulunk ott es orizzuk a gepet minden forditas alatt. Ezert en 
kizarolag a make install lepest csinalom rootkent, minden mast nem. A 
portupgrade viszont nem igazan partner ebben sajnos. (A sima ports mar 
javul: pl most mar, ha nem rootkent futtatod a make installt, akkor 
su-zik es bekeri a jelszot, majd az install vegen szepen vissza is all 
user jogokra) Regebben egyebkent a make world-el is volt gond, es pl a 
make release meg most se megy rendesen root nelkul. De azert javul...

Egyebkent viszont tenyleg nagyon jo kis progik, plane ha valaki a 
pkgtools.conf allomanyt rendesen kihasznalja. Ha semmi masert, hat mert 
nem kell 5 sor "WITH_POTTYOSLABDA=yes" valtozot beirni mondjuk az 
mplayer forditasa ele. :-) Mar csak az a gond, hogy nem C-ben vannak 
irva, es igy egyreszt legalabb a portupgrade elso installalasa meg 
portupgrade nelkul tortenik, az adatbazisokat is csak utana tudod 
letrehozni, masreszt pedig nem sok esely van, hogy az alaprendszerbe 
keruljon a cucc. Elvileg viszont mas BSD rendszerekre is portolhatok.

Udv:
Sz.




További információk a(z) BSD levelezőlistáról