[ zurück ] [ Inhalt ] [ 1 ] [ 2 ] [ 3 ] [ 4 ] [ 5 ] [ 6 ] [ 7 ] [ 8 ] [ 9 ] [ 10 ] [ 11 ] [ weiter ]


APT HOWTO (Obsolete Documentation)
Kapitel 6 - Informationen über Pakete


Es gibt einige Oberflächen für das APT-System, die es signifikant einfacher machen, Listen über verfügbare Pakete oder schon installierte Pakete zu bekommen oder auch herauszufinden, zu welcher Sektion ein Paket gehört, welche Priorität es hat, wie seine Beschreibung lautet, etc.

Unser Ziel aber hier ist, APT selbst benutzen zu lernen. Wie können wir also den Namen eines Paketes herausfinden, welches wir installieren wollen?

Es gibt eine Reihe von Möglichkeiten für eine solche Aufgabe. Fangen wir mit apt-cache an. Dieses Programm wird vom APT-System zum Warten seiner Datenbank benutzt. Werfen wir nur einen kleinen Blick auf einige seiner praktischeren Anwendungen.


6.1 Paketnamen entdecken

Angenommen, Sie wollen die alten Zeiten des Atari 2600 wieder aufleben lassen. Sie möchten APT benutzen, um einen Atari-Emulator zu installieren und dann Spiele herunterladen. Sie haben folgende Möglichkeit:

     # apt-cache search atari
     atari-fdisk-cross - Partition editor for Atari (running on non-Atari)
     circuslinux - The clowns are trying to pop balloons to score points!
     madbomber - A Kaboom! clone
     tcs - Character set translator.
     atari800 - Atari emulator for svgalib/X/curses
     stella - Atari 2600 Emulator for X windows
     xmess-x - X binaries for Multi-Emulator Super System

Wir finden verschiedene Pakete mit kurzen Beschreibungen. Um weitere Informationen über ein bestimmtes Paket zu erhalten, können wir folgendes machen:

     # apt-cache show stella  
     Package: stella
     Priority: extra
     Section: non-free/otherosfs
     Installed-Size: 830
     Maintainer: Tom Lear <tom@trap.mtview.ca.us>
     Architecture: i386
     Version: 1.1-2
     Depends: libc6 (>= 2.1), libstdc++2.10, xlib6g (>= 3.3.5-1)
     Filename: dists/potato/non-free/binary-i386/otherosfs/stella_1.1-2.deb
     Size: 483430
     MD5sum: 11b3e86a41a60fa1c4b334dd96c1d4b5
     Description: Atari 2600 Emulator for X windows
      Stella is a portable emulator of the old Atari 2600 video-game console
      written in C++.  You can play most Atari 2600 games with it.  The latest
      news, code and binaries for Stella can be found at:
      http://www4.ncsu.edu/~bwmott/2600

Mit dieser Ausgabe erhalten Sie eine Menge Details über das Paket, das Sie installieren wollen (oder nicht wollen) inklusive der vollständigen Beschreibung des Pakets. Wenn das Paket schon installiert ist und es eine neuere Version gibt, bekommen Sie Informationen über beide Versionen. Beispiel:

     # apt-cache show lilo
     Package: lilo
     Priority: important
     Section: base
     Installed-Size: 271
     Maintainer: Russell Coker <russell@coker.com.au>
     Architecture: i386
     Version: 1:21.7-3
     Depends: libc6 (>= 2.2.1-2), debconf (>=0.2.26), logrotate
     Suggests: lilo-doc
     Conflicts: manpages (<<1.29-3)
     Filename: pool/main/l/lilo/lilo_21.7-3_i386.deb
     Size: 143052
     MD5sum: 63fe29b5317fe34ed8ec3ae955f8270e
     Description: LInux LOader - The Classic OS loader can load Linux and others
      This Package contains lilo (the installer) and boot-record-images to
      install Linux, OS/2, DOS and generic Boot Sectors of other OSes.
      .
      You can use Lilo to manage your Master Boot Record (with a simple text screen)
      or call Lilo from other Boot-Loaders to jump-start the Linux kernel.
     
     Package: lilo
     Status: install ok installed
     Priority: important
     Section: base
     Installed-Size: 190
     Maintainer: Vincent Renardias <vincent@debian.org>
     Version: 1:21.4.3-2
     Depends: libc6 (>= 2.1.2)
     Recommends: mbr
     Suggests: lilo-doc
     Description: LInux LOader - The Classic OS loader can load Linux and others
      This Package contains lilo (the installer) and boot-record-images to
      install Linux, OS/2, DOS and generic Boot Sectors of other OSes.
      .
      You can use Lilo to manage your Master Boot Record (with a simple text screen)
      or call Lilo from other Boot-Loaders to jump-start the Linux kernel.

