4.5. A Portgyűjtemény használata
Vissza | 4. fejezet - Alkalmazások telepítése: csomagok és portok | Előre

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

Vissza | Fel | Előre
4.4. A csomagrendszer használata | Főoldal | 4.6. Telepítés utáni teendők

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