[BSD] corrupted ports tree?

Adam Szilveszter sziszi at bsd.hu
2006. Nov. 30., Cs, 20:22:36 CET


On Thu, Nov 30, 2006 at 06:25:14PM +0100, Székvölgyi Péter wrote:
> nem épp a csomag és ports ütközések miatt csinálnak
> ports tag-et minden FreeBSD verziónál?
> 
> pl.: RELEASE_6_1_0 tag-et használták amikor csinálták
> a 6.1-release csomagokat?
> 
> ezt csak amiatt kérdezem, mert én így használom jelenleg
> ha egy gépen csomagokból pakolom fel a dolgokat, de
> mivel az nem teljes kell egy-két dolog a portsból.

Sajnos ha ezt teszed, akkor pl még ma is azokat a port verziókat
használod, amik a 6.1 megjelenésekor voltak, ami több hátránnyal is jár:

- Ha peched van, akkor a régi verzióhoz tartozó distfile már nem is
  elérhető a mirrorokon és ezért nem tudod feltenni portból.
- Vígan ott fog figyelni az összes security bug, amit azóta már
  javítottak, de te nem fogod megkapni a javítást.

Magyarán, a ports egy folyamatosan mozgó rendszer, nincsenek benne az
egyes release-khez tartozó branchek, amiket folyamatosan
karbantartanának. Nincs tehát olyan, hogy valaki mondjuk felteszi a
6.1-et, az azzal adott ports fát használja, aztán pedig minden marad
ebben az állásban, csak mondjuk a javítások kerülnek a branchre. Ez egy
fontos különbség a FreeBSD és mondjuk szinte az összes Linux terjesztés
között. Ennek az az oka, hogy a FreeBSD verzionált release-be csak az
alaprendszer részei tartoznak, a ports viszont nem része sem az
alaprendszernek, sem a release-nek, hanem csak úgy van, és csak azért
adnak package-ket a release CD-ken, hogy kényelmesebb legyen feltenni
őket.

A ports fa folyamatosan változik, tehát ha valaki pl folyamatosan
frissíti és aztán használja a portupgrade-et, akkor mindig a
legfrissebbet fogja használni, nem valami "lefagyasztott" környezetet.

Ennek van hátránya is, pl az, hogy mindenképpen jönnek a verzió upgradek
is a portsnál, nem csak mondjuk a security javítások, de ugyanez előny
is: FreeBSD-nél nincs értelme annak a Linux terjesztések esetén
"élet-halál kérdésnek", hogy "melyik verzióban van benne a Firefox 2?"
Vagy: "Szívesen használnám X terjesztést, de abban csak az OpenOffice
1.x van benne" mert itt simán azt teszel fel a mindig aktuális portsból
amit akarsz, függetlenül attól, hogy milyen verziójú alaprendszert
használsz. (Ez alól csak akkor van kivétel, ha valami nagy ugrás miatt
tényleg kernel/lib kompatibilitási gondok lennének, de ez ritka. Mostanában
pl már egyre nehezebb az új cuccokat FreeBSD 4.x alá fordítani, ezért
ott már a fent írtak csak korlátozottan igazak. De pl 5.x, vagy 6.x vagy
7.x - ilyen még nincs, ez fejlesztői verzió - ugyanazt a ports fát
használja és mindegyiken megy, majdnem egyformán. Ez szerintem egy
óriási bónusz a FreeBSD-nél, de nyilván ha valaki pl hozzászokott Linux
terjesztéseknél, hogy egy új csomagot tök ugyanazokkal a függőségekkel
fordítanak le, amik az eredeti release-hez tartoztak, és ezért simán
csak úgy be lehet tenni a régi helyére, akkor az itt csodállkozni fog.)

Remélem így érthetőbb lettem...

Sz.
-- 
BSD: An Operating System, Not a Religion.



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