freebsd-update vs portupgrade

Fórumok

Üdv,

Egy FreeBSD 7.0-t konfigolgatok a notimon egy ideje. Ports-ból teszem a csomagokat és minden jól megy. Most már itt van a 7.1, szeretnék upgrade-elni. Az alábbi módon fogok pár nap múlva:

freebsd-update -r 7.1-RELEASE upgrade

Olvasgatom a FreeBSD kézikönyvet a rendszer-frissítésről. Ami nem világos, hogy mit frissít a freebsd-update? Ez csak a rendszer-magot frissíti, és utána ráereszthetem a portupgrade-et, vagy ha port-ot használok, akkor ne használjam a freebsd-update-et?

Az világos hogy port-ból fordítok és nem telepítek régebbi csomagot bináris pkg-ból.
A freebsd-update-ről még a manual-ban is elég kevésnek tűnik a doksi.

Tudnátok segíteni abban is esetleg, hogy ki melyik port-frissítő parancsot pereferálja? (portupgrade és portmaster között vacilálok, de portmaster jobban tetszik olyan szempontból amit a doksi is ír, hogy a rendszer pkg adatállománya alapján jegyzi a csomagokat és nem kell külön db).

Előre is köszi.

Hozzászólások

freebsd-update csak alaprendszert frissít, ports-ból (vagy akár bináris csomagból) felrakott nem-alaprendszeri dolgokat nem. Érdemes eldönteni, hogy jó-e neked a valamilyen release vagy esetleg forrásból akarsz utánamenni a dolgoknak. Ha nem érdekel a STABLE/CURRENT ág, és ha nem hackeled össze-vissza a rendszered, akkor teljesen jó. Nekem az tűnk gyanúsnak, hogy talán nem szereti a freebsd-update és a c(v)sup-os frissítést, de ez csak egyetlen gép tapasztalata, ami azért nem bizonyított tény.

Én régebben az (akkor szinte egyedüli) portupgrade -et használtam, aztán másfél-két éve (?) áttértem portsnap+portmaster-re. Nincs Ruby-függősége, nem lomha, hanem villámgyors, a fejlesztője készséges és tolja bele a szükséges (és a szükségtelen?) funkciókat, és igen nagy előnye, hogy nem kell plusz adatbázis a működéséhez. Doksit olvasni nem árt, de eléggé stabilan megy. Persze ez is csak egy vélemény.

Nekem elég a stable release. De a csomagokat forrásból akarom / kell feltennem, mert ugye a bináris pkg-ben lévő verziók régiek és ráadásul sok minden nincs benne (ugye a licenc feltételek miatt -úgy olvastam).

portsnap + portmaster -t akkor megpróbálom. (most olvastam portmanager-ről, hogy az tud visszaállítani a portmaster-rel ellentétben + problémánál "okosabban" továbbmegy, míg portmaster csomagot készít és azt teszi fel, ami nem visszaállítható).

Köszi a véleményt.

Akkor az alábbi körvonalazódik nekem:


freebsd-update fetch
freebsd-update install
portsnap fetch
portsnap update
portmanager -u | portmaster -a

...ha jól gondolom a csomag frissítést :)

> míg portmaster csomagot készít és azt teszi fel, ami nem visszaállítható

???? Ezt hol olvastad? A portmaster (nagyvonalakban) egyszeruen :
cd /usr/ports/x/y
make all
pkg_create -b y.elozo-verzio
pkg_delete -f y.elozo-verzio
make install clean

Azaz ha csak nem kered meg ra, hogy ne csinaljon backup-ot az elozo csomagbol (-B opcio, asszem), akkor barmikor visszaallithato. A frissen telepitettbol viszont pont hogy nem csinal csomagot. Annyi trukk persze van benne, hogy (nem neztem hogyan) mielott pkg_delete -tel letorli az elozo verziot, keszit egy listat arrol, hogy kik fuggtek tole, es amikor felrakja az uj verziot, ezt a fuggosegi fat ujraepiti.

