4.5. A Portgyűjtemény használata

A most következő szakaszokban megismerhetjük azokat az alapvető utasításokat, amelyekkel a Portgyűjteményen keresztül tudunk programokat telepíteni és eltávolítani. Az ehhez használható make targetek és környezeti változók részletesebb leírását a ports(7) man oldalán lelhetjük meg.

4.5.1. A Portgyűjtemény beszerzése

Mielőtt bármelyik portot is tudnánk telepíteni, elsőként magát a Portgyűjteményt kell megszereznünk — ez lényegében a /usr/ports könyvtárban megtalálható Makefile állományok, javítások és leírások gyűjteménye.

A FreeBSD telepítése közben a sysinstall rákérdez a Portgyűjtemény telepítésére is. Ha erre nemet válaszoltunk volna, a portok gyűjteményét az alábbi módokon szerezhetjük be:

Eljárás 4.1. A CVSup használatával

A CVSup protokoll használatával viszonylag gyorsan el tudjuk érni és naprakészen tudjuk tartani a Portgyűjtemény egy példányát. A CVSup használatát alaposabban a A CVSup használata című függelékben ismerhetjük meg.

Megjegyzés:

A FreeBSD 6.2 változatától kezdve az alaprendszerben a CVSup protokollt a csup valósítja meg. A FreeBSD korábbi változatának használói ezt a programot a net/csup porton vagy csomagon keresztül tudják telepíteni.

Gondoskodjunk róla, hogy a /usr/ports üres legyen a csup első futtatása előtt! Ha más forrásból raktuk ide a Portgyűjteményt, a csup nem fogja lenyesegetni az azóta eltávolított javításokat.

  1. Futtassuk a csup programot:

    # csup -L 2 -h cvsup.FreeBSD.org /usr/share/examples/cvsup/ports-supfile

    Itt írjuk át a cvsup.FreeBSD.org címét a hozzánk legközelebb levő CVSup szerver címére. Az összes elérhető tükörszerver címét a CVSup tükrözések (A.6.7. szakasz - CVSup oldalak) című részben olvashatjuk.

    Megjegyzés:

    Ha például el akarjuk kerülni a CVSup szerver megadását a parancssorban, akkor mindenképpen a ports-supfile állományból érdemes készíteni egy saját verziót.

    1. Ebben az esetben root felhasználóként másoljuk a /usr/share/examples/cvsup/ports-supfile állományt egy új helyre, például a /root könyvtárba vagy a saját felhasználói könyvtárunkba.

    2. Szerkesszük át a ports-supfile állományt.

    3. Írjuk át a CHANGE_THIS.FreeBSD.org értéket a hozzánk legközelebb található CVSup szerverére. A CVSup tükrözések (A.6.7. szakasz - CVSup oldalak) című részben megtaláljuk az összes ilyen tükörszervert.

    4. És most indítsuk el a csup parancsot az alábbi módon:

      # csup -L 2 /root/ports-supfile
  2. A csup(1) parancs későbbi futása során már letölti és érvényesíti az észlelt változtatásokat a saját Portgyűjteményünkben, de a telepített portokat nem fogja újrafordítani.

Eljárás 4.2. A Portsnap használatával

A Portsnap egy másik módszert képvisel a Portgyűjtemény terjesztésére, a lehetőségeinek részletesebb megismeréséhez tekintsük át A Portsnap használata című szakaszt.

  1. Töltsük le a Portgyűjtemény tömörített pillanatképét a /var/db/portsnap könyvtárba. Ha akarjuk, ezután a lépés után már lekapcsolódhatunk az internetről.

    # portsnap fetch
  2. Ha még csak először futtatjuk a Portsnapet, bontsuk ki az imént letöltött állapotot a /usr/ports könyvtárba:

    # portsnap extract

    Ha viszont már korábban is létezett a /usr/ports könyvtárunk és most csak frissítjük, akkor helyette ezt a parancsot adjuk ki:

    # portsnap update
Eljárás 4.3. A sysinstall használatával

