Da
»ls /var/db/pkg
«
keinen Nutzen mehr bringt, müssen die Daten zur Installation beim neuen Paketsystem jetzt mit
»pkg info
«
und
»pkg query
«
abgefragt werden. Hier zeigt sich leider eine der großen Schwächen des Paketsystems von FreeBSD, offensichtlich kennt man die viel intelligenteren Anwendungen des Package-Source-Systems von NetBSD nicht, die auch Wildcards in den Paketnamen erkennen und intelligent ergänzen. Die in dieser Hinsicht absolute tumbe Paketverwaltung von FreeBSD versteht zwar noch ein
»pkg info xorg
«
und gibt die Versionsnummer und die einzeilige Beschreibung aus, um aber zu erfahren, welche X-Treiber installiert sind, hilft kein
»pkg info xf86-drivers
«
. Hier muss man das
»pkg info -a xorg
«
mit
»more
«
oder
»less
«
anzeigen oder die Ausgabe des Befehls mit
»grep xf86
«
durchsuchen, um eine Liste der Treiber zu sehen.
Die Entwickler des Programms
»pkg
«
heben hervor, dass man mit ihm in einer Chroot-Umgebung oder gar einem Jail arbeiten kann. Man konnte vorher zwar auch in lokalen Umgebungen Pakete installieren, es war aber nicht so elegant. Ein Fortschritt gegenüber dem alten Paketsystem ist aber, dass mit
»pkg update
«
und
»pkg upgrade
«
die lokale Repository-Datenbank und derzeit wenigstens in Teilen auch die installierten Programme schnell und bequem auf einen aktuellen Stand gehoben werden können. Linux-Anwender können über die bisherigen mühseligen Aktualisierungsversuche mit
»portupgrade
«
nur mitleidig lächeln. Eine Paketaktualisierung dauerte damit ein Mehrfaches der Zeit, die das komplette Löschen und Neuinstallieren gedauert hat. Eine Liste der verfügbaren Befehle von
»pkg
«
zeigt
Tabelle 1
. Sie alle erhalten noch zusätzliche Schalter, die in den Manpages zu
»pkg-Befehl
«
nachzulesen sind.
Tabelle 1
Paket-Befehle
Steueranweisung |
Aufgabe |
---|---|
add |
Installiert ein Paket im System. |
audit |
Meldet sicherheitskritische Pakete. |
autoremove |
Löscht überflüssige verwaiste Abhängigkeiten. |
backup |
Sichert und restauriert die lokale Paketdatenbank. |
check |
Prüft die Paketverwaltung. |
clean |
Löscht alte Pakete aus dem Cache. |
create |
Legt Distributionspakete an. |
delete, remove |
Löscht Pakete vom System und aus der lokalen Datenbank. Die Aufrufe sind synonym. |
fetch |
Holt Pakete aus dem Remote-Repository. |
help |
Anzeigen der Hilfe des Programms. |
info |
Gibt Informationen zu installierten Paketen oder zu Paketdateien aus. |
install |
Installiert Pakete aus dem Remote-Repository. |
query |
Zeigt Informationen zu einem installierten Paket an. Dem Befehl muss ein recht komplizierter Formatstring übergeben werden, seine zahlreichen Optionen verrät die Manpage pkg-query. |
register |
Meldet ein Paket in der lokalen Datenbank an. |
repo |
Schreibt einen Paketkatalog. |
rquery |
Ruft Informationen in Repository-Katalogen ab. |
search |
Durchsucht den Katalog eines Repositories. |
set |
Ändert Paketinformationen in der lokalen Datenbank. |
shell |
Öffnet eine Debug-Shell. |
shlib |
Zeigt an, welches Paket eine bestimmte Bibliothek benötigt. |
stats |
Anzeigen der Datenbankstatistik. |
update, upgrade |
Aktualisiert den Paketkatalog und bei Bedarf auch die lokalen Pakete nach dem Alles-oder-nichts-Prinzip. Einzelpakete lassen sich nicht austauschen. Die beiden Aufrufe sind ähnlich aber nicht synonym! |
updating |
Zeigt die Aktualisierungsinformationen zu einem Paket an. |
version |
Zeigt die Versionsnummern aller installierten Programmpakete an. Dabei wird mitgeteilt, ob das Programm auf den aktuellen Stand ist oder nicht, was aber nicht bedeutet, dass alle veralteten Pakete anschließend mit
» |
which |
Informiert, welches Paket eine bestimmte Datei installiert hat. |
FreeBSD hat sich mit der neuen Paketverwaltung einen radikalen Schnitt vollzogen. Dass die Verwaltungssoftware nicht im Basissystem enthalten ist, überrascht und ist wenig sinnvoll. Vielleicht möchte man aber auch erst die Reaktionen der Anwender testen, bevor man
»pkg-ng
«
vom Current in den Release-Zweig schiebt. Wem das Ganze zu suspekt erscheint, kann deshalb auch unter CURRENT darauf verzichten. Das gelingt mit der Variablen
»WITH_PKGNG=YES
«
in der Datei
»/etc/make.conf
«
.
Nur dann werden selbst kompilierte Anwendungen nicht im neuen Txz-, sondern im gewohnten Tbz-Format und mit dem alten Paketinhalt geschrieben. Hier liegt auch der größte Nachteil der neuen Pakete, nämlich dass sie nicht mehr kompatibel sind. Deshalb findet
»pkg_add -r
«
bei FreeBSD 10 auch keine Pakete mehr im Internet, und der Mutige, der unter FreeBSD 8 oder 9
»pkg-ng
«
testen will, muss ebenfalls auf die bequeme und vor allem schnelle Installation der Programme direkt vom FreeBSD-Server verzichten.
Mit dem Abschied von
»sysinstall
«
und der darin enthaltenen und schon lange nicht mehr gepflegten Softwareverwaltung ist der Schritt zu etwas ganz Neuem aber nur konsequent. Fragt sich nur, ob die FreeBSD-Entwickler dieses Mal etwas Neues nicht nur grob zusammenschustern und dann die Anwender damit weghumpeln lassen, wie es zuletzt bei dem jämmerlichen BSD-Installer in FreeBSD 9 der Fall ist, oder ob sie wenigstens diese Baustelle komplett bis zum Ende fertigstellen. Es wäre wünschenswert.
Infos