Ha korábban már használtunk UNIX® rendszereket, valószínűleg ismerjük a külső alkalmazások telepítésének jellemező menetét:
Töltsük le a szoftvert, amelyet vagy forráskód vagy pedig bináris formátumban érhetünk el.
Bontsuk ki az alkalmazás letöltött változatát (ez általában a compress(1), gzip(1) vagy a bzip2(1) által tömörített tar állomány).
Keressük meg a dokumentációt (többnyire az INSTALL vagy a README állományban található, vagy a doc/ alkönyvtárban) és olvassuk el benne, hogyan tudjuk telepíteni a szoftvert.
Ha a szoftver forrását töltöttük le, fordítsuk le. Elképzelhető, hogy ennek során szerkesztenünk kell a Makefile állományt vagy lefuttatnunk a configure szkriptet, illetve más lépéseket is el kell végeznünk.
Próbáljuk a ki szoftvert, majd telepítsük.
Ez annak a forgatókönyve, amikor minden hiba nélkül lezajlik. Megeshet azonban, ha olyan szoftvert telepítünk, amelyet nem kifejezetten a FreeBSD-hez terveztek, akkor javítanunk kell a forráskódban a szoftver megfelelő működéséhez.
Ha sikerül működésre bírni, folytathatjuk FreeBSD-n a szoftver telepítését a “megszokott” módon. Habár a FreeBSD erre a célra két lehetőséget is felkínál, amivel rengeteg erőfeszítéstől megkímélhet minket: ezek a csomagok és a portok. Az írás pillanatában közel 20 000 külső alkalmazás érhető el ilyen formában.
Egy adott alkalmazás esetén a hozzá tartozó FreeBSD-s csomag mindössze egyetlen letöltendő állományt takar. A csomag tartalmazza az alkalmazás telepítéséhez szükséges összes parancs előre lefordított változtatát, ugyanígy magát a dokumentációt is. A letöltött csomagokat a FreeBSD csomagkezelő parancsaival vehetjük használatba: ezek a pkg_add(1), pkg_delete(1), pkg_info(1) és így tovább. Az új alkalmazások telepítése ennek köszönhetően egyetlen paranccsal elvégezhető.
Egy alkalmazás FreeBSD-s portja mögött lényegében állományok gyűjteménye áll, amelyek abban segítenek, hogy automatikusan tudjunk telepíteni a forráskód felhasználásával.
Ne felejtsük el, hogy normális esetben számos lépcsőt végig kell járnunk egy program sajátkezű lefordításához (letöltés, kitömörítés, javítgatás, fordítás, telepítés). A portot alkotó állományok tartalmazzák az összes olyan szükséges információt, amelyek átengedik ezt a feladatot a rendszernek. Kiadunk néhány egyszerű parancsot és az alkalmazás magától letöltődik, kitömörítődik, módosítja a forráskódját, lefordul és települ.
Valójában a portrendszer használható olyan csomagok létrehozására is, amelyeket később a pkg_add és többi hozzá hasonló, hamarosan részletesebben is bemutatandó csomagkezelő paranccsal is kezelni tudunk.
A csomagok és a portok egyaránt képesek függőségeket kezelni. Tegyük fel, hogy egy olyan alkalmazást akarunk telepíteni, amely egy adott függvénykönyvtár meglététől függ a rendszeren. Az alkalmazás és a könyvtár is elérhető FreeBSD portként és csomagként. Akár a pkg_add parancsot, akár a portrendszert használjuk az alkalmazás hozzáadására, mind a kettő észre fogja venni, hogy a szükséges könyvtárt még nem telepítettük, ezért először azt fogja automatikusan telepíteni.
Tudván, hogy a két említett megoldás szinte teljesen egyenértékű, felmerülhet a kérdés: a FreeBSD mégis miért rendelkezik mindkettővel? A csomagoknak és a portoknak is megvannak a maguk előnyei, és hogy a kettő közül melyiket használjuk, csak az egyéni ízlésünkön múlik.
A csomagok használatának előnyei
Egy csomag általában kisebb, mint az alkalmazás forráskódját tartalmazó tömörített tar állomány.
A csomagokat nem kell fordítani. Nagyobb alkalmazások, mint például a Mozilla, KDE vagy GNOME esetén ez kulcsfontosságú lehet, főleg abban az esetben, ha a rendszerünk ehhez nem eléggé gyors.
A csomagok használata nem várja el tőlünk, hogy behatóbban ismerjük, miként is kell FreeBSD-n szoftvereket lefordítani.
A portok használatának előnyei
A csomagokat általános esetben igen óvatos beállításokkal készítik el, hiszen a lehető legtöbb rendszeren működőképesnek kell lenniük. Ha viszont portból telepítünk, nyugodtan hangolhatjuk úgy a beállításokat, hogy (például) a Pentium® 4 vagy az Athlon processzoroknak kedvező kódot hozzanak létre.
Bizonyos alkalmazások fordítás idején állítandó beállításokkal rendelkeznek arról, hogy mire lesznek képesek és mire nem. Például az Apache beépített konfigurációs opciók széles kelléktárával rendelkezik. Amikor viszont portból hozzuk létre, nem kell elfogadnunk ezek alapértelmezett értékeit, hanem a saját igényeinknek megfelelően átállíthatjuk ezeket.
Egyes esetekben több különféle beállítást tükröző csomag is létezhet ugyanahhoz az alkalmazáshoz. Például a Ghostscript elérhető ghostscript és ghostscript-nox11 csomagként is attól függően, hogy telepítettük-e az X11 szervert. Ez természetesen egy meglehetősen durva kijátszása a csomagrendszernek, és gyorsan lehetetlenné is válik a használata, ha az adott alkalmazás egy-két fordítási idejű beállításnál többel rendelkezik.
Néhány szoftver licencelése tiltja a bináris terjesztést. Ezért ezek a szoftverek kizárólag csak forráskód formájában továbbíthatóak.
Néhányan nem bíznak meg a bináris verziókban. Ha látjuk a forráskódot is, akkor (elméletben) át tudjuk nézni, és mi magunk is megkereshetjük a benne lappangó hibákat.
Ha vannak saját javításaink, csak a forráskód birtokában tudjuk ezeket felhasználni.
Sokan szeretik, ha egyszerűen csak “ott van” a szoftverek forráskódja. Ha éppen unatkoznak, beléjük tudnak nézni, ötleteket és kódot tudnak belőlük meríteni (persze csak akkor, ha ezt a licenc megengedi), vagy tovább tudják ezeket fejleszteni, orvosolni tudják a hibáikat stb.
A portok frissítéséről a FreeBSD ports levelezési lista és a FreeBSD ports bugs levelezési lista valamelyikéről szerezhetünk naprakész információkat.
Figyelem: Mielőtt bármelyik alkalmazást is telepítenénk, érdemes meglátogatnunk az http://vuxml.freebsd.org oldalt, ahol a hozzá tartozó ismert biztonsági problémákról olvashatunk.
Telepíthetjük a ports-mgmt/portaudit programot is, amely automatikusan ellenőrzi a telepített alkalmazások ismert sebezhetőségeit. Ez az ellenőrzés egyébként megejthető minden port lefordítása előtt is. Ezalatt a portaudit -F -a parancs kiadásával ellenőrizhetjük utólag a telepített csomagokat.
A fejezet fennmaradó részében megmutatjuk, hogyan használjuk FreeBSD-ben a csomagokat és portokat külső alkalmazások telepítésére és karbantartására.
Előző | Tartalom | Következő |
Alkalmazások telepítése: csomagok és portok | Fel | A számunkra szükséges alkalmazások felkutatása |
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>.