Ebben az esetben a sysinstall nevű programmal telepítjük a Portgyűjteményt valamilyen telepítőeszközről. Ilyenkor azonban a kiadás dátumának megfelelő, valószínűleg régebbi változat kerül fel. Ha rendelkezünk internet-hozzáféréssel, akkor inkább az előbb tárgyalt módszerek valamelyikét alkalmazzuk.

  1. root felhasználóként adjuk ki a sysinstall parancsot, ahogy itt is láthatjuk:

    # sysinstall
  2. Menjünk le és álljunk meg a Configure (Beállítások) menüpontnál, és nyomjunk Enter billentyűt.

  3. Menjünk le és keressük meg a Distributions (Terjesztések) menüponot, majd nyomjuk meg az Enter billentyűt.

  4. Menjünk le, válasszuk ki a ports elemet a Szóköz megnyomásával.

  5. Menjünk fel az Exit (Kilépés) ponthoz, nyomjuk meg az Enter billentyűt.

  6. Válasszuk ki a telepítéshez használni kívánt eszközt, mint például CD, FTP stb.

  7. Menjünk fel az Exit (Kilépés) menüpontig, majd nyomjuk meg az Enter billentyűt.

  8. Végezetül lépjünk ki a sysinstall programból, aminhez nyomjuk meg az X billentyűt.

4.5.2. Portok telepítése

A váz fogalma az első, amit a Portgyűjteménnyel kapcsolatban tisztázni kell. Dióhéjban összefoglalva, egy port váza azon állományok legszűkebb halmaza, amelyek elárulják a FreeBSD számára, hogyan fordítsuk le hibamentesen és hogyan telepítsük az adott programot. Ehhez minden port vázában megtalálható:

  • Egy Makefile nevű állomány. Ez tartalmazza azokat a különböző utasításokat, amelyek megmondják, hogyan kell lefordítani és hova kell telepíteni a rendszerünkben az adott alkalmazást.

  • Egy distinfo nevű állomány. Ebben található információ a port lefordításához szükséges állományok letöltéséről, valamint a letöltött állományok ellenőrzéséhez szükséges (az md5(1) és sha256(1) programokkal számolt) ellenőrzőösszegek.

  • Egy files alkönyvtár. Itt találhatjuk meg azokat a javításokat, amelyek alkalmazásával le tudjuk fordítani a programot FreeBSD-n is. Ezek a javítások többnyire bizonyos állományok módosításaira vonatkozó apró állományok formájában jelennek meg. Természetüknél fogva szöveges formátumúak, és általában olyanok szerepelnek bennük, hogy Töröld a 10. sort vagy Változtasd meg a 26. sort erre: .... Ezeket a javításokat eredetileg patcheknek (foltoknak) nevezik, vagy másképp diffeknek (eltéréseknek) is, mivel a diff(1) program segítségével hozzák ezeket létre.

    Ez a könyvtár tartalmazhat további állományokat is portok elkészítéséhez.

  • Egy pkg-descr nevű állomány. Ez a program részletesebb, gyakran többsoros bemutatása.

  • Egy pkg-plist nevű állomány. Itt találjuk meg a port által telepítendő összes állományt. Ez egyben közli a portrendszerrel is, hogy az eltávolítás során mely állományokat kell majd törölnie.

Egyes portokban szerepelhetnek még egyéb állományok is, mint például a pkg-message. Ezeket az állományokat a portrendszer különleges helyzetek kezelésére tartogatja. Ha még többet kívánunk megtudni ezekről az állományokról, vagy magukról a portokról általánosságban, lapozzuk fel a FreeBSD porterek kézikönyvét.

A port ugyan tartalmazza a forráskód lefordításához szükséges utasításokat, de konkrétan a forráskódot nem. Ezt egy CD-ről vagy az internetről tudjuk megszerezni. A forráskód általában a szerzője által kedvelt formában jelenik meg: ez gyakran egy gzip-pel tömörített tar állomány, de lehet tömörítve mással is, vagy éppen lehet tömörítetlen. A program forráskódját, legyen akármilyen formában is, nevezik distfile-nak (terjesztési állománynak). A FreeBSD portok telepítésének két módszerét tárjuk fel a következőkben.