Das erste in der Liste ist die neu verfügbare Version und das zweite die installierte Version. Für generellere Informationen über ein Paket können Sie folgendes benutzen:

     # apt-cache showpkg penguin-command
     Package: penguin-command
     Versions: 
     1.4.5-1(/var/lib/apt/lists/download.sourceforge.net_debian_dists_unstable_main_binary-i386_Packages)(/var/lib/dpkg/status)
     
     Reverse Depends: 
     Dependencies: 
     1.4.5-1 - libc6 (2 2.2.1-2) libpng2 (0 (null)) libsdl-mixer1.1 (2 1.1.0) libsdl1.1 (0 (null)) zlib1g (2 1:1.1.3) 
     Provides: 
     1.4.5-1 - 
     Reverse Provides:

Und um nur herauszufinden, von welchen Paketen es abhängt:

     # apt-cache depends penguin-command
     penguin-command
       Depends: libc6
       Depends: libpng2
       Depends: libsdl-mixer1.1
       Depends: libsdl1.1
       Depends: zlib1g

Zusammengefaßt haben wir eine handvoll Waffen, die wir benutzen können, um den Namen des Paketes herauszufinden, das wir installieren wollen.


6.2 Paketnamen mit dpkg finden

Ein Weg, den Namen eines Pakets zu finden, ist, den Namen einer wichtigen Datei zu kennen, die sich in dem Paket befindet. Um zum Beispiel das Paket zu finden, welches eine bestimmte ".h" Datei enthält, das für das Kompilieren eines Programms benötigt wird, ist folgendes auszuführen:

     # dpkg -S stdio.h
     libc6-dev: /usr/include/stdio.h
     libc6-dev: /usr/include/bits/stdio.h
     perl: /usr/lib/perl/5.6.0/CORE/nostdio.h

oder:

     # dpkg -S /usr/include/stdio.h
     libc6-dev: /usr/include/stdio.h

Um den Namen installierter Pakete herauszufinden, was zum Beispiel zum Aufräumen der Festplatte nützlich sein kann, benutzen Sie:

     # dpkg -l | grep mozilla
     ii  mozilla-browse 0.9.6-7        Mozilla Web Browser

Das Problem mit diesem Befehl ist, daß er Paketnamen "brechen" kann. Im obigen Beispiel ist der ganze Name des Pakets mozilla-browser. Um das Problem zu beheben, können Sie die Umgebungsvariable COLUMNS folgendermaßen benutzen:

     [kov]@[couve] $ COLUMNS=132 dpkg -l | grep mozilla
     ii  mozilla-browser             0.9.6-7                     Mozilla Web Browser - core and browser

oder die Beschreibung bzw. einen Teil dieser wie im folgenden:

     # apt-cache search "Mozilla Web Browser"
     mozilla-browser - Mozilla Web Browser

6.3 Pakete nach Bedarf installieren

Sie kompilieren gerade ein Programm, und wie aus heiterem Himmel - Boom! Es gibt einen Fehler, da eine .h Datei gebraucht wird, die Sie nicht haben. Das Programm auto-apt kann Sie for solchen Szenarios bewahren. Es fragt, ob es die benötigten Pakete installieren soll, nachdem es den betroffenden Prozeß gestoppt hat und führt ihn fort, wenn die relevanten Pakete installiert sind.

