Weboldal keresés

23 Hasznos PKG parancspéldák a FreeBSD csomagok kezelésére


Ebben az oktatóanyagban elmagyarázzuk, hogyan kell kezelni az előre lefordított bináris csomagalkalmazásokat FreeBSD alatt a PKG nevű csomagkezelő eszköz segítségével a Portokon keresztül. > szoftvergyűjtemény-tár.

A Ports repository biztosítja a szükséges eszközöket az alkalmazások forráskódból történő fordításához, a függőségeik mellett, de egy hatalmas, előre lefordított csomaggyűjteményt is karbantart, jelenleg több mint 24 000 csomagot, amely a pkg paranccsal telepíthető FreeBSD rendszerre.

Követelmények:

  1. FreeBSD 11.x telepítés

Alkalmazások keresése és keresése a FreeBSD Portfában

1. A porttárolók kategóriákra vannak osztva a FreeBSD-ben, mindegyik kategóriát egy könyvtár képviseli a /usr/ports/ fájlrendszer elérési útjában.

A /usr/ports/ könyvtár egyszerű listája megjeleníti az összes elérhető kategóriát, az alábbi képernyőképen látható módon.

ls /usr/ports/

2. A kategóriához tartozó összes elérhető alkalmazás megtekintéséhez adjon ki egy ls parancsot a kategóriakönyvtárba.

Tegyük fel, hogy meg akarja jeleníteni az összes elérhető szoftvercsomagot, amelyet az adatbázis-kategória kínál, hajtsa végre az alábbi parancsot a konzolon. Vezesse az eredményt kevesebb paranccsal, hogy könnyebben navigáljon a kimeneten.

ls /usr/ports/databases/ | less

3. Annak megtekintéséhez, hogy hány csomag érhető el egy kategóriában, sorolja fel a kategóriakönyvtárat, és az eredményt a wc paranccsal vezesse az alábbi példában látható módon.

ls /usr/ports/databases/ | wc -l

Amint a fenti képernyőképen is látható, a FreeBSD adatbázis-kategória több mint 1000 adatbázis-előre kompatibilis csomagot tartalmaz.

4. Ha meg szeretné tudni, hogy egy adott alkalmazás elérhető-e egy kategóriában, ismét használja az ls parancsot, és szűrje le az eredményt a grep segédprogrammal, hogy egyéni alkalmazást keressen.

Az alábbi példákban a mongodb adatbázis elérhető csomagjaira és a clam antivirus biztonsági csomagokra fog keresni.

ls /usr/ports/databases/ | grep mongodb
ls /usr/ports/security/ | grep clam

Amint látja, egy alkalmazásnak több verziója is elérhető a FreeBSD portokban.

5. Ha nem tudja, hogy egy szoftver melyik kategóriába tartozik, más módszert is használhat a szoftverkategória megkeresésére. Használja a shell globbing helyettesítő karaktert a * karakterrel, ha a teljes Port könyvtárfán keresztül keres mintát.

Feltételezve, hogy látni szeretné, hogy milyen kategóriában találja meg a mailx segédprogram szoftvercsomagjait, futtathatja a következő parancsot.

