Obwohl Linux als freie Software kostenlos verfügbar ist, setzen viele beim Unternehmenseinsatz auf Enterprise-Distributionen mit Support. Wo die Stärken der ... (mehr)

Nicht perfekt

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 »pkg update« ersetzt werden können.

which

Informiert, welches Paket eine bestimmte Datei installiert hat.

Fazit

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

  1. Jürgen Dankoweit (Hrsg.): FreeBSD. C&L-Verlag 2009, ISBN 978-3-936546-41-5./
comments powered by Disqus
Mehr zum Thema

FreeBSD erscheint in Version 10

Das Unix-Derivat FreeBSD gilt als äußerst zuverlässig und liegt sowohl Mac OS X als auch der Sony Playstation 4 zugrunde. Die neue Version 10 bringt neue Features und Performance-Gewinne.
Einmal pro Woche aktuelle News, kostenlose Artikel und nützliche ADMIN-Tipps.
Ich habe die Datenschutzerklärung gelesen und bin einverstanden.

Konfigurationsmanagement

Ich konfiguriere meine Server

  • von Hand
  • mit eigenen Skripts
  • mit Puppet
  • mit Ansible
  • mit Saltstack
  • mit Chef
  • mit CFengine
  • mit dem Nix-System
  • mit Containern
  • mit anderer Konfigurationsmanagement-Software

Ausgabe /2023