GNU/Linux >> LINUX-Kenntnisse >  >> FreeBSD

23 Nützliche PKG-Befehlsbeispiele zum Verwalten von Paketen in FreeBSD

In diesem Tutorial erklären wir, wie man vorkompilierte Binärpaketanwendungen in FreeBSD verwaltet mit Hilfe des Paketverwaltungstools namens PKG über Ports Softwaresammlungs-Repository.

Anschlüsse Das Repository bietet die notwendigen Tools zum Kompilieren von Anwendungen aus dem Quellcode sowie deren Abhängigkeiten, verwaltet aber auch eine riesige Sammlung vorkompilierter Pakete, derzeit mehr als 24.000 Pakete, die auf einem FreeBSD-System mit pkg installiert werden können Befehl.

Anforderungen:

  1. FreeBSD 11.x-Installation

Suchen und finden Sie Anwendungen im Ports-Tree in FreeBSD

1. Ports-Repositories sind in FreeBSD in Kategorien unterteilt , wobei jede Kategorie durch ein Verzeichnis in /usr/ports/ dargestellt wird Dateisystempfad.

Eine einfache Auflistung des Verzeichnisses /usr/ports/ zeigt alle verfügbaren Kategorien an, wie im folgenden Screenshot gezeigt.

# ls /usr/ports/

2. Um alle verfügbaren Anwendungen zu sehen, die zu einer Kategorie gehören, geben Sie einen ls-Befehl für das Kategorieverzeichnis ein.

Angenommen, Sie möchten alle verfügbaren Softwarepakete anzeigen, die die Datenbankkategorie zu bieten hat, führen Sie den folgenden Befehl in der Konsole aus. Leiten Sie das Ergebnis über den Befehl less weiter, um einfacher durch die Ausgabe zu navigieren.

# ls /usr/ports/databases/ | less

3. Um zu sehen, wie viele Pakete in einer Kategorie verfügbar sind, listen Sie das Kategorieverzeichnis auf und leiten Sie das Ergebnis per wc-Befehl weiter, wie im folgenden Beispiel gezeigt.

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

Wie Sie im obigen Screenshot sehen können, enthält die FreeBSD-Datenbankkategorie mehr als 1000 vorkompilierte Datenbankpakete.

4. Um zu sehen, ob eine bestimmte Anwendung in einer Kategorie verfügbar ist, verwenden Sie erneut den Befehl ls und filtern das Ergebnis mit dem Dienstprogramm grep, um nach einer benutzerdefinierten Anwendung zu suchen.

In den folgenden Beispielen wird nach mongodb gesucht Datenbank verfügbare Pakete und Clam Antivirus Sicherheitspakete.

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

Wie Sie sehen können, können mehrere Versionen einer Anwendung in FreeBSD-Portierungen verfügbar sein.

5. Falls Sie nicht wissen, zu welcher Kategorie eine Software gehört, können Sie einen anderen Ansatz verwenden, um die Softwarekategorie zu finden. Verwenden Sie den Shell-Globbing-Platzhalter * Zeichen, um den gesamten Ports-Verzeichnisbaum nach einem Muster zu durchsuchen.

Angenommen, Sie möchten sehen, in welcher Kategorie Sie die Softwarepakete für mailx finden verwenden, können Sie den folgenden Befehl ausführen.

# ls /usr/ports/*/*mailx

6. Eine andere Methode zum Suchen eines Softwarepakets und der Kategorie, zu der das Paket gehört, ist die Verwendung des Befehls locate gegen ein Zeichenfolgenmuster.

Bevor Sie den Suchstring ausführen, sollten Sie die Locate-Datenbank mit dem folgenden Befehl aktualisieren.

# /usr/libexec/locate.updatedb

7. Nachdem Sie die Locate-Datenbank aktualisiert haben, suchen Sie nach einem bestimmten Softwarepaket, indem Sie ein Schlüsselwortmuster aus dem Paketnamen verwenden. Wenn Sie beispielsweise nach mailx suchen möchten verwenden, können Sie den folgenden Befehl ausführen.

# locate mailx

Wie Sie sehen können, gibt es zwei Pakete für mailx Dienstprogramm, die sich beide unter /usr/ports/mail/ befinden Kategorie.

8. Ähnlich wie beim Suchen eines Pakets mit dem Befehl locate können Sie auch den Befehl whereis verwenden, um die Anwendungskategorie anzuzeigen.

# whereis mailx

Software per PKG-Befehl in FreeBSD suchen

9. Die einfachste Methode, eine Anwendung in FreeBSD zu suchen und zu finden, ist die Befehlszeile der PKG-Paketverwaltung. Um die Binärpakete nach einer Anwendung zu durchsuchen, zum Beispiel postfix Software, geben Sie den folgenden Befehl ein.

# pkg search package_name

10. Falls Sie sehen möchten, zu welcher Kategorie das Paket gehört, führen Sie denselben Befehl wie oben mit -o aus Flag, wie in den folgenden Beispielen dargestellt.

# pkg search -o package_name

Software in FreeBSD verwalten