Megjegyzés:

A portok telepítéséhez root felhasználóként kell bejelentkeznünk.

Figyelem:

Mielőtt telepítenénk bármelyik portot is, ajánlott frissíteni a Portgyűjteményünket és ellenőriznünk az adott portot a http://vuxml.freebsd.org címen található biztonsági adatbázisban.

Az újonnan telepítendő alkalmazások biztonsági sebezhetőségeinek ellenőrzését automatikussá is tehetjük a portaudit használatával. Ez a segédeszköz is a Portgyűjteményben található (ports-mgmt/portaudit). Érdemes minden port telepítése előtt letöltenünk a legfrissebb sebezhetőségi adatbázist a portaudit -F parancs kiadásával. Mellesleg az adatbázis rendszeres frissítése és ez a biztonsági felülvizsgálat a naponként elvégzendő biztonsági ellenőrzések közt is megjelenik. Ezekről részletesebben a portaudit(1) és periodic(8) man oldalakon olvashatunk.

A Portgyűjtemény feltételezi, hogy működő internet-hozzáféréssel rendelkezünk. Amennyiben ez nem így lenne, a terjesztési állományokat, forráskódokat saját magunknak kell bemásolnunk a /usr/ports/distfiles könyvtárba.

A kezdéshez lépjünk be a telepítendő port könyvtárába:

# cd /usr/ports/sysutils/lsof

Miután beléptünk az lsof könyvtárába, láthatjuk a port vázát. A következő lépés a fordítás, avagy a port buildelése (elkészítése). Ezt egy szimpla make parancs kiadásával kezdeményezhetjük. Miután megtettük, valami ilyesmit kell tapasztalnunk:

# make
>> lsof_4.57D.freebsd.tar.gz doesn't seem to exist in /usr/ports/distfiles/.
>> Attempting to fetch from ftp://lsof.itap.purdue.edu/pub/tools/unix/lsof/.
===>  Extracting for lsof-4.57
...
[ide jön a kitömörítés kimenete]
...
>> Checksum OK for lsof_4.57D.freebsd.tar.gz.
===>  Patching for lsof-4.57
===>  Applying FreeBSD patches for lsof-4.57
===>  Configuring for lsof-4.57
...
[ide jön a configure szkript kimenete]
...
===>  Building for lsof-4.57
...
[ide jön a fordítás kimenete]
...
#

A fordítás befejeztével visszakapjunk a parancssort. A soron következő lépés a port telepítése lesz. Ehhez mindössze egyetlen szóval kell kiegészítenünk a make parancs meghívását: ez a szó pedig az install (telepít) lesz.

# make install
===>  Installing for lsof-4.57
...
[a telepítés kimenete kimarad]
...
===>   Generating temporary packing list
===>   Compressing manual pages for lsof-4.57
===>   Registering installation for lsof-4.57
===>  SECURITY NOTE:
      This port has installed the following binaries which execute with
      increased privileges.
#

Miután ismét visszakaptuk a parancssort, már futtatni is tudjuk a frissen telepített alkalmazásunkat. Mivel az lsof programnak tovább jogosultságokra is szüksége van, egy erről szóló biztonsági figyelmeztetést is láthatunk. A portok létrehozása és telepítése során érdemes figyelnünk az ehhez hasonló figyelmeztetésekre.

A telepítés befejeztével nem árt törölnünk a fordításhoz felhasznált alkönyvtárat (work) is. Ezzel nemcsak a drága lemezterületet spóroljuk meg, hanem megelőzzük a port későbbi frissítése során felmerülő esetleges problémákat is.

# make clean
===>  Cleaning for lsof-4.57
#

Megjegyzés:

Az eljárásból két lépést meg is tudunk takarítani, ha egyszerűen csak a make install clean parancsot adjuk ki az előbb három lépésben tagolt make, make install és make clean parancsok helyett.

