|
|
Zeile 83: |
Zeile 83: |
|
| |
|
| == Anwendung == | | == Anwendung == |
| === --help ===
| | * [[Dpkg/Anwendung]] |
| Natürlich bringt auch dpkg, wie alle guten Unix-Werkzeuge, eine eingebaute Hilfefunktion mit
| |
| * Mit der Option --help kann man sich einen ersten Überblick über die beachtliche Vielzahl von Optionen verschaffen | |
| | |
| <syntaxhighlight lang="bash" line>
| |
| # Usage
| |
| dpkg -i|--install <deb file name> ... | -R|--recursive <dir>
| |
| dpkg --unpack <deb file name> ... | -R|--recursive <dir>
| |
| dpkg -A|--record-avail <deb file name> ... | -R|--recursive <dir>
| |
| dpkg --configure <package name> ... | -a|--pending
| |
| dpkg -r|--remove | -P|--purge <package name> ... | -a|--pending
| |
| dpkg --get-selections [<pattern> ...] get list of selections to stdout
| |
| dpkg --set-selections set package selections from stdin
| |
| dpkg --update-avail <Packages-file> replace available packages info
| |
| dpkg --merge-avail <Packages-file> merge with info from file
| |
|
| |
| --no-force-...|--refuse-... Stop when problems encountered
| |
| --abort-after <n> Abort after encountering <n> errors
| |
| Comparison operators for --compare-versions are:
| |
| lt le eq ne ge gt (treat no version as earlier than any version);
| |
| lt-nl le-nl ge-nl gt-nl (treat no version as later than any version);
| |
| < << <= = => >> > (only for compatibility with control file syntax)
| |
|
| |
| Use `dselect' for user-friendly package management
| |
| </syntaxhighlight>
| |
| | |
| === -c, --contents ===
| |
| Diese Option zeigt den Inhalt eines Debian Paketes an, hierzu muss das Paket nicht zwingend installiert sein
| |
| * Als weiterer Parameter ist der Dateiname des Debian Paketes anzugeben
| |
| | |
| === -i, --install ===
| |
| Mit dieser Option können Pakete installiert werden, die lokal im Dateisystem, also auch auf einer gemounteten CD-ROM, vorliegen
| |
| * Hierzu ist neben der Option -i lediglich der Dateiname (ggf
| |
| * inklusive Pfad) anzugeben
| |
| * Wenn eine Reihe Pakete installiert werden soll, so können Sie auch ein Verzeichnis statt eines Dateinamens angeben; zusätzlich ist die Option -R anzugeben
| |
| * Mit dieser wird das Verzeichnis rekursiv nach Debian Paketen durchsucht
| |
| | |
| === --pending, --configure ===
| |
| Mit --pending können bereits entpackte, aber noch nicht konfigurierte Pakete endgültig konfiguriert werden
| |
| * Es kann zu einem solchen Zustand kommen, wenn das System bei der Installation von Paketen auf einen Fehler trifft und abbricht
| |
| * Zu diesem Zeitpunkt können aber bereits andere (eventuell wichtige) Pakete im aktuellen Installationsdurchlauf entpackt worden sein
| |
| * Diese können durch Angabe des Paketnamens gezielt konfiguriert und damit abschließend installiert werden
| |
| | |
| Sollen nicht nur bestimmte, sondern alle bereits entpackten Pakete dieser Prozedur unterzogen werden, so müssen Sie die Option -a oder --pending verwenden
| |
| | |
| === -r, --remove ===
| |
| Mit der Option -r, für "remove", können Pakete entfernt werden
| |
| * Dazu geben Sie lediglich den Namen des Pakets oder die Namen der Pakete (durch Leerzeichen getrennt) an, das/die gelöscht werden soll(en)
| |
| * Diese Option löscht lediglich die Programmdateien eines Pakets
| |
| * Die eigentlichen Konfigurationsdateien (die nur sehr wenig Platz auf dem Datenträger einnehmen) werden nicht gelöscht
| |
| * Wird ein Paket einige Zeit später erneut installiert, so liegt die alte Konfiguration noch vor und kann weiterhin genutzt werden
| |
| | |
| === -P, --purge ===
| |
| Die Option "purge" entfernt ein Paket komplett, inklusive aller Konfigurationsdateien, aus dem System
| |
| | |
| === -l, --list ===
| |
| Mit der Option -l können die tatsächlichen Paketnamen ermittelt werden
| |
| * Diese weichen häufig von den eigentlichen Befehlen ab
| |
| | |
| <syntaxhighlight lang="bash" highlight="1" line>
| |
| $ 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: GROSS=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)
| |
| </syntaxhighlight>
| |
| | |
| Problematisch ist hierbei, dass der Name des Pakets abgeschnitten wird; dies können Sie durch Setzen der Variablen COLUMNS ändern: COLUMNS=132 dpkg -l mozilla*
| |
| | |
| === -s, --status ===
| |
| Hiermit kann der Status eines Pakets ermittelt werden
| |
| * Es werden u. a. Informationen zum Status der Installation, der Version, der Größe, der Section und der Abhängigkeiten ausgegeben
| |
| * So können sehr schnell die Ursachen für eventuelle Probleme bei der Installation von weiteren Paketen ermittelt werden
| |
| | |
| <syntaxhighlight lang="bash" line>
| |
| # Package: bash
| |
| Essential: yes
| |
| Status: install ok installed
| |
| Priority: required
| |
| Section: base
| |
| Installed-Size: 1288
| |
| Maintainer: Matthias Klose <[mailto:doko@debian.org doko@debian.org]>
| |
| Source: bash (2.05b-2-8.1)
| |
| Version: 2.05b-8.1
| |
| Replaces: bash-doc (< 2.05-1), bash-completion
| |
| Depends: base-files (> 2.1.12)
| |
| Pre-Depends: libc6 (> 2.3.1-1), libncurses5 (> 5.3.20021109-1)
| |
| Suggests: bash-doc
| |
| Conflicts: bash-completion
| |
| Conffiles:
| |
| /etc/skel/.bashrc c5f1155761187900cbb3b6554c2b2533
| |
| /etc/skel/.bash_profile ee190fd94cb7bfe8a663447386c065e8
| |
| /etc/bash.bashrc e218a2979b01db4e9c3ae19c94294a57
| |
| /etc/bash_completion 14dde46ca4fb4af4d1f22f0f0fc2ef8c
| |
| Description: The GNU Bourne Again Shell
| |
| Bash is an sh-compatible command language interpreter that executes
| |
| commands read from the standard input or from a file. Bash also
| |
| incorporates useful features from the Korn and C shells (ksh and csh)
| |
|
| |
| Bash is ultimately intended to be a conformant implementation of the
| |
| IEEE POSIX Shell and Tools specification (IEEE Working Group 1003.2)
| |
|
| |
| Included in the bash package is the Programmable Completion Code, by
| |
| Ian Macdonald
| |
|
| |
| Statically linked
| |
| </syntaxhighlight>
| |
| | |
| Für den fortgeschrittenen Systemadministrator ist an dieser Stelle interessant, dass hier auch die MD5-Checksummen der Konfigurationsdateien ausgegeben werden
| |
| | |
| === -S, --search ===
| |
| <syntaxhighlight lang="bash" highlight="1" line>
| |
| sudo dpkg -S Muster
| |
| </syntaxhighlight>
| |
| | |
| 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
| |
| <syntaxhighlight lang="bash" highlight="1" line>
| |
| dpkg -S gdm.conf
| |
| gdm: /etc/gdm/factory-gdm.conf
| |
| gdm: /etc/gdm/gdm.conf
| |
| </syntaxhighlight>
| |
| | |
| <syntaxhighlight lang="bash" highlight="1" line>
| |
| dpkg -S /etc/gdm/gdm.conf
| |
| gdm: /etc/gdm/gdm.conf
| |
| </syntaxhighlight>
| |
| | |
| Hierbei kann das Weglassen oder Hinzufügen des Pfades zu der gesuchten Datei zu unterschiedlichen Ergebnissen führen
| |
| | |
| ; Siehe auch
| |
| [[Paket zu Datei finden]]
| |
| | |
| === -C, --audit ===
| |
| Durchsucht das System nach unvollständig installierten Paketen und versucht, sinnvolle Vorschläge zu unterbreiten, welche Schritte notwendig sind, um diese Pakete in einen funktionsfähigen Zustand zu versetzen
| |
| | |
| === -L, --listfiles ===
| |
| Zeigt alle Dateien an, die zum angegebenen Paket gehören
| |
| <syntaxhighlight lang="bash" highlight="1" line>
| |
| sudo dpkg -L bash
| |
| /
| |
| /bin
| |
| /bin/bash
| |
| /etc
| |
| /etc/skel
| |
| /etc/skel/.bashrc
| |
| /etc/skel/.bash_profile
| |
| /etc/bash_completion.d
| |
| /etc/bash.bashrc
| |
| /etc/bash_completion
| |
| /usr
| |
| /usr/share
| |
| /usr/share/doc
| |
| /usr/share/doc/bash
| |
| /usr/share/doc/bash/completion-contrib
| |
| /usr/share/doc/bash/completion-contrib/gnatmake
| |
| /usr/share/doc/bash/completion-contrib/bitkeeper
| |
| /usr/share/man/man7
| |
| /usr/share/man/man7/bash-builtins.7.gz
| |
| /usr/bin
| |
| /usr/bin/bashbug
| |
| /bin/rbash
| |
| /bin/sh
| |
| /usr/share/man/man1/sh.1.gz
| |
| </syntaxhighlight>
| |
| | |
| === --get-selections ===
| |
| Gibt, ohne weitere Parameter, eine Liste aller installierten Pakete aus
| |
| * Wird zusätzlich ein "*" angegeben, so werden alle Pakete mit dem aktuellen Zustand ausgegeben
| |
| * Dies zeigt also auch zu löschende und nicht installierte Pakete an
| |
| | |
| Diese Ausgabe kann in eine Datei geschrieben werden und mittels der Option --set-selections (beispielsweise auf einem anderen System oder aus einem Backup) wieder eingelesen werden
| |
| * Somit können einzelne Systeme sehr leicht dupliziert werden
| |
| * Auch kann auf diesem Wege ein System nach einem Hardware-Ausfall wiederhergestellt werden
| |
| | |
| ; Beispiel
| |
| <syntaxhighlight lang="bash" highlight="1-5" line>
| |
| sudo dpkg --get-selections \* > /tmp/PAKETLISTE
| |
| </syntaxhighlight>
| |
| | |
| === --set-selections ===
| |
| Liest eine zuvor mit --get-selections erzeugte Paketliste wieder ein
| |
| | |
| ; Beispiel
| |
| <syntaxhighlight lang="bash" highlight="1-5" line>
| |
| sudo dpkg --set-selections < /tmp/PAKETLISTE
| |
| </syntaxhighlight>
| |
| | |
| Abhängig von den Informationen in der Datei PAKETLISTE werden so alle Pakete aus dieser Datei in der Paketdatenbank mit einem Status gekennzeichnet
| |
| * Ein darauf folgendes apt-get dselect-upgrade wird die gewünschten Aktionen durchführen
| |
| | |
| === --update-avail ===
| |
| Aktualisiert die Informationen über verfügbare Pakete
| |
| * Mit der Aktion --merge-avail werden die bestehenden Informationen mit den Informationen aus der angegebenen Packages-Datei zusammengeführt
| |
| * Mit der Aktion --update-avail wird die alte Information durch die Information aus der Packages-Datei ersetzt. dpkg speichert alle Aufzeichnungen über die verfügbaren Pakete in /var/lib/dpkg/available
| |
| | |
| Ein einfacheres Kommando, um die available-Datei in einem Aufruf abzurufen und zu aktualisieren, ist [[dselect#update|''dselect update'']]
| |
| | |
| === --force-confnew ===
| |
| Sollte einmal aus Versehen eine der Konfigurationsdateien verschwunden sein oder eine andere wichtige Datei fehlen, so kann ein komplettes Paket einfach erneut installiert werden
| |
| * Hierzu müssen Sie sich zunächst das betroffene Paket besorgen, beispielsweise mit apt-get -d install paket
| |
| * Nun kann das Paket installiert werden
| |
| * Die Option --force-confnew überschreibt dabei alle Konfigurationsdateien:
| |
| | |
| <syntaxhighlight lang="bash" highlight="1-5" line>
| |
| sudo dpkg -i --force-confnew /var/cache/apt/archives/paket.deb
| |
| </syntaxhighlight>
| |
| | |
| === --force-depends ===
| |
| Diese Option kann zusammen mit jeder anderen Option von dpkg eingesetzt werden, führt jedoch im Allgemeinen zu einem Versionschaos
| |
| * Hiermit werden alle Abhängigkeiten eines Pakets ignoriert und die gewünschte Aktion (beispielsweise "install") ausgeführt
| |
| * Alle Warnungen des Paketmanagements werden ignoriert
| |
| | |
| Wird dpkg mit dieser Option eingesetzt, so ist es kaum mehr möglich, danach apt-get sinnvoll zu benutzen, da apt-get feststellen wird, dass bestimmte Abhängigkeiten nicht erfüllt werden können
| |
| * In einem solchen Fall können Sie versuchen, mit apt-get -f install die Situation zu bereinigen
| |
| * Dies wird aber das zuvor mit --force-depends behandelte Paket in einen unbrauchbaren Zustand versetzen bzw.
| |
| * löschen
| |
|
| |
|
| == Konfiguration == | | == Konfiguration == |