11. Um ein vorkompiliertes Paket aus Ports-Repositories in FreeBSD zu installieren, geben Sie das pkg aus Befehl, wie im folgenden Beispiel dargestellt.

# pkg install package_name

12. Geben Sie den folgenden Befehl ein, um Informationen zu einem bestimmten installierten Paket im System abzufragen.

# pkg info package_name

13. Die Paketinfo Der Befehlsschalter zeigt die Meldung „Keine Pakete, die mit dem Paketnamen übereinstimmen ” wenn das Softwarepaket noch nicht auf Ihrem System installiert ist, wie im folgenden Screenshot gezeigt.

# pkg info tcpdump

14. Um alle installierten Softwarepakete in FreeBSD aufzulisten, führen Sie pkg info aus Befehl ohne Optionen oder Schalter.

Der grep-Filter gegen pkg info Der Befehl kann Ihnen zeigen, ob bestimmte Pakete oder Anwendungen bereits im System vorhanden sind, wie im folgenden Beispiel dargestellt.

# pkg info | grep ftp

15. Um ein Paket aus dem System zu entfernen, führen Sie die folgenden Befehle aus.

# pkg remove package_name
or
# pkg delete package_name

16. Falls Sie das Entfernen oder Ändern eines installierten Pakets verhindern möchten, können Sie die Sperre verwenden Schalter für den Befehl pkg, wie im Bild unten gezeigt.

# pkg lock package_name

Entsperren Der Befehlsschalter pkg ermöglicht es Ihnen, die Paketbeschränkung aufzuheben und das Paket zu ändern oder zu deinstallieren.

# pkg unlock package_name

17. Um herauszufinden, zu welchem ​​installierten Paket ein Befehl oder eine ausführbare Datei gehört, geben Sie den folgenden Befehl ein, wie in den folgenden Screenshot-Beispielen dargestellt.

# pkg which /path/to/executable

18. Um ein Paket lokal von Ports herunterzuladen Repository, ohne das Paket auf dem System zu installieren, führen Sie den pkg-Befehl aus mit dem Fetch wechseln.

Die heruntergeladene Paketbinärdatei, die eine komprimierte .txz ist Datei, finden Sie unter /var/cache/pkg/ Systempfad.

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

19. Um zu überprüfen, ob die installierten Pakete häufigen Schwachstellen oder Fehlern ausgesetzt sind, führen Sie den folgenden Befehl aus.

# pkg audit -F

Um eine Liste alter Schwachstellen anzuzeigen, die ein Softwarepaket in früheren Versionen betreffen, geben Sie den folgenden Befehl ein.

# pkg audit package_name

Nachfolgend finden Sie einen Auszug aller bekannten Schwachstellen, die in Nginx gefunden wurden Webserver kompiliert für FreeBSD.

# pkg audit nginx
Schwachstellen in Software finden
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
...

Pflege das Paketverwaltungsprogramm in FreeBSD

20. Um sicherzustellen, dass Software-Repositories und alle Ihre installierten Pakete mit den neuesten Versionen oder Sicherheitspatches auf dem neuesten Stand sind, führen Sie die folgenden Befehle aus.

# pkg update
# pkg upgrade

21. Führen Sie den folgenden Befehl aus, um Remote-Repositories und lokale Paketstatistiken anzuzeigen, z. B. wie viele Pakete in Ihrem System installiert sind und wie viel Speicherplatz durch installierte Software belegt ist.

# pkg stats

22. Um alle Abhängigkeiten zu löschen, die von installierten Paketen im System zurückgelassen wurden, geben Sie den folgenden Befehl ein.

# pkg autoremove

23. Führen Sie den folgenden Befehl aus, um das lokale Cache-Verzeichnis der Paketverwaltung für remote heruntergeladene Pakete automatisch zu löschen. Sie sollten zuerst die Liste der lokal heruntergeladenen Binärpakete überprüfen.

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

Das ist alles! Wie Sie sehen, FreeBSD verfügt über ein beeindruckendes Paketsammlungssystem, ähnlich den Paketverwaltungstools, die in Linux-Distributionen wie Yum, RPM und APT verwendet werden, mit einer großen Anzahl vorkompilierter Software-Binärdateien und einer einfachen und effektiven Befehlszeile, pkg, die zur Verwaltung verwendet werden kann Software in anständiger Weise.


FreeBSD
  1. 12 nützliche Wget-Befehlsbeispiele unter Linux

  2. 15 nützliche „Sockstat-Befehlsbeispiele“, um offene Ports in FreeBSD zu finden

  3. ls-Befehl unter Linux:17 nützliche Beispiele erklärt

  4. Nützliche Beispiele für den Docker-ps-Befehl

  5. Apt get-Befehlsbeispiele zum Verwalten von Paketen unter Ubuntu/Debian

Alpine Linux Apk-Befehlsbeispiele

11 Nützliche Beispiele für Linux-Datumsbefehle

Nützliche Wget-Befehlsbeispiele im Linux-System

15 Nützliche Beispiele für Touch-Befehle im Linux-System

12 Nützliche Beispiele für Linux-Datumsbefehle

ip-Befehlsbeispiele zum Verwalten von Netzwerken in Linux