Megjegyzés:

Bizonyos parancsértelmezők a PATH környezeti változóban felsorolt könyvtárakban található parancsokat gyorsítótárban tárolják, ezzel felgyorsítva a hozzájuk tartozó végrehajtható állományok keresését. Ha történetesen ilyen parancsértelmezőt használnánk, az új portok telepítése után szükségünk lehet a rehash parancs kiadására, mivel enélkül nem tudjuk elérni a frissen telepített parancsokat. Ezt a parancsot például a tcsh és a hozzá hasonló parancsértelmezőkben találhatjuk meg, az sh és rokonainál pedig a hash -r ennek a megfelelője. A pontos információkat erről a témáról a parancsértelmezőnk dokumentációjában lelhetjük meg.

Némely külső DVD termék, mint például a FreeBSD Malltól megrendelhető FreeBSD Toolkit, tartalmazhatnak terjesztési állományokat. Ezek remekül használhatóak a Portgyűjteménnyel. Ehhez csatlakoztatnunk kell a DVD-t a /cdrom könyvtárba. Ettől eltérő csatlakozási pontok használata esetén ne felejtsük el átállítani a CD_MOUNTPTS változót sem a make számára. Ekkor a fordításhoz szükséges állományokat úgy fogja kezelni a rendszer, mintha a merevlemezünkön lennének.

Megjegyzés:

Vigyázzunk arra, hogy néhány portot nem lehet CD-n terjeszteni. Ez részben azért lehet, mert a szükséges állományok letöltéséhez, illetve újbóli terjesztéséhez ki kell tölteni valamilyen regisztrációs nyomtatványt, vagy pedig egyéb okok miatt. Tehát ha olyan portot akarunk telepíteni, ami nincs rajta a CD-n, mindenképpen rendelkeznünk kell internetkapcsolattal.

A portrendszer a fetch(1) segédprogramot használja az állományok letöltésére, amely figyelembevesz különféle környezeti változókat, ilyenek többek közt az FTP_PASSIVE_MODE, FTP_PROXY és az FTP_PASSWORD. Ha tűzfal mögött vagyunk, szükségünk lehet ezek némelyikének helyes beállítására, vagy FTP/HTTP proxyt kell használnunk. A fetch(3) man oldala tartalmazza ezen változók teljes listáját.

A make fetch azon felhasználók számára nyújt segítséget, akik nem csatlakoznak minden esetben a hálózatra. Egyszerűen csak futtassuk le a könyvtárszerkezet legtetejéről (/usr/ports) ezt a parancsot és a szükséges állományok letöltődnek nekünk. A parancs működik az alsóbb szinteken is, például a /usr/ports/net könyvtárban. Azonban legyünk tekintettel arra, hogy ha egy port függ más portoktól vagy függvénykönyvtáraktól, ez a parancs nem fogja letölteni a hozzájuk tartozó állományokat. Ilyenkor a fetch helyett használjuk a fetch-recursive targetet.

Megjegyzés:

Ha a make parancsot egy felsőbb szinten futtatjuk, akkor ezzel létre tudjuk hozni az összes vagy csak kategóriánként az összes portot, hasonlóan az előbb említett make fetch módszerhez. Ez azonban veszélyes, mivel egyes portok kizárják mások használatát. Emellett előfordulhat az is, hogy bizonyos portok ugyanazon a néven telepítenek több, tartalmukban különböző állományt.

Nagyon ritkán adódhat, hogy a felhasználónak nem a MASTER_SITES által mutatott helyekről kell beszereznie a szükséges állományokat (innen töltődnek ugyanis le). A MASTER_SITES beállítást az alábbi paranccsal bírálhatjuk felül:

# cd /usr/ports/könyvtár
# make MASTER_SITE_OVERRIDE= \
ftp://ftp.FreeBSD.org/pub/FreeBSD/ports/distfiles/ fetch

Ebben a példában a MASTER_SITES értékét a ftp.FreeBSD.org/pub/FreeBSD/ports/distfiles/ címre változtattuk meg.

