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.
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 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.
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.
Ha kérdése van a FreeBSD-vel kapcsolatban, a
következő címre írhat (angolul):
<questions@FreeBSD.org>.
Ha ezzel a dokumentummal kapcsolatban van kérdése, kérjük erre a címre írjon:
<gabor@FreeBSD.org>.