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