Der Befehl sieht folgendermaßen aus:

     # auto-apt run Kommando

Wobei `Kommando' das Kommando ist, was ausgeführt werden soll und evtl. nicht vorhandene Dateien benötigt. Beispiel:

     # auto-apt run ./configure

Es wird fragen, ob die benötigten Pakete installiert werden sollen, und apt-get automatisch aufrufen. Wenn X läuft, ersetzt eine grafische Oberfläche die übliche Text-Oberfläche.

Auto-apt funktioniert mit einer Datenbank welche aktuell gehalten werden muß, um effektiv zu funktionieren. Das erreicht man mit den Kommandos auto-apt update, auto-apt updatedb und auto-apt update-local.


6.4 Herausfinden, zu welchem Paket eine Datei gehört

Wenn ein Paket installiert werden soll und Sie nicht herausfinden können, wie es heißt, indem Sie mit apt-cache suchen, aber den Dateinamen des Programms oder einer Datei, die zu dem Paket gehört kennen, können Sie apt-file benutzen, um den Dateinamen zu finden. Das wird folgendermaßen gemacht:

     $ apt-file search Dateinamen

Es funktioniert genau wie dpkg -S, es zeigt Ihnen aber auch nicht installierte Pakete, die die Datei enthalten. Man kann es auch dazu benutzen, benötigte include-Dateien, die beim Kompilieren von Programmen fehlen, zu installieren, allerdings ist auto-apt eine wesentlich bessere Methode solche Fälle zu lösen, siehe Pakete nach Bedarf installieren, Abschnitt 6.3.

Man kann auch den Inhalt von Paketen auflisten:

     $ apt-file list Paketname

apt-file hat genau wie auto-apt eine Datenbank über die Dateien aller Pakete und diese muß aktuell gehalten werden:

     # apt-file update

Normalerweise benutzt apt-file die gleiche Datenbank wie auto-apt, sehen Sie Pakete nach Bedarf installieren, Abschnitt 6.3.


6.5 Über Änderungen in Paketen informiert bleiben

Jedes Paket installiert in sein Dokumentationsverzeichnis (/usr/share/doc/Paketname) eine Datei mit Namen changelog.Debian.gz, welche die Liste der Änderungen gegenüber der letzten Version enthält. Sie können diese Dateien z.B. mit Hilfe von zless lesen, aber es ist nicht wirklich leicht, nach einem System-Upgrade nach dem changelog jedes aktualisierten Paketes zu suchen.

Es gibt aber eine Möglichkeit, diese Aufgabe zu automatisieren mit Hilfe eines Werkzeugs mit Namen apt-listchanges. Hierfür muß das Paket apt-listchanges erst einmal installiert werden. Während der Installation übernimmt Debconf die Installation. Beantworten Sie die Fragen nach Ihren Bedürfnissen.

Die Option "Soll apt-listchanges nach dem Anzeigen der Changelogs um eine Bestätigung bitten?" ist sehr nützlich, da es eine Liste der Änderungen jedes Paketes, das während eines Upgrades installiert wird, anzeigt und Ihnen die Möglichkeit bietet, diese vor dem Fortfahren einzusehen. Wenn Sie hier sagen, daß Sie nicht fortfahren möchten, gibt apt-listchanges einen Fehlercode zurück und APT bricht die Installation ab.

Nachdem apt-listchanges installiert wurde, zeigt es die Liste der Änderungen installierter Pakete an, wenn Pakete aus dem Netz (oder von einer CD oder gemounteten Partition) heruntergeladen werden, bevor Sie installiert werden.


[ zurück ] [ Inhalt ] [ 1 ] [ 2 ] [ 3 ] [ 4 ] [ 5 ] [ 6 ] [ 7 ] [ 8 ] [ 9 ] [ 10 ] [ 11 ] [ weiter ]


APT HOWTO (Obsolete Documentation)

1.8.4 - April 2003

Gustavo Noronha Silva kov@debian.org
Deutsche Übersetzung: David Spreen netzwurm@debian.org