ls /usr/ports/*/*mailx

6. Egy másik módszer a szoftvercsomag és a csomag kategóriájának keresésére a locate parancs használata egy karakterlánc-mintával szemben.

A keresési karakterlánc végrehajtása előtt frissítse a helyadatbázist a következő paranccsal.

/usr/libexec/locate.updatedb

7. Miután frissítette a helyadatbázist, keressen egy adott szoftvercsomagot a csomag nevéből származó kulcsszómintával. Például, ha meg szeretné keresni a mailx segédprogramot, futtassa az alábbi parancsot.

locate mailx

Amint látja, két csomag érhető el a mailx segédprogramhoz, mindkettő a /usr/ports/mail/ kategóriában található.

8. Hasonlóan a locate paranccsal rendelkező csomagok kereséséhez, használhatja a whereis parancsot is az alkalmazáskategória megtekintéséhez.

whereis mailx

Szoftver keresése a PKG Command segítségével a FreeBSD-ben

9. A FreeBSD-ben a legegyszerűbb módszer a PKG csomagkezelési parancssoron keresztül keresni és találni egy alkalmazást. Ha a bináris csomagokban keresni szeretne egy alkalmazást, például a postfix szoftvert, adja ki az alábbi parancsot.

pkg search package_name

10. Ha látni szeretné, hogy a csomag melyik kategóriába tartozik, futtassa a fenti parancsot a -o kapcsolóval, az alábbi példák szerint.

pkg search -o package_name

Szoftver kezelése FreeBSD-ben

11. A FreeBSD Ports tárolóiból előre lefordított csomag telepítéséhez adja ki a pkg parancsot az alábbi példában látható módon.

pkg install package_name

12. Ha a rendszerben egy adott telepített csomagra szeretne információkat lekérdezni, adja ki az alábbi parancsot.

pkg info package_name

13. A pkg info parancskapcsoló a „Nincs csomag(ok) megfelel a csomagnévnek” üzenetet jeleníti meg, ha a szoftvercsomag még nincs telepítve az alábbi képernyőképen látható módon.

pkg info tcpdump

14. A FreeBSD-ben telepített összes szoftvercsomag listázásához hajtsa végre a pkg info parancsot opciók és kapcsolók nélkül.

A pkg info parancs elleni grep szűrő megmutathatja, hogy bizonyos csomagok vagy alkalmazások már jelen vannak-e a rendszerben, ahogy az alábbi példában is látható.

pkg info | grep ftp

15. Egy csomag rendszerből való eltávolításához adja ki az alábbi parancsokat.

pkg remove package_name
or
pkg delete package_name

16. Ha meg szeretné akadályozni egy telepített csomag eltávolítását vagy módosítását, használhatja a lock kapcsolót a pkg parancshoz, ahogy az az alábbi képen látható.

pkg lock package_name

A Feloldás pkg parancskapcsoló lehetővé teszi a csomagkorlátozás eltávolítását, valamint a csomag módosítását vagy eltávolítását.

pkg unlock package_name

17. Annak érdekében, hogy megtudja, melyik telepített csomaghoz tartozik egy parancs vagy egy végrehajtható fájl, adja ki a következő parancsot az alábbi képernyőképes példák szerint.

pkg which /path/to/executable

18. Ha a csomagot a Portok tárhelyből helyileg szeretné letölteni anélkül, hogy telepítené a csomagot a rendszerre, futtassa a pkg parancsot a letöltéskapcsolót.

A letöltött bináris csomag, amely egy tömörített .txz fájl, a /var/cache/pkg/ rendszerútvonalon található.

pkg fetch package_name
ls /var/cache/pkg/ | grep package_name

19. Adja ki az alábbi parancsot annak ellenőrzéséhez, hogy a telepített csomagok ki vannak-e téve gyakori sebezhetőségeknek vagy hibáknak.

pkg audit -F

A korábbi verziók szoftvercsomagját érintő régi sebezhetőségek listájának megtekintéséhez adja ki az alábbi parancsot.

pkg audit package_name

Az alábbiakban a FreeBSD-hez fordított Nginx webszerver összes ismert sebezhetőségének kivonata látható.

pkg audit nginx
nginx is vulnerable:
Affected versions:
<= 0.8.41 : > 1.4.4,1
nginx -- Request line parsing vulnerability
CVE: CVE-2013-4547
WWW: https://vuxml.FreeBSD.org/freebsd/94b6264a-5140-11e3-8b22-f0def16c5c1b.html

nginx is vulnerable:
Affected versions:
< 1.0.15
nginx -- Buffer overflow in the ngx_http_mp4_module
CVE: CVE-2012-2089
WWW: https://vuxml.FreeBSD.org/freebsd/0c14dfa7-879e-11e1-a2a0-00500802d8f7.html

nginx is vulnerable:
Affected versions:
< 1.4.7
nginx -- SPDY heap buffer overflow
CVE: CVE-2014-0133
WWW: https://vuxml.FreeBSD.org/freebsd/fc28df92-b233-11e3-99ca-f0def16c5c1b.html
...

Csomagkezelő segédprogram karbantartása a FreeBSD-ben

20. Annak biztosítása érdekében, hogy a szoftvertárak és az összes telepített csomag naprakész legyen a legújabb verziókkal vagy biztonsági javításokkal, adja ki a következő parancsokat.

pkg update
pkg upgrade

21. A távoli tárolók és a helyi csomagok statisztikáinak megjelenítéséhez, például, hogy hány csomag van telepítve a rendszerben, és mennyi lemezterületet tölt fel a telepített szoftver, hajtsa végre a következő parancsot.

pkg stats

22. A rendszerben telepített csomagok által hátrahagyott összes függőség törléséhez adja ki az alábbi parancsot.

pkg autoremove

23. A távolról letöltött csomagok csomagkezelési helyi gyorsítótárának automatikus törléséhez futtassa az alábbi parancsot. Először ellenőrizze a helyileg letöltött bináris csomagok listáját.

pkg clean -a -n  
pkg clean -a -y

Ez minden! Amint láthatja, a FreeBSD lenyűgöző csomaggyűjtő rendszerrel rendelkezik, hasonlóan a Linux disztribúciókban használt csomagkezelő eszközökhöz, mint a Yum, RPM és APT, hatalmas számú előre lefordított szoftverbinárissal, valamint egy egyszerű és hatékony parancssor, a pkg, amellyel a szoftver megfelelő módon kezelhető.