3. Csomagok és portok: szoftverek telepítése FreeBSD alatt

A szoftverek telepítésének hagyományos UNIX®-os megoldásain (a forrás letöltésén, kitömörítésén, a forráskód módosításán és lefordításán) túl az alkalmazások telepítésének további két módját is felkínálja a FreeBSD: ezek a csomagok és a portok. A rendszerhez elérhető összes port és csomag teljes listáját ezen a címen érhetjük el.

3.1. Csomagok

A csomagok lényegében előre lefordított alkalmazások, amelyek megfelelnek a Debian/Ubuntu rendszerekben megtalálható .deb, vagy a Red Hat/Fedora rendszerekben megtalálható .rpm állományoknak. A csomagok a pkg_add(1) segítségével telepíthetőek. Például az alábbi parancs az Apache 2.2 alkalmazást rakja fel:

# pkg_add /tmp/apache-2.2.6_2.tbz

Az -r kapcsolóval arra utasítjuk a pkg_add(1) programot, hogy magától töltse le és telepítse a csomagot, valamint annak függőségeit:

# pkg_add -r apache22
Fetching ftp://ftp.freebsd.org/pub/FreeBSD/ports/i386/packages-6.2-release/Latest/apache22.tbz... Done.
Fetching ftp://ftp.freebsd.org/pub/FreeBSD/ports/i386/packages-6.2-release/All/expat-2.0.0_1.tbz... Done.
Fetching ftp://ftp.freebsd.org/pub/FreeBSD/ports/i386/packages-6.2-release/All/perl-5.8.8_1.tbz... Done.
[nyissz]

To run apache www server from startup, add apache22_enable="YES"
in your /etc/rc.conf. Extra options can be found in startup script.

Megjegyzés:

Ha a FreeBSD valamelyik kiadását használjuk (6.2, 6.3, 7.0 stb., tehát CD-ről telepítettük), akkor a pkg_add -r az adott kiadáshoz tartozó csomagokat fogja letölteni. Ezek a csomagok azonban nem feltétlenül az alkalmazás legújabb verziójához tartoznak. Ezt az alapértelmezett viselkedést felül tudjuk bírálni, ha a PACKAGESITE környezeti változót az ftp://ftp.freebsd.org/pub/FreeBSD/ports/i386/packages-6-stable/Latest/ értékre állítjuk, és így például a 6.X sorozathoz készült legfrissebb csomagokat tölthetjük le.

A FreeBSD különböző változatairól a Válasszuk ki a nekünk igazán megfelelő FreeBSD verziót! című cikkben olvashatunk bővebben.

A csomagok használatával kapcsolatban a FreeBSD kézikönyvében kaphatunk részletesebb felvilágosítást, lásd A csomagrendszer használata.

3.2. Portok

A FreeBSD-ben az alkalmazások telepítésének másik módja a Portgyűjtemény használata. A Portgyűjtemény lényegében Makefile állományok és javítások gyűjteménye, amelyek a különféle alkalmazások forráskódját készítik fel arra, hogy a FreeBSD-n is használhatóak legyenek. Amikor telepítünk egy portot, akkor a rendszer először letölti az alkalmazás forráskódját, elvégzi a szükséges módosításokat, lefordítja a forrást és végül telepíti az alkalmazást (valamint mindezt megteszi az összes függősége esetében).

A Portgyűjtemény, vagy gyakran egyszerűen csak a portfa, a /usr/ports könyvtárban található. Itt nyilván feltételezzük, hogy a Portgyűjteményt is kiválasztottuk a FreeBSD telepítése során. Amennyiben a Portgyűjteményt még nem telepítettük volna, a sysinstall(8) segítségével feltehetjük a telepítőlemezről, vagy esetleg a csup(1), illetve portsnap(8) használatával letölthetjük a FreeBSD Projekt valamelyik szerveréről. A Portgyűjtemény telepítésének részletes bemutatása megtalálható a kézikönyv 4.5.1. szakaszában.

A telepítéshez (általában) csak be kell lépnünk az adott port könyvtárába és el kell indítanunk a fordítást. A következő példában az Apache 2.2 alkalmazást telepítjük a Portgyűjteményből:

# cd /usr/ports/www/apache22
# make install clean

A portok alkalmazásának egyik legnagyobb előnye, hogy a szoftverek telepítése során testre tudjuk szabni azok beállításait. Például amikor az Apache 2.2 alkalmazást portként telepítjük, a WITH_LDAP make(1) változó megadásával engedélyezhetjük a mod_ldap használatát:

# cd /usr/ports/www/apache22
# make WITH_LDAP="YES" install clean

A Portgyűjteménnyel kapcsolatos további információk tekintetében olvassuk el a FreeBSD kézikönyv A Portgyűjtemény használata című szakaszát.

3.3. Portok vagy csomagok, mégis melyiket használjam?

A csomagok tulajdonképpen előre lefordított portok, ezért igazából csak abban van köztük különbség, hogy forrásból (portok) vagy binárisan telepítjük-e az alkalmazásokat. Mindegyik módszernek megvannak a maga előnyei:

Csomagok (bináris)
  • Gyorsabb telepítés (a nagyobb alkalmazások lefordítása viszont nagyon sokáig is eltarthat).
  • Nem szükséges megértenünk a szoftverek lefordításának mikéntjét.
  • Nem kell fordítóprogramokat telepítenünk a rendszerünkre.
Portok (forrás)
  • A telepítés beállításait tetszőlegesen szabályozhatjuk. (A csomagok általában szabványos beállításokkal készülnek. A portok esetében azonban lehetőségünk van ezeket kedvünk szerint megváltoztatni, mint például további modulok fordítását kérni, vagy átállítani a telepítés alapértelmezett helyét.)
  • Ha késztetést érzünk, akkor akár a saját javításainkat is beletehetjük a forráskódba.

Ha nincsenek különös igényeink, akkor a csomagok minden bizonnyal tökéletesen megfelelnek számunkra. Amikor viszont valamit külön be szeretnénk állítani, akkor ahhoz a portokat érdemes választanunk. (Ne felejtsük el azonban, hogy ha elsősorban a csomagokhoz ragaszkodunk, de mégis módosítanunk kell valamit bennük, akkor a make package parancs kiadásával a portokból is tudunk csomagot készíteni, majd átmásolni azokat más szerverekre.)

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>.