Köszi a segítséget.

Egy olyanban tudnál még segíteni, hogy hogyan tudom eltávolítani vajon a nem használt függőségeket?

Vagy másképpen fogalmazva, ha pl. telepítem a k3b-t, akkor ha már nem kell, hogyan tudom úgy levenni pkg_delete-tel (vagy máshogy) hogy törölje a függőségeket is? (hasonlóan a Debian-os autoremove-hoz)

Erre még nem jöttem rá :)
Az megy hogy ha egy csomagot rekurzívan törlök pkg_delete-tel, akkor az "felfelé" leszedi azokat a csomagokat, amik tőle függnek. Nekem a fordítottja kellene :)

Hát a kérdést nem teljesen értem, de amire tudok válaszolni: FreeBSD alatt ports-ból csak CURRENT van, azaz folyamatosan frissítik. Az összes korlátozás amit hozzátettek, hogy minden RELEASE környékén van egy befagyasztási időszak, amikor elvben csak bizonyos fajta ports-javítások kerülnek be a fába (ez pl. most a 7.1 előtt nekem nagyon nem így tűnt, de mindegy), és aztán ebből a fagyasztott állapotból készült csomagok lesznek az ahhoz a RELEASE-hez tartozó készlet - és ezt aztán nem is frissítik nagyon.

> ...és aztán ebből a fagyasztott állapotból készült csomagok lesznek az ahhoz a RELEASE-hez tartozó készlet - és ezt aztán nem is frissítik nagyon...

Készlet alatt a bináris csomagokat érted?

Ha így van egyébként, hogy a ports folyamatosan frissül akkor gyakorlatilag számomra máris érdektelen. Ezen amúgy meglepődtem.

De akkor ha jól értem, és pl. a 7.1-es pkg binárisok a fagyasztott ports-ból készülnek, akkor ok. Mert nekem az kellene. Tehát én fagyasztott stabil 3rd party-kat akarok. Csak úgy vettem észre hogy licenc okok miatt nem minden ports-ból van bináris.

Most azonnal megnézem a pkg-k és ports-ok verzióját..

> Készlet alatt a bináris csomagokat érted?
Igen.

> a ports folyamatosan frissül akkor gyakorlatilag számomra máris érdektelen
Miért? Ez azt jelenti, hogy van egy adott pillanatbeli állapot, ezt a ports-állapotot tudod te telepítéskor feltenni, ha azt választod a telepítés közben, hogy kell a ports. Ebből az állapotból készülnek csomagok - nyilván azokból, amikből jogi okokból egyáltalán lehet. Ha valami nincs meg bináris csomagban, akkor ebből a "fagyasztott" ports-ból tudod feltenni. Ha nem változtatsz semmit, akkor elvben pontosan fog illeszkedni a bináris csomagokhoz és kb ugyanazt a bináris csomagot kapnád belőle magad is, ha a cd /usr/ports/X/Y ; make package parancsokat adnád ki.
Ezen akkor szoktak (?) változtatni a felhasználók, valamit más paraméterekkel akarnak fordítani, mint ahogy "gyárilag" van, illetve ha valamiért szeretnének frisebb csomagokat, mint ami ahhoz a verzióhoz van. Ez utóbbi esetben ports-frissítés után lehet játszani.

Nagyon köszi az eddigi segítségedet, most már kezd letisztulni a kép :)

Leellenőriztem néhány program verzió számát és úgy van ahogy mondtad, hogy akkor az aktuális ports-ból fagyaszthatják, mert most a 7.1-ben stimmel a pkg bináris verzió a ports verzióval.

Akkor úgy néz ki pkg binárist fogok használni elsődlegesen, mivel nem az új verzió hanem inkább a stabilitás fontos számomra. De ha kell valamiből CURRENT, akkor jó hogy ports-ból is feltehetem bármikor.

Köszi mégegyszer.