Seit FreeBSD 9.1 steht ein neues Paketverwaltungswerkzeug mit dem Namen pkg (auch genannt pkgng) zur Verfügung. Es bietet gegenüber dem alten (pkg_ genannt) einige Vorteile. So können beispielsweise mit pkg endlich verwaiste Pakete automatisch entfernt werden. Pkg selbst ist nicht in der Basisinstallation vorhanden sondern lediglich ein 'bootstrapper' welcher bei Aufruf des pkg-Befehls automatisch pkg herunterlädt und installiert.
Zum Verständnis ist zu erwähnen, dass auch bei der Installation von Software aus den Ports der jeweilige Paketmanager verwendet wird. Denn nach dem Kompilieren der Software wird diese automatisch in ein Paket umgewandelt und erst dann installiert.
Um pkg zu installieren wird als Benutzer root einfach der Befehl eingegeben und die folgende Frage, ob man es wirklich installieren will, mit y bestätigt.
# pkg
Im Folgenden sind ein paar der häufigst verwendeten pkg-Befehle erläutert.
Um zu sehen welche Software installiert wurde (per Ports oder Paketen) wird info verwendet. Um z.B. alle installierten Pakete zu sehen:
# pkg info
Um erweiterte Informationen zum installierten Programm vim zu sehen.
# pkg info -f vim
Um Software zu deinstallieren wird delete verwendet. Um z.B. die Software vim zu deinstallieren:
# pkg delete vim
Es erscheint eine Liste aller zu deinstallierender Pakete und die Frage ob dies korrekt ist. Nach Bestätigung erfolgt die Entfernung der Software vom System.
Fast jede Drittsoftware (Paket oder Port) die installiert wird benötigt als Abhängigkeit noch irgendwelche anderen Pakete. Sowohl das Ports- als auch das Paketsystem lösen diese Abhängigkeiten bei der Installation auf und installieren die notwendigen weiteren Pakete/Ports automatisch. Wird nun das ursprünglich installierte Programm entfernt bleiben verwaiste Pakete bestehen. Mit pkg können Pakete welche als Abhängigkeit installiert wurden und mittlerweile verwaist sind automatisch entfernt werden. Hier dient autoremove:
# pkg autoremove
Eine Liste der zu deinstallierenden Softwarepakete wird angezeigt und nach Bestätigung mit Y vom System entfernt.
Um zu suchen ob eine Software im Repository vorhanden ist wird search verwendet. Um nach dem Paket vim zu suchen sieht der Befehl dann wie folgt aus:
# pkg search vim
Nun werden alle Pakete angezeigt die dem Suchwort entsprechend in Frage kommen.
Will man mehr über ein Paket wissen bevor man es installiert, z.B. welches Optionen beim Kompilieren verwendet wurden oder welche Bibliotheken es benötigt genügt es -f zu ergänzen:
# pkg search -f vim
Wieder erhält man eine, nur diesmal deutlich informativere, Übersicht über alle Pakete die dem Suchwort entsprechen.
Um das komplette Repository angezeigt zu bekommen kann als Suchname . angegeben werden:
# pkg search .
Nach Einrichten eines gültigen Repositorys kann neue Software relativ einfach und schnell daraus installiert werden. Zur Installation des Pakets vim genügt folgender Aufruf:
pkg install vim
Er wird eine Liste mit allen zu installierenden Paketen angezeigt (incl. aller Abhängigkeiten) und nach Bestätigung mit Y installiert.
Hinweis: Wenn pkg erkennt, dass auf den Repository ein neuere Version von pkg vorliegt als die aktuell installierte wird er zunächst diese und anschließend evtl. entsprechende Bibliotheken Updaten wollen. Der Benutzer wird hierauf automatisch hingewiesen und muss diesen Vorgang jeweils lediglich mit Y bestätigen. Die Installation der neuen Software kann erst nach dem kompletten Update von pkg erfolgen.
Um die installierten Pakete auf dem aktuellen Stand zu halten sieht pkg den Befehl upgrade vor. Installiert man Software ausschließlich als Binärpakete von einem Repository so will man auch das Update der Software nicht über die Ports machen. (Installiert man jedoch Software nur über die Ports, z.B. mittels Portmaster, dann sollte man auch das Update per Portmaster durchführen um nicht die eigenen Kompileoptionen zu verlieren).
Um alle installierten Pakete auf die aktuellste im Repository verfügbare Version zu updaten wird folgender Befehl verwendet:
# pkg upgrade
Hinweis: Dies aktualisiert nur installierte Drittsoftware. Das Basissystem selbst muss getrennt aktuell gehalten werden (siehe z.B. FreeBSD updaten).
Installation eines Desktopsystems: vim installieren