Debian Paketverwaltung Kurzeinführung
Die Debian-Paketverwaltung besteht im Kern aus den Werkzeugen
dpkg
und
apt
.
Eine detaillierte Beschreibung der Fähigkeiten von
apt
gibt das
APT HOWTO.
Installation und Update
Die Liste aller verfügbaren Pakete wird von
apt
aus den in der Datei
sources.list
aufgeführten Quellen erzeugt und durch das Kommando
apt-get update
aktualisiert.
Zur Suche in der Liste der verfügbaren Pakete dient der Befehl
apt-cache
.
Die wichtigsten Kommandos sind
-
apt-cache search Suchbegriffe
zur Suche nach Paketen,
-
apt-cache show Paketname
zum Anzeigen der Paketbeschreibung und
-
apt-cache showpkg Paketname
zur Anzeige weiterer Paketinformationen - insbesondere der (inversen!) Paketabhängigkeiten.
So gefundene Pakete werden mittels
apt-get install Paketname
heruntergeladen und automatisch durch
dpkg
installiert.
Anschließend werden sie - z. T. interaktiv - konfiguriert. Eingegebene Konfigurationsparameter können später durch
dpkg-reconfigure Paketname
verändert werden.
Pakete, bei denen dies nötig werden kann, sind bspw.
-
console-data
für das Tastaturlayout auf der Konsole und
-
xserver-xfree86
für die XServer-Einstellungen.
Die Liste der installierten Pakete kann mit dem Kommando
dpkg -l
abgerufen werden.
Die Beschreibung zu einem installierten Paket erhält man mit
dpkg -s Paketname
.
dpkg -L Paketname
liefert die Liste der Dateien eines Paketes.
Zu welchem Paket eine vorhandene Datei gehört, lässt sich mit
dpkg -S Dateiname
herausfinden.
Lokale
deb
Archive können vor der Installation mit
dpkg-deb
untersucht werden.
Pakete vom Upgrade ausschließen
Um zu verhindern, dass ein Paket durch eine Version mit höherer Priorität (also im Normalfall eine neuere) ersetzt wird, kann man es auf "behalten" setzen:
echo paket hold | dpkg --set-selections
dpkg -l
zeigt dann als Paketstatus
hi
an. Mit
echo paket install | dpkg --set-selections
kann man die behalten-Markierung wieder zurücksetzen.
Paketbau mit apt
Eine Anleitung zum Selbstkompilieren von Quellpaketen findet sich
hier.
Software-Verteilung
Todo: Mit DebPkg:debarchiver ist eine einfachere Repository-Verwaltung möglich.
Für eine Menge von so erzeugten oder aus anderen Quellen erhaltenen deb-Paketen kann mit dem Befehl
dpkg-scanpackages
eine passende Datei
Packages(.gz)
erzeugt werden, damit das Verzeichnis in die
sources.list
aufgenommen und so die Pakete mit
apt
installiert werden können.
Um bspw. eine
Packages.gz
für deb-Pakete um aktuellen Verzeichnis zu erzeugen, verwendet man
dpkg-scanpackages . override.gz | gzip > Packages.gz
Dabei muss zwingend eine =override=-Datei angegeben werden, die die Kategorie (
admin,
devel,
games etc.) und Priorität (
required -
optional) der einzelnen Pakete definiert.
Für vorhandene Pakete wie z. B. Backports aus der
unstable-Distribution reicht für gewöhlich die Verwendung von deren
override-Liste.
Es ist auch möglich, eine leere override-Datei zu verwenden, die man folgendermaßen erzeugt:
touch override.empty; gzip override.empty
.
Systempflege
Obsolete Paketdateien können mittels
apt-get autoclean
aus dem Cache gelöscht werden.
Todo: DebPkg:deborphan und DebPkg:debfoster spüren obsolete installierte Paket auf.
debsums
Mit dem Befehl
debsums
können die MD5-Prüfsummen der Dateien installierter Pakete überprüft werden. Leider enthalten nicht alle Pakete der Distribution solche Prüfsummen-Informationen.
Befindet sich im Verzeichnis
/etc/apt/apt.conf.d/
eine Datei mit folgendem Inhalt:
DPkg::Post-Invoke{"debsums --generate=nocheck -sp /var/cache/apt/archives";};
so werden Prüfsummen für Pakete, bei denen diese fehlen, bei der Installation erzeugt.
Für bereits installierte Pakete wird dies mittels
for PACK in $(debsums -l); do debsums_gen $PACK; done
erledigt.
--
Christo - 01 Mar 2004