DPKG for Beginners
Von Martin Schulze
Auf Debian-basierten Systemen arbeitet dpkg als
Paketmanager. In Verbindung mit apt-get und
apt-cache bildet es ein ein sehr mächtiges Trio zur
Verwaltung des Systems. Dieser Artikel zeigt ein paar einfache
Befehle am Beispiel von xterm
Inhalt
- Welche Pakete sind installiert?
- In welchem Paket ist xterm enthalten?
- Zeige den Paketinformationen an
- Welche Dateien gehören sonst noch zu xterm?
- Welche Abhängigkeiten bestehen zu anderen Paketen?
- Welche anderen Pakete benutzen xf86-3.3.6-20?
Welche Pakete sind installiert?
Mit dem Befehl dpkg --list bzw. dpkg -l
erhalten Sie die Liste aller installierten Pakete sowie deren Status,
Versionsnummer und eine kurze Beschreibung. Wird ein Parameter
angegeben, gibt es nur die Informationen zu dem angegebenen Paket.
Der Parameter darf Wildcards ('*') enthalten.
In welchem Paket ist xterm enthalten?
Mit dem Befehl dpkg --search wird in den internen
Datenbanken nach jedem Auftreten des angegebenen Schlüsselwortes
gesucht. Um die Ausgabe etwas zu beschränken, wird nach
bin/xterm gesucht, da xterm ein Programm ist:
$ dpkg --search bin/xterm xterm: /usr/X11R6/bin/xterm
Das Paket heißt also genauso wie auch das Programm, praktisch.
Zeige den Paketinformationen an
Zu jedem Paket sind umfassende Informationen gespeichert, die wie folgt angezeigt werden:
$ dpkg --status xterm Package: xterm Status: install ok installed Priority: optional Section: x11 Installed-Size: 900 Maintainer: Branden RobinsonSource: xfree86 Version: 4.0.2-1 Replaces: xbase (<< 3.3.2.3a-2) Provides: x-terminal-emulator Depends: libc6 (>= 2.1.97), libfreetype6, libncurses5, libxaw7 (>= 4.0.1-1), xlibs (>= 4.0.1-11) Conflicts: xbase (<< 3.3.2.3a-2) Conffiles: /etc/X11/app-defaults/XTerm 40e72fc97237c014122f7e23b81d6495 /etc/X11/app-defaults/XTerm-color b3783b3fbdcd0d1ab556a8d015caa271 Description: X terminal emulator xterm is a terminal emulator for the X Window System. It provides DEC VT102 and Tektronix 4014 compatible terminals for programs that cannot use the window system directly. This version implements ISO/ANSI colors and most of the control sequences used by DEC VT220 terminals.
Da dpkg in der internen Datenbank nachsieht, stehen
diese Informationen nur für installierte Pakete zur Verfügung. Für
Pakete, die nicht installiert sind, muß apt-cache
verwendet werden:
$ apt-cache show xterm Package: xterm Priority: optional Section: x11 Installed-Size: 900 Maintainer: Branden RobinsonArchitecture: i386 Source: xfree86 Version: 4.0.2-1 Replaces: xbase (<< 3.3.2.3a-2) Provides: x-terminal-emulator Depends: libc6 (>= 2.1.97), libfreetype6, libncurses5, libxaw7 (>= 4.0.1-1), xlibs (>= 4.0.1-11) Conflicts: xbase (<< 3.3.2.3a-2) Filename: pool/main/x/xfree86/xterm_4.0.2-1_i386.deb Size: 458308 MD5sum: bc6bcea8873d07f95da4526da9e89589 Description: X terminal emulator xterm is a terminal emulator for the X Window System. It provides DEC VT102 and Tektronix 4014 compatible terminals for programs that cannot use the window system directly. This version implements ISO/ANSI colors and most of the control sequences used by DEC VT220 terminals.
Ein paar Informationen untescheiden sich zwischen den beiden
Varianten, Informationen über Konfigurationsdateien können nur bei
bereits installierten Paketen angezeigt werden, der Dateiname im
Archiv steht dagegen nur bei der zweiten Variante zur Verfügung.
Welche Dateien gehören sonst noch zu xterm?
Oft ist es von Bedeutung, welche Dateien in einem Paket enthalten sind. Wenn Modifikationen vorgenommen werden müssen, dann findet man so vielleicht die Datei, die man bearbeiten muß.
$ dpkg --listfiles xterm /. /etc /etc/X11 /etc/X11/app-defaults /etc/X11/app-defaults/XTerm /etc/X11/app-defaults/XTerm-color /usr /usr/X11R6 /usr/X11R6/bin /usr/X11R6/bin/xterm /usr/X11R6/man /usr/X11R6/man/man1 /usr/X11R6/man/man1/xterm.1x.gz /usr/share /usr/share/doc /usr/share/doc/xterm /usr/share/doc/xterm/xterm.log.html /usr/share/doc/xterm/xterm.faq.html /usr/share/doc/xterm/xterm.termcap.gz /usr/share/doc/xterm/xterm.terminfo.gz /usr/share/doc/xterm/changelog.Debian.gz /usr/share/doc/xterm/README.Debian /usr/share/doc/xterm/copyright /usr/share/doc/xterm/ctlseqs.ps.gz /usr/share/doc/xterm/ctlseqs.txt.gz /usr/share/doc-base /usr/share/doc-base/xterm-faq /usr/lib /usr/lib/menu /usr/lib/menu/xterm
Welche Abhängigkeiten bestehen zu anderen Paketen?
Die Abhängigkeiten zu anderen Paketen sowie die Konflikte werden zusammen mit dem Status des Pakets ausgegeben (s.o.). Die folgenden Zeilen sind relevant:
Replaces: xbase (<< 3.3.2.3a-2) Provides: x-terminal-emulator Depends: libc6 (>= 2.1.97), libfreetype6, libncurses5, libxaw7 (>= 4.0.1-1), xlibs (>= 4.0.1-11) Conflicts: xbase (<< 3.3.2.3a-2)
Welche anderen Pakete benutzen xterm?
Wer auf seinem Rechner aufräumen möchte und Pakete löschen möchte,
sollte vorher sicherstellen, daß keine anderen Pakete diese
verwenden. Dieses ist hauptsächlich bei Bibliotheken und weniger bei
Programmen wichtig, daher nehmen wir hier als Beispiel
libxaw7. Der folgende Befehl zeigt an, welche sonstigen Pakete von
dieser Bibliothek abhängen, unabhängig davon, ob sie installiert sind:
$ apt-cache showpkg libxaw7
Package: libxaw7
Versions: 4.0.2-1(/var/state/apt/lists/ftp.rfc822.org_debian_dists_unstable_main_binary-i386_Packages)(/var/lib/dpkg/status),
Reverse Depends:
xinvaders,libxaw7
cxterm-common,libxaw7
axe,libxaw7
xvncviewer,libxaw7
xvile,libxaw7
xtide,libxaw7
xterm,libxaw7
xrn,libxaw7
xoj,libxaw7
xmon,libxaw7
xmem,libxaw7
xkeycaps,libxaw7
xjump,libxaw7
xipmsg,libxaw7
xemeraldia,libxaw7
xemacs21-nomule,libxaw7
xemacs21-mule-canna-wnn,libxaw7
xemacs21-mule,libxaw7
xdvik-ja,libxaw7
xdm,libxaw7
xcolors,libxaw7
xbomb,libxaw7
xbill,libxaw7
xbase-clients,libxaw7
task-x-window-system,libxaw7
snake4,libxaw7
procmeter3,libxaw7
libxaw-dev,libxaw7
kterm,libxaw7
kdrill,libxaw7
hanterm,libxaw7
groff,libxaw7
emacs20-dl,libxaw7
drscheme,libxaw7
ddd,libxaw7
aewm,libxaw7
acfax,libxaw7
Dependencies:
4.0.2-1 - libc6 (2 2.1.97) xlibs (2 4.0.1-11)
Provides:
4.0.2-1 -
Reverse Provides:
Wenn libxaw7 gelöscht werden soll, müssen demnach auch
groff und emacs20 gelöscht werden.

