Dies ist eine alte Version des Dokuments!
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. Als Standard ist (zumindest bis FreeBSD 9.2) noch das alte pkg_ aktiv.
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.
Da die Datenbanken von pkg und pkg_ völlig unabhängig sind kann ausschließlich eines der beiden Werkzeuge verwendet werden. Nach Umstellung auf pkg ist der Schritt zurück nicht mehr möglich. Da pkg wie erwähnt jedoch einige Vorteile bringt und vermutlich in naher Zukunft pkg_ aus dem Basissystem entfernt wird ist die Umstellung auf das neue System durchaus zu empfehlen.
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
Da sich die neue Paketdatenbank von pkg komplett von der bisher verwendeten (von pkg_) unterscheidet kann ausschließlich eins der beiden Systeme verwendet werden. Um bereits installierte Pakete in die neue Datenbank zu überführen wird der folgende Befehl verwendet. Wurde noch keine Drittsoftware installiert kann dieser Schritt theoretisch ausgelassen werden, er schadet aber auch nicht).
# pkg2ng
Ab diesem Zeitpunkt sollten die alten Werkzeuge von pkg_ nicht mehr verwendet werden.
Um in Zukunft für die Installation aller Ports pkg zu verwenden wird die Datei /etc/make.conf um die folgende Zeile ergänzt:
WITH_PKGNG=yes
Ist noch kein Editor installiert mit dessen Bedienung man vertraut ist kann dies auch einfach durch Eingabe des folgenden Befehls erfolgen:
# echo "WITH_PKGNG=yes" >> /etc/make.conf
Zur Installation von Software aus den Ports ist nichts weiter zu berücksichtigen. Im Hintergrund wird ab der Umstellung automatisch pkg statt der alten Werkzeuge verwendet.
Unterschiede ergeben sich jedoch wenn man installierte Software entfernen möchte oder wenn man direkt Pakete (statt Ports) installieren will.
Nach der Umstellung sollte nur noch mit den neuen Werkzeugen von pkg gearbeitet werden. Im Folgenden sind ein paar der häufigst Verwendeten 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.
Will man nicht alle zu installierenden Programme erst aufwändig aus den Ports kompilieren besteht auch die Möglichkeit zur Installation fertig kompilierter Binärpakete aus einem Repository. Nach dem Sicherheitsproblem 2012 steht leider bis heute (Stand: 04.10.2013) kein offizielles Repository für Binärpakete zur Verfügung. Entweder verwendet man ein inoffizielles Repository oder wenn man einen eigenen Server hat erzeugt man ein Eigenes PKG-Repository.
Ein Repository mit einem Großteil der in diesen Anleitungen erwähnten Software steht für FreeBSD 9.2 unter folgender Adresse zur Verfügung:
Für Desktopsysteme:
Für Server-Systeme:
Bevor Pakete installiert werden können muss das entsprechende Repository eingerichtet werden. Dies geschieht in der Datei /usr/local/etc/pkg.conf. Das dort bereits hinterlegte Repository enthält (Stand: 04.10.2013) noch keinerlei Pakete außer pkg selbst und Werkzeugen zum Bau eines Repositorys. Die bestehende Zeile wird entfernt oder auskommentiert (als Kommentarzeichen werden # verwendet) und durch das eigene Repository ersetzt. Im Falle eines Desktopsystems könnte die Zeile dann z.B. wie folgt aussehen:
packagesite: http://wiki.denkrobat.de/pkg/92amd64-default
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: Portmaster installieren