Megjegyzés:

A portok némelyike lehetővé teszi (esetleg meg is követeli), hogy engedélyezzük vagy letiltsuk a készülő program bizonyos elemeit hatékonysági, biztonsági vagy egyéb testreszabási irányelvek mentén. Ilyen többek közt a www/mozilla, a security/gpgme és a mail/sylpheed-claws. Ha elérhetőek ilyen beállítási lehetőségek, arról a rendszer egy üzenetben tájékoztat minket.

4.5.2.1. Az alapértelmezett könyvtárak felülbírálása

Néha hasznos (vagy kötelező) lehet eltérő munka- és célkönyvtárak alkalmazása. A WRKDIRPREFIX és a PREFIX változókkal ezek alapértelmezéseit tudjuk megváltoztatni. Például a

# make WRKDIRPREFIX=/usr/home/example/ports install

parancs a portot a /usr/home/example/ports könyvtárban fogja lefordítani és az eredményét a /usr/local könyvtárba telepíti. A

# make PREFIX=/usr/home/example/local install

parancs hatására a port a /usr/ports könyvtárban készül el és a /usr/home/example/local könyvtárba települ.

Természetesen a

# make WRKDIRPREFIX=../ports PREFIX=../local install

parancs ötvözi az előbbi kettőt (amelyet most túlságosan is hosszú lenne kiírni, de vélhetően sejthető belőle az alapötlet).

Lehetőség van ezen változókat a saját környezetünkben is beállítani. Ha erre lenne szükségünk, nézzünk utána az ezzel kapcsolatos teendőnek a parancsértelmezőnk man oldalán.

4.5.2.2. Az imake használatáról

Bizonyos portok az (X Window System részeként megjelenő) imake segédprogramra támaszkodnak, ahol viszont nem működik a PREFIX átállítása és mindenképpen a /usr/X11R6 könyvtárba akar telepíteni. Ehhez hasonlóan egyes Perl portok figyelmen kívül hagyják a PREFIX változót és közvetlenül a Perl fájába kerülnek. Az ilyen portok esetén nagyon nehéz vagy szinte lehetetlen betartatni a PREFIX használatát.

4.5.2.3. A portok újrakonfigurálása

Egyes portok lefordítása előtt megjelenik egy ncurses alapú menü, ahol ki tudunk választani bizonyos fordítási beállításokat. Gyakran előfordul, hogy a port lefordítása után a felhasználók szeretnék újra előhozni ezt a menüt és megadni vagy kivenni bizonyos beállításokat. Erre több mód is kínálkozik. Egyik ilyen lehetőség az, ha belépünk a port könyvtárába és kiadjuk a make config parancsot, amivel lényegében ismét előcsaljuk a beállításokat összefoglaló menüt. Másik ilyen lehetőség a make showconfig alkalmazása, amivel a porthoz tartozó összes beállítást tudjuk egyszerre megjeleníteni. Ezek mellett még használható a make rmconfig parancs is, amivel törölni tudjuk az összes eddigi beállítást és így újrakezdhetjük a port konfigurációját. Ezek és a többi ilyen opció a ports(7) man oldalon kerül bővebb kifejtésre.

4.5.3. A portok eltávolítása

Most már tudjuk, miként lehet portokat telepíteni, azonban valószínűleg még az is érdekelhet minket, hogy miként kell ezeket eltávolítani abban az esetben, ha például később meggondolnánk magunkat velük kapcsolatban. A korábban telepített példaportot fogjuk eltávolítani (a figyelmetlenek kedvéért megemlítjük, hogy ez az lsof volt). A portok eltávolítása teljesen egybevág a csomagokéval (erről a csomagokról szóló részben beszéltünk), mivel ekkor is használhatjuk a pkg_delete(1) parancsot:

# pkg_delete lsof-4.57

4.5.4. A portok frissítése

Először is a pkg_version(1) parancs felhasználásával listázzuk ki azokat a portokat, amik felett már eljárt az idő és a Portgyűjteményben található belőlük újabb verzió:

