23 Nëtzlech PKG Kommando Beispiller fir Packagen a FreeBSD ze managen


An dësem Tutorial wäerte mir erkläre wéi Dir pre-kompiléiert binär Package Uwendungen am FreeBSD verwalten mat der Hëllef vum Package Management Tool mam Numm PKG iwwer Ports Software Collection Repository.

Ports Repository bitt déi néideg Tools fir Uwendungen aus Quellcode ze kompiléieren, nieft hiren Ofhängegkeeten, awer hält och eng rieseg Sammlung vu vir-kompiléierten Packagen, aktuell méi wéi 24.000 Packagen, déi op engem FreeBSD System mat pkg Kommando installéiert kënne ginn.

  1. FreeBSD 11.x Installatioun

Sich a Fannt Uwendungen am Ports Tree am FreeBSD

1. Ports Repositories sinn a Kategorien a FreeBSD opgedeelt, all Kategorie gëtt duerch e Verzeechnes am /usr/ports/ Dateisystem Wee vertruede.

Eng einfach Oplëschtung vum Verzeechnes /usr/ports/ weist all verfügbare Kategorien wéi am Screenshot hei ënnen.

# ls /usr/ports/

2. Fir all verfügbare Applikatiounen ze gesinn, déi zu enger Kategorie gehéieren, gitt e ls Kommando géint Kategorie Verzeechnes.

Ugeholl datt Dir all verfügbare Softwarepakete wëllt weisen, déi d'Datebankkategorie ze bidden huet, fuert de Kommando ënnen an der Konsole aus. Pipe d'Resultat iwwer manner Kommando fir méi einfach duerch d'Ausgab ze navigéieren.

# ls /usr/ports/databases/ | less

3. Fir ze kucken wéivill Packagen an enger Kategorie verfügbar sinn, lëscht d'Kategorieverzeichnis a päift d'Resultat iwwer wc Kommando wéi am Beispill hei ënnen.

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

Wéi Dir am uewe genannte Screenshot gesitt, hält d'FreeBSD Datebank Kategorie méi wéi 1000 Datebank pre-kompatibel Packagen.

4. Fir ze kucken ob eng spezifesch Applikatioun an enger Kategorie verfügbar ass, benotzt nach eng Kéier de grep Utility fir no enger personaliséierter Applikatioun ze sichen.

An de Beispiller hei ënnen sichen no mongodb Datebank verfügbare Packagen a Clam Antivirus Sécherheetspakete.

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

Wéi Dir gesitt, kënne verschidde Versioune vun enger Applikatioun an FreeBSD Ports verfügbar sinn.

5. Am Fall wou Dir wësst net wéi eng Kategorie eng Software gehéiert, kënnt Dir eng aner Approche benotzen fir d'Softwarekategorie ze fannen. Benotzt Shell globbing Wildcard * Charakter fir no engem Muster duerch de ganze Ports Verzeichnisbaum ze sichen.

Unzehuelen datt Dir wëllt kucken a wéi enger Kategorie Dir d'Software Packagen fir Mailx Utility fannt, kënnt Dir de folgende Kommando ausféieren.

# ls /usr/ports/*/*mailx

6. Eng aner Method fir e Software Package ze sichen an d'Kategorie zu där de Package gehéiert, ass andeems Dir de locate Kommando géint e Stringmuster benotzt.

Ier Dir d'Sichstring ausféiert, sollt Dir d'Locatiounsdatebank mat dem folgenden Kommando aktualiséieren.

# /usr/libexec/locate.updatedb

7. Nodeems Dir d'lokal Datebank aktualiséiert hutt, sicht no engem spezifesche Softwarepaket andeems Dir e Schlësselwuertmuster vum Numm vum Package benotzt. Zum Beispill, wann Dir no der Mailx Utility sichen wëllt, kënnt Dir de Kommando ënnen ausféieren.

# locate mailx

Wéi Dir kënnt gesinn, ginn et zwee Packagen verfügbar fir Mailx Utility, béid an /usr/ports/mail/ Kategorie.

8. Ähnlech wéi e Package mat deem Kommando ze fannen, fir d'Applikatiounskategorie ze gesinn.

# whereis mailx

Sich Software iwwer PKG Kommando an FreeBSD

9. Déi einfachst Method fir eng Applikatioun am FreeBSD ze sichen an ze fannen ass iwwer PKG Package Management Kommandozeil. Fir d'binär Pakete fir eng Applikatioun ze sichen, zum Beispill Postfix Software, gitt de Kommando ënnen.

