A FreeBSD-nek két fejlesztési ága van: a FreeBSD.current és a FreeBSD-STABLE. Ebben a szakaszban mindegyikükről monduk pár szót, és megmutatjuk, miként lehet az adott ághoz igazítani a rendszerünk frissítését. Először a FreeBSD-CURRENT, majd a FreeBSD-STABLE változata kerül tárgyalásra.
Ahogy arról már az imént is szó esett, nem szabad elfelejtenünk, hogy a FreeBSD-CURRENT a FreeBSD fejlesztésének “frontvonala”. Emiatt a FreeBSD-CURRENT használóinak szakmailag jólképzetteknek kell lenniük, és sosem szabad visszariadniuk a használat közben felmerülő rendszerszintű problémák önálló megoldásától. Ha korábban még nem foglalkoztunk FreeBSD-vel, kétszer is gondoljuk meg a telepítését!
A FreeBSD-CURRENT a FreeBSD mögött álló legfrissebb forráskódot képviseli. Itt találkozhatunk különféle olyan fejlesztés alatt álló részekkel, kísérletezésekkel és átmeneti megoldásokkal, amelyek nem feltétlenül kerülnek bele a szoftver következő hivatalos kiadásába. Noha a FreeBSD fejlesztői a FreeBSD-CURRENT forráskódját naponta fordítják, adódhatnak olyan időszakok, amikor a források mégsem használhatóak maradéktalanul. Az ilyen gondokat általában a lehető leggyorsabban igyekeznek megoldani, azonban attól függően, hogy éppen a forráskód melyik verzióját sikerült kifogni, a FreeBSD-CURRENT használata kész katasztrófa vagy akár a fejlődésben igazi továbblépés is lehet.
A FreeBSD-CURRENT használata elsősorban az alábbi 3 csoportot érinti:
A FreeBSD közösség azon tagjait, akik aktívan dolgoznak a forrásfa valamelyik részén, és mindazokat, akik számára a “legfrissebb” verzió használata feltétlen elvárás.
A FreeBSD közösség azon tagjait, akik aktívan tesztelnek, és a FreeBSD-CURRENT kordában tartásához hajlandóak időt áldozni a menet közben felbukkanó problémák megoldására. Vannak olyanok is, akik a FreeBSD változásaival és fejlesztési irányával kapcsolatban kívánnak javaslatokat tenni, melyeket javítások és módosítások formájában tesznek közzé.
Mindazokat, akik pusztán kíváncsiak a fejlesztésben zajló eseményekre, vagy hivatkozási szándékkal töltik le a legfrissebb forrásokat (például csak nézegetik, de nem futtatják). Az ilyen emberek esetenként megjegyzéseket fűznek a fejlesztéshez vagy kódot küldenek be.
Az olyan kiadás előtt álló funkciók kipróbálásának egyszerű módja, amelyekről hallottunk, hogy milyen remek újdonságokat hoznak és mi akarunk lenni az elsők, akik ezt használni is fogják. Ne feledjük azonban, hogy amikor mindenki előtt kezdünk el használni egy újítást, mi leszünk egyben az elsők is, akik szembesülnek a benne rejlő hibákkal.
A gyors hibajavítások eszköze. A FreeBSD-CURRENT szinte bármelyik változata pontosan ugyanakkora valószínűséggel hoz magával új hibákat, mint ahogy eltünteti a régieket.
Akármilyen értelemben is “hivatalosan támogatott”. Képességeinktől függően őszintén igyekszünk a lehető legtöbbet megtenni a 3 “törvényes” FreeBSD-CURRENT csoportba tartozó emberekért, azonban egyszerűen nincs időnk komolyabb segítségnyújtást adni. Ez viszont nem azt jelenti, hogy komisz és fukar emberek vagyunk, akik utálnak segíteni a másiknak (de máskülönben nem tudna fejlődni a FreeBSD). Csupán a FreeBSD fejlesztése közben fizikailag képtelenek vagyunk a naponta érkező ezernyi üzenetet rendre megválaszolni! A FreeBSD előremozdítása és a kísérleti stádiumban álló kóddal kapcsolatos kérdések megválaszolása közül a fejlesztők általában az elsőt részesítik előnyben.
Iratkozzunk fel az freebsd-current és svn-src-head listákra. Ez nem egyszerűen hasznos, hanem elengedhetetlen. Ha nem vagyunk a freebsd-current listán, akkor nem fogjuk látni a rendszer aktuális állapotára vonatkozó megjegyzéseket, és így esetleg feleslegesen öljük az időnket olyan problémák megoldásába, amelyeket mások már korábban megoldottak. Ami viszont ennél is fontosabb, hogy így elszalasztjuk a rendszerünk folyamatos életbentartására vonatkozó létfontosságú bejelentéseket.
Az svn-src-head listán láthatjuk az a forráskód egyes változtatásaihoz tartozó naplóbejegyzéseket, a hozzájuk tartozó esetleges mellékhatások ismertetésével együtt.
A listákra vagy a http://lists.FreeBSD.org/mailman/listinfo oldalon található többi lista valamelyikére úgy tudunk feliratkozni, ha rákattintunk a nevére. A további lépésekről ezt követően itt kapunk értesítést. Amennyiben a teljes forrásfa változásai érdekelnek minket, javasoljuk az svn-src-all lista olvasását.
A tükrözések egyikéről töltsük le a FreeBSD forrását. Erre két mód is kínálkozik:
Használjuk a cvsup programot a /usr/share/examples/cvsup könyvtárban található standard-supfile állománnyal. Ez a leginkább ajánlott módszer, hiszen így csak egyszer kell letölteni az egész gyűjteményt, majd ezután már csak a változásokat. Sokan a cvsup parancsot a cron parancson keresztül adják ki, és ezzel mindig automatikusan frissítik a forrásaikat. A cvsup működését a fentebb említett minta supfile állomány megfelelő módosításával tudjuk a saját környezetünkhöz igazítani.
Megjegyzés: Az említett standard-supfile állomány eredetileg nem a FreeBSD-CURRENT, hanem inkább a FreeBSD biztonsági problémáit érintő javítások követésére használatos. A FreeBSD-CURRENT forrásainak eléréséhez a következő sort kell kicserélnünk ebben az állományban:
*default release=cvs tag=RELENG_X_YErre:
*default release=cvs tag=.A tag paramétereként megadható egyéb címkékről a kézikönyv CVS címkék szakaszában olvashatunk.
Használjuk a CTM alkalmazás nyújtotta lehetőségeket. Amennyiben nagyon rossz netkapcsolattal rendelkezünk (drága vagy csak levelezésre használható) a CTM megoldást jelenthet számunkra. Legyünk azonban tekintettel arra, hogy helyenként zűrös lehet a használata és néha hibás állományokat gyárt. Emiatt viszont csak ritkán használják, így előfordulhat, hogy hosszabb ideig nem is működik. A 9600 bps vagy annál nagyobb sebességű kapcsolatok esetén ezért inkább a CVSup használatát javasoljuk.
Ha nem csak böngészésre, hanem fordításra is szedjük a forrásokat, mindig töltsük le a FreeBSD-CURRENT egészét, ne csak egyes részeit. Ez azzal magyarázandó, hogy a forráskód bizonyos részei más helyeken található részektől is függenek, és ezért az önálló fordításuk szinte garantáltan gondot fog okozni.
A FreeBSD-CURRENT lefordítása előtt figyelmesen olvassuk át a /usr/src könyvtárban található Makefile állományt. A frissítési folyamat részeként először mindenképpen érdemes telepíteni egy új rendszermagot és újrafordítani az alaprendszert. Olvassuk el a FreeBSD-CURRENT levelezési lista üzeneteit és a /usr/src/UPDATING állományt, ahol megtalálhatjuk az ezzel kapcsolatos legújabb információkat, melyek egy-egy újabb kiadás közeledtével egyre fontosabbá válnak.
Foglalkozzunk vele! Ha már a FreeBSD-CURRENT változatát használjuk, ne legyünk restek véleményt formálni róla, különösen abban az esetben, ha továbbfejlesztésekről vagy hibákra van szó. Leginkább a forráskóddal együtt érkező javaslatoknak szoktak örülni a fejlesztők!
A FreeBSD-STABLE az a fejlesztési ág, ahonnan az egyes kiadások származnak. Ebbe az ágba már más ütemben kerülnek a változások, mivel általánosan elfogadott, hogy ide a korábban már kipróbált módosítások vándorolnak át a FreeBSD-CURRENT ágból. Ez azonban még mindig csak egy fejlesztési ág, ami arra utal, hogy a FreeBSD-STABLE által adott pillanatban képviselt források nem feltétlenül felelnek meg bizonyos célokra. Ez csupán egy újabb fejlesztési nyomvonal, nem pedig a végfelhasználók kenyere.
Ha szeretnénk figyelemmel kísérni vagy valamilyen módon kiegészíteni a FreeBSD fejlesztési folyamatát, különösen a FreeBSD következő “nagyobb” kiadását illetően, akkor érdemes követnünk a FreeBSD-STABLE forrásait.
Habár a FreeBSD-STABLE ágba is bekerülnek a biztonsági jellegű javítások, ettől még nem kell feltétlenül ezt követnünk. A FreeBSD-hez kiadott biztonsági figyelmeztetések mindig leírják, hogyan kell javítani a hibát az érintett kiadásokban [1] , azonban az egész fejlesztési ágat felesleges csak biztonsági okból kifolyólag követni, mivel így olyan változások is kerülhetnek a rendszerbe, amire nincs szükségünk.
Habár igyekszünk gondoskodni a FreeBSD-STABLE ágban található források lefordíthatóságáról és működőképességéről, nem minden esetben szavatolható. Ráadásul mivel a FreeBSD-STABLE ágba kerülő kódokat először a FreeBSD-CURRENT ágban fejlesztik ki, és mivel a FreeBSD-STABLE felhasználói többen vannak a FreeBSD-CURRENT változaténál, ezért szinte elkerülhetetlen, hogy ilyenkor a FreeBSD-STABLE változatban bizonyos hibák és szélsőséges esetek be ne következzenek, amelyek a FreeBSD-CURRENT használata során még nem buktak ki.
Ezért a FreeBSD-STABLE ág vakon követését senkinek sem ajánljuk, és különösen fontos, hogy éles szervereken előzetes kimerítő tesztelések nélkül ne futassunk FreeBSD-STABLE rendszert.
Ha ehhez nem rendelkezünk elegendő erőforrással, akkor egyszerűen használjuk a FreeBSD legfrissebb kiadását, és az egyes kiadások között pedig bináris frissítéssel közlekedjünk.
Iratkozzunk fel a freebsd-stable listára. Ezen keresztül értesülhetünk a FreeBSD-STABLE használata során felmerülő fordítási függőségekről vagy más, külön figyelmet igénylő problémákról. Gyakran ezen a levelezési listán elmélkednek a fejlesztők a vitatott javításokról vagy frissítésekről, amibe a felhasználók is beleszólhatnak, ha a szóbanforgó változtatással kapcsolatban bármilyen problémájuk vagy ötletünk van.
Iratkozzunk fel a követni kívánt ághoz tartozó SVN levelezési listára. Például ha a 7-STABLE ág változásait követjük, akkor az svn-src-stable-7 listára érdemes feliratkoznunk. Ennek segítségével elolvashatjuk az egyes változtatásokhoz tartozó naplóbejegyzéseket, a rájuk vonatkozó esetleges mellékhatások ismertetésével együtt.
Ezekre, valamint a http://lists.FreeBSD.org/mailman/listinfo címen elérhető listák valamelyikére úgy tudunk feliratkozni, ha a nevükre kattintunk. A további teendők ezután itt jelennek meg.
Amennyiben egy új rendszert akarunk telepíteni és a FreeBSD-STABLE havonta készült pillanatképeit akarjuk rajta futtatni, akkor erről bővebb felvilágosítást a Pillanatképek honlapján találhatunk (angolul). Emellett a legfrissebb FreeBSD-STABLE kiadást telepíthetjük a tükrözések valamelyikéről is, majd innen a lentebb található utasítások szerint tudunk hozzáférni a FreeBSD-STABLE forráskódjának legfrissebb változatához.
Ha már fut a gépünkön a FreeBSD egy korábbi kiadása, és ezt akarjuk forráson keresztül frissíteni, akkor ezt a FreeBSD tükrözéseivel könnyedén megtehetjük. Két módon is:
Használjuk a cvsup programot a /usr/share/examples/cvsup könyvtárból származó stable-supfile állománnyal. Ez a leginkább ajánlott módszer, mivel így csak egyszer kell letölteni a teljes gyűjteményt, utána már csak a hozzá tartozó változtatásokra van szükségünk. A cvsup parancsot sokan a cron segítségével futtatják, és ezzel automatikusan frissülnek a forrásainak. A cvsup működését környezetünkhöz az előbb említett minta supfile megfelelő módosításával tudjuk behangolni.
Használjuk a CTM programot. Ha nincs olcsó vagy gyors internetkapcsolatunk, akkor érdemes ezt a módszert választani.
Alapvetően azonban ha gyorsan szeretnénk hozzájutni a forrásokhoz és a sávszélesség nem meghatározó tényező, akkor helyette válasszuk a cvsup vagy az ftp használatát, és csak minden más esetben CTM-et.
Mielőtt lefordítanánk a FreeBSD-STABLE változatát, figyelmesen olvassuk át a /usr/src könyvtárban levő Makefile állományt. Az átállási folyamat részeként először minden bizonnyal telepítenünk kell egy új rendszermagot és újra kell fordítanunk az alaprendszert. A FreeBSD-STABLE levelezési lista valamint a /usr/src/UPDATING elolvasásából értesülhetünk azokról az egyéb, gyakran nagyon fontos változásokról, melyek elengedhetetlenek lesznek a következő kiadás használatához.
[1] | Ez azért nem teljesen igaz. A régebbi FreeBSD kiadásokat ugyan nem támogathatjuk a végtelenségig, de általában így is több évig foglalkozunk velük. A FreeBSD régebbi kiadásaival kapcsolatos jelenleg érvényes biztonsági házirend részletes bemutatása a http://www.FreeBSD.org/security/ oldalon olvasható (angolul). |
Ha kérdése van a FreeBSD-vel kapcsolatban, a következő
címre írhat (angolul): <freebsd-questions@FreeBSD.org>.
Ha ezzel a dokumentummal kapcsolatban van kérdése,
kérjük erre a címre írjon: <gabor@FreeBSD.org>.