# pkg_version -v

4.5.4.1. A /usr/ports/UPDATING állomány

Miután frissítettük a Portgyűjteményünket, de még mielőtt megpróbálnánk akármelyik portot is frissíteni, érdemes egy pillantást vetnünk a /usr/ports/UPDATING állományra. Itt megtalálhatóak azok a problémák és a hozzájuk tartozó lépések, amelyekkel a felhasználóknak a portok frissítése során szembe kell nézniük, beleértve az állományformátumok, a konfigurációs állományok helyének megváltozását vagy egyéb olyan módosításokat, amik a korábbi verziókkal összeférhetetlenséget szülhetnek.

Amennyiben az UPDATING állomány tartalma ellentmondana az itt olvasottakkal, mindig az UPDATING állományban leírtak az irányadóak.

4.5.4.2. Portok frissítése a portupgrade használatával

A portupgrade nevű segédprogramot a portok egyszerűbb frissítésére találták ki, és a ports-mgmt/portupgrade portban található meg. A make install clean paranccsal bármelyik más porthoz hasonlóan telepíthetjük:

# cd /usr/ports/ports-mgmt/portupgrade
# make install clean

A pkgdb -F paranccsal fésültessük át a telepített portok listáját, és javítsuk az általa jelentett ellentmondásokat. Érdemes rendszeresen elvégezni ezt, lehetőleg minden frissítés előtt.

Miután kiadtuk a portupgrade -a parancsot, a portupgrade nekilát frissíteni az összes elavult portot a rendszerünkben. Ha minden egyes frissítést külön meg szeretnénk erősíteni, használjuk a -i kapcsolót is.

# portupgrade -ai

Ha nem akarjuk az összes portot frissíteni, csupán egy bizonyos alkalmazásét, használjuk a portupgrade pkgname paraméterezést. A -R kapcsoló megadásával a portupgrade először frissíti az adott alkalmazás függőségeit.

# portupgrade -R firefox

Ha a művelet során csomagokat kívánunk használni portok helyett, adjuk meg a -P kapcsolót. Ennek révén a portupgrade megkeresi a csomagokat a PKG_PATH környezeti változóban felsorolt könyvtárakban vagy ha itt nem találja, letölti ezeket egy távoli szerverről. Amennyiben a csomagokat sem helyben, sem pedig a távoli szerveren nem találja, a portupgrade helyettük portokat fog használni. Ilyenkor a portok használatát a -PP kapcsoló beállításával lehet elkerülni:

# portupgrade -PP gnome2

Csak a terjesztési állományok (vagy a -P esetén csomagok) letöltéséhez használjuk a -F kapcsolót. Mindezekről részletesebben a portupgrade(1) man oldalon olvashatunk.

4.5.4.3. Portok frissítése a Portmanager használatával

A Portmanager egy másik hasznos segédprogram a portok könnyű frissítéséhez. A ports-mgmt/portmanager porton keresztül érhető el:

# cd /usr/ports/ports-mgmt/portmanager
# make install clean

Használatával az összes telepített port egyetlen paranccsal frissíthető:

# portmanager -u

Ha a Portmanager minden egyes lépését külön meg kívánjuk erősíteni, akkor a -ui kapcsolókat se felejtsük el megadni. A Portmanager emellett új portok telepítésére is használható. Eltérően a make install clean parancsban megszokottaktól, a kiválasztott port összes függőségét még a fordítás és a telepítés előtt fogja frissíteni.

# portmanager x11/gnome2

Ha bármilyen gondot tapasztalnánk a kiválasztott port függőségeit illetően, a Portmanagert felkérhetjük az összes függőség helyes sorrendben történő újrafordítására. Amikor befejezte, a problémás portot is újra létrehozza.

# portmanager graphics/gimp -f

Bővebb információkért lásd portmanager(1).

4.5.4.4. Portok frissítése a Portmaster használatával

A Portmaster szintén a portok frissítésére alkalmas segédprogram. A Portmaster esetében a hangsúly az alaprendszerben is megtalálható eszközök használatán van (tehát nem függ semmilyen más porttól) és a /var/db/pkg/ könyvtárban található információk alapján dönti el, hogy milyen portokat kell frissítenie. A ports-mgmt/portmaster portból érhető el:

# cd /usr/ports/ports-mgmt/portmaster
# make install clean

A Portmaster a portokat az alábbi négy kategória valamelyikébe sorolja be:

  • Gyökér (root) portok (nem függenek semmitől, semmi sem függ tőlük)

  • Törzs (trunk) portok (nem függenek semmitől, de mások függenek tőlük)

  • Ág (branch) portok (vannak függőségeik és mások is függenek tőlük)

  • Levél (leaf) portok (vannak függőségeik, de semmi sem függ tőlük)

A következő paranccsal le tudjuk kérni az összes telepített portot és az -L kapcsolóval frissítéseket keresni hozzájuk:

# portmaster -L
===>>> Root ports (No dependencies, not depended on)
===>>> ispell-3.2.06_18
===>>> screen-4.0.3
        ===>>> New version available: screen-4.0.3_1
===>>> tcpflow-0.21_1
===>>> 7 root ports
...
===>>> Branch ports (Have dependencies, are depended on)
===>>> apache-2.2.3
        ===>>> New version available: apache-2.2.8
...
===>>> Leaf ports (Have dependencies, not depended on)
===>>> automake-1.9.6_2
===>>> bash-3.1.17
        ===>>> New version available: bash-3.2.33
...
===>>> 32 leaf ports

===>>> 137 total installed ports
        ===>>> 83 have new versions available

Az összes telepített port egyetlen egyszerű paranccsal frissíthető:

# portmaster -a

Megjegyzés:

A Portmaster alapértelmezés szerint minden egyes törlendő korábbi portról biztonsági másolatot készít. Amikor az új változat telepítése sikeresen lezajlott, akkor a Portmaster ezt a másolatot megsemmisíti. A -b paraméterrel azonban megkérhetjük, hogy ne törölje le a biztonsági mentést. Az -i megadásával a Portmaster interaktív módban indul el, és minden port frissítése előtt a felhasználó megerősítését fogja kérni.

Amennyiben valamilyen hiba lép fel a frissítés folyamán, az -f opció megadásával kérhetjük az összes port frissítését és újrafordítását is:

# portmaster -af

A Portmaster használatával új portokat is fel tudunk telepíteni a rendszerre úgy, hogy azok függőségeit is igyekszik frissíteni a lefordításuk előtt:

# portmaster shells/bash

A további részleteket a portmaster(8) man oldalon találjuk.

4.5.5. A portok tárigénye

A Portgyűjtemény idővel egyre több helyet fog elfoglalni a merevlemezünkön. Miután sikeresen létrehoztunk és telepítettünk egy szoftvert a hozzá tartozó portból, érdemes mindig eltakarítanunk magunk után a work könyvtárban menet közben keletkezett átmeneti állományokat a make clean parancs használatával. Az egész Portgyűjteményt egyetlen mozdulattal ezzel a paranccsal tudjuk végigsepregetni:

# portsclean -C

Az idő előrehaladtával a distfiles könyvtárban is rengeteg régi forrás tud felhalmazódni. Ezeket eltávolíthatjuk kézzel, vagy az alábbi parancs segítségével törölhetjük az összes olyan terjesztési állományt, amelyekre már egyetlen port sem hivatkozik:

# portsclean -D

Vagy törölhetjük az összes olyan terjesztési állományt, amelyre egyetlen pillanatnyilag feltelepített port sem hivatkozik a rendszerünkben:

# portsclean -DD

Megjegyzés:

A portsclean segédprogram a portupgrade programcsomag része.

Ne felejtsük el eltávolítani azokat a portokat, amikre már nincs szükségünk a továbbiakban. Ebben a feladatban egy jól használható segédeszköz lehet a segítségünkre, a ports-mgmt/pkg_cutleaves port.

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