# pkg search package_name

10. Am Fall wou Dir wëllt gesinn zu wéi enger Kategorie de Package gehéiert, fuert deeselwechte Kommando wéi uewen mam -o Fändel, wéi an de Beispiller hei ënnen illustréiert.

# pkg search -o package_name

Verwalte Software an FreeBSD

11. Fir e pre-kompiléierten Package vu Ports Repositories an FreeBSD z'installéieren, gitt de pkg Kommando aus wéi am Beispill hei ënnen illustréiert.

# pkg install package_name

12. Fir Informatiounen iwwer e spezifescht installéiert Package am System ze froen, gitt de Kommando hei ënnen.

# pkg info package_name

13. De pkg info Kommando-Schalter wäert d'Message Keng Packagen(en) passend Package_name weisen, wann de Software Package net schonn an Ärem System installéiert ass, wéi am Screenshot hei ënnen.

# pkg info tcpdump

14. Fir all installéiert Software Packagen am FreeBSD ze lëschten, fuert pkg info Kommando aus ouni Optioun oder Schalter.

De grep Filter géint pkg info Kommando kann Iech weisen ob e puer spezifesch Packagen oder Uwendungen schonn am System präsent sinn, wéi am Beispill hei ënnen illustréiert.

# pkg info | grep ftp

15. Fir e Package aus dem System ze läschen, gitt déi folgend Kommandoen aus.

# pkg remove package_name
or
# pkg delete package_name

16. Am Fall wou Dir d'Ewechhuele oder d'Ännerung vun engem installéierte Package verhënnere wëllt, kënnt Dir de Sperrschalter fir pkg Kommando benotzen, wéi am Bild hei ënnen.

# pkg lock package_name

Spär pkg Kommandoschalter erlaabt Iech d'Packagebeschränkung ze läschen an de Package z'änneren oder z'installéieren.

# pkg unlock package_name

17. Fir erauszefannen, zu wéi engem installéierte Pak e Kommando oder eng ausführbar Datei gehéiert, gitt de folgende Kommando aus, wéi an de folgende Screenshot Beispiller illustréiert.

# pkg which /path/to/executable

18. Fir lokal e Paket vum Ports Repository erofzelueden, ouni de Package op de System z'installéieren, fuert pkg Kommando mam Fetch Switch.

De erofgeluede Package binär, deen eng kompriméiert .txz Datei ass, kann am /var/cache/pkg/ Systemwee fonnt ginn.

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

19. Fir ze kontrolléieren ob déi installéiert Packagen u gemeinsame Schwachstelle oder Bugs ausgesat sinn, gitt de Kommando hei ënnen.

# pkg audit -F

Fir eng Lëscht vun alen Schwächen ze gesinn, déi e Softwarepaket a fréiere Versioune beaflossen, gitt de Kommando ënnen.

# pkg audit package_name

Drënner ass en Auszich vun all bekannte Schwachstelle, déi am Nginx Webserver fonnt goufen, kompiléiert fir FreeBSD.

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

Erhalen Package Management Utility am FreeBSD

20. Fir sécherzestellen datt d'Software Repositories an all Är installéiert Packagen aktuell sinn mat de leschte Versiounen oder Sécherheetspatcher, gitt déi folgend Kommandoen.

# pkg update
# pkg upgrade

21. Fir Remote Repositories a lokal Paketstatistiken ze weisen, wéi wéi vill Packagen an Ärem System installéiert sinn a wéi vill Disk Space duerch installéiert Software gefëllt ass, fuert de folgende Kommando aus.

# pkg stats

22. Fir all Ofhängegkeeten ze läschen, déi vun installéierte Packagen am System hannerlooss sinn, gitt de Kommando ënnen.

# pkg autoremove

23. Fir automatesch Paketverwaltung lokal Cache Verzeechnes fir Fern erofgeluede Packagen ze läschen, fuert de Kommando ënnen. Dir sollt éischt d'Lëscht vun lokal erofgeluede binäre Pakete verifizéieren.

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

Dat ass alles! Wéi Dir gesitt, huet FreeBSD en beandrockende Package Sammlungssystem, ähnlech wéi Package Management Tools, déi a Linux Verdeelungen benotzt ginn wéi APT mat enger riseger Unzuel vu pre-kompiléierten Software Binären an enger einfacher an effektiver Kommandozeil, pkg, déi benotzt ka ginn verwalten d'Software op eng anstänneg Manéier.