dpkg

dpkg ist die Basis der Debian Paketverwaltung. Mit diesem Programm kommen Sie nur in seltenen Fällen in Berührung, meist werden Sie Frontends wie APT benutzen. Hier trotzdem einigen nützliche Beisþiele.

-l

Mit der Option -l können die tatsächlichen Paketnamen ermittelt werden. Diese weichen häufig von den eigentlichen Befehlen ab.


wasabi:~$ dpkg -l mozilla* 
Gewünscht=Unbekannt/Installieren/R=Entfernen/P=Säubern/Halten
| Status=Nicht/Installiert/Config/U=Entpackt/Fehlgeschl. Konf./Halb install.
|/ Fehler?=(keiner)/Halten/R=Neuinst. notw/X=beides (Status, Fehler: GROß=schlecht)
||/ Name           Version        Beschreibung
+++-==============-==============-============================================
ii  mozilla        1.0.0-1        Mozilla Web Browser - dummy package
ii  mozilla-browse 1.0.0-1        Mozilla Web Browser - core and browser
rc  mozilla-browse 0.0.20020226.1 An Open Source WWW browser for X and GTK+ (C
ii  mozilla-browse 0.0.20020610.0 An Open Source WWW browser for X and GTK+ (C
ii  mozilla-chatzi 1.0.0-1        Mozilla Web Browser - irc client
pn  mozilla-chatzi <keine>        (keine Beschreibung vorhanden)
pn  mozilla-chatzi <keine>        (keine Beschreibung vorhanden)
pn  mozilla-cvs    <keine>        (keine Beschreibung vorhanden)
pn  mozilla-cvs-de <keine>        (keine Beschreibung vorhanden)
ii  mozilla-dev    1.0.0-1        Mozilla Web Browser - development files
un  mozilla-dmotif <keine>        (keine Beschreibung vorhanden)
ii  mozilla-dom-in 1.0.0-1        A tool for inspecting the DOM of pages in Mo
ii  mozilla-dom-in 0.0.20020610.0 A tool for inspecting the DOM of pages in Mo
ii  mozilla-js-deb 1.0.0-1        JavaScript debugger for use with Mozilla
pn  mozilla-js-deb <keine>        (keine Beschreibung vorhanden)
rc  mozilla-locale 0.9.9-3        Mozilla German Language/Region Package.
pn  mozilla-locale <keine>        (keine Beschreibung vorhanden)
pn  mozilla-locale <keine>        (keine Beschreibung vorhanden)
ii  mozilla-mailne 1.0.0-1        Mozilla Web Browser - mail and news support
pn  mozilla-mailne <keine>        (keine Beschreibung vorhanden)
pn  mozilla-mailne <keine>        (keine Beschreibung vorhanden)
ii  mozilla-psm    1.0.0-1        Mozilla Web Browser - Personal Security Mana
pn  mozilla-psm-cv <keine>        (keine Beschreibung vorhanden)
ii  mozilla-psm-sn 0.0.20020610.0 PSM - Personal Security Manager for Mozilla 
un  mozilla-smotif <keine>        (keine Beschreibung vorhanden)
pn  mozilla-snapsh <keine>        (keine Beschreibung vorhanden)
pn  mozilla-snapsh <keine>        (keine Beschreibung vorhanden)
ii  mozilla-xmlter 1.0.0-1        Mozilla Web Browser - XML enabled
pn  mozilla-xmlter <keine>        (keine Beschreibung vorhanden)
pn  mozilla-xmlter <keine>        (keine Beschreibung vorhanden)

Problematisch ist hierbei das der Name des Paketes abgeschnitten wird, dies kann durch setzen der Variablen COLUMNS verändert werden: COLUMNS=132 dpkg -l mozilla*.

-S

Mit der Option -S kann ermittelt werden zu welchem Paket eine Datei gehört. Dies trifft lediglich auf bereits installierte Pakete zu. Eine Suche in nicht installierten Paketen ist auf diesem Wege nicht möglich.


fr@wasabi:~$ dpkg -S gdm.conf 
gdm: /etc/gdm/factory-gdm.conf
gdm: /etc/gdm/gdm.conf

fr@wasabi:~$ dpkg -S /etc/gdm/gdm.conf 
gdm: /etc/gdm/gdm.conf


Hierbei kann das weglassen oder hinzufügen des Pfades zu der gesuchten Datei zu unterschiedlichen Ergebnissen führen.

--force-confnew

Sollte ein mal aus Versehen eine der Konfigurationsdateien verschwunden sein oder eine andere wichtige Datei fehlen, so kann ein komplettes Paket einfach erneut installiert werden. Hierzu ist zunächst das betroffene Paket zu besorgen, beispielsweise mit apt-get -d install paket. Nun kann das Paket installiert werden, die Option --force-confnew überschreibt dabei alle Konfigurationsdateien: dpkg -i --force-confnew /var/cache/apt/archives/paket.deb.

dpkg-scanpackage

Pakete die aus dem Internet geholt wurden und in irgendeinem Verzeichnis auf der Festplatte schlummern lassen sich mit den bisher beschriebenen Methoden nur mühsam installieren. Eleganter wäre es auch diese Pakete in die sources.list einzubinden. Doch leider scheitert dies an der fehlenden Datei Packages.gz. Diese Datei kann mit dem Programm dpkg-scanpackage erzeugt werden.

Die Datei Packages.gz enthält Informationen darüber, welche Pakete sich in diesem Verzeichnis befinden. Mit dem Kommando dpkg-scanpackages ./ /dev/null | gzip > Packages.gz, welches direkt in dem Verzeichnis aufgerufen wird in dem sich die Pakete befinden, läßt sich diese Datei erzeugen. Wenn weitere oder aktualisierte Pakete in diesem Verzeichnis abgelegt werden muß das Kommandos natürlich erneut aufgerufen werden.

Wenn die Pakete auf dem System im Verzeichnis /home/ftp/meinepakete/ abgelegt sind, lautet der Eintrag in der Datei /etc/apt/sources.list:

deb file:/home/ftp/meinepakete ./


Der Pfad ist den lokalen Gegebenheiten anzupassen.

dpkg-scansources

Natürlich ist es nicht nur möglich für Binärpakete entsprechende Package Dateien zu erzeugen, dies kann auch für die Source Pakete geschehen.

Es werden zunächst die drei, den Binärpaket zugehörigen, Sourcedateien mit den Endungen .orig.tar.gz, .dsc und .diff.gz benötigt. Diese werden in einem eigenen Verzeichnis abgelegt. Die Programme zur Verwaltung von Debian Paketen greifen bei Source Paketen auf die Datei Sources.gz zu. Diese kann mit dem Kommando dpkg-scansources ./ | gzip > Sources.gz erzeugt werden. Hierbei ist zu beachten das dpkg-scansources kein Override-File benötigt. Die Angabe „/dev/null“ muss hierbei also entfallen.