Dpkg: Unterschied zwischen den Versionen
K Textersetzung - „line>“ durch „line copy>“ |
Keine Bearbeitungszusammenfassung Markierung: Zurückgesetzt |
||
Zeile 170: | Zeile 170: | ||
</noinclude> | </noinclude> | ||
= TMP = | |||
== dpkg == | |||
dpkg (Debian Package) dient zum Installieren einzelner '''.deb'''-Pakete. Es stellt die Funktionen zur Verfügung (Backend), die von den Programmen apt-get und aptitude benutzt werden. | |||
=== Optionen === | |||
Für die meisten Operationen sind Rootrechte nötig. | |||
==== Normale Optionen ==== | |||
dpkg erfordert die Angabe der Option, was die auszuführende Operation angibt, sowie abhängig von der Option die Angabe eines Paketnamens oder des Pfades zu einem '''.deb'''-Paket. | |||
{| | |||
|- | |||
| colspan="3" | '''Kommandozeilenoptionen zu dpkg ''' | |||
|- | |||
| | '''Kürzel ''' | |||
| | '''Lange Option ''' | |||
| | '''Beschreibung ''' | |||
|- | |||
| | <tt>'''-i</tt> ''' | |||
| | <tt>'''--install</tt> ''' | |||
| | Installiert das als Argument übergebene '''.deb'''-Paket (Dateiname oder mit Option <tt>-R</tt> Ordnername). | |||
|- | |||
| | | |||
| | <tt>'''--configure</tt> ''' | |||
| | Versucht die Installation von noch nicht fertig konfigurierten Paketen zu beenden. Entweder können die Paketnamen als Argumente übergeben werden oder es wird die Option <tt>-a</tt> bzw. <tt>--pending</tt> angegeben, um alle noch zu konfigurierenden Pakete zu verarbeiten.Soll ein bereits korrekt installiertes Paket erneut konfiguriert werden, muss dpkg-reconfigure genutzt werden. | |||
|- | |||
| | <tt>'''-r</tt> ''' | |||
| | <tt>'''--remove</tt> ''' | |||
| | Entfernt das als Argument übergebene genannte Paket. Wichtig: Der Name des Pakets, nicht der Dateiname muss angegeben werden. Eventuell vom Programm angelegt Konfigurationsdateien bleiben erhalten. | |||
|- | |||
| | <tt>'''-l</tt> ''' | |||
| | <tt>'''--list</tt> ''' | |||
| | Ruft dpkg-query auf und gibt eine Liste mit Status, Version und einer Beschreibung des Pakets aus. Statt des Namens kann auch ein regulärer Ausdruck angegeben werden. Wird kein Argument übergeben, werden alle Paketstatus aufgelistet. Diese Option ist auch für unprivilegierte Nutzer verfügbar. | |||
|- | |||
| | <tt>'''-P</tt> ''' | |||
| | <tt>'''--purge</tt> ''' | |||
| | Entfernt das genannte Paket inklusive der Konfigurationsdateien. | |||
|- | |||
| | <tt>'''-R</tt> ''' | |||
| | <tt>'''--recursive</tt> ''' | |||
| | Statt eines Pfades zu einer '''.deb''' kann mit <tt>-R</tt> auch ein Verzeichnis angegeben werden, die gewählte Operation wird dann auf alle Pakete im Verzeichnis angewandt. | |||
|- | |||
| | <tt>'''-L</tt> ''' | |||
| | <tt>'''--listfiles</tt> ''' | |||
| | Ruft dpkg-query auf und gibt eine Liste der im Paket enthaltenen Dateien aus. | |||
|- | |||
| | <tt>'''-S</tt> ''' | |||
| | <tt>'''--search</tt> ''' | |||
| | Ruft dpkg-query auf, um auszugeben in welchen Paketen sich Dateien befinden, die zum angegeben Suchmuster passen. | |||
|- | |||
|} | |||
Eine vollständige Liste der Optionen findet sich in der '''dpkg'''(1) Manpage im Abschnitt <tt>ACTIONS</tt> bzw. <tt>AKTIONEN</tt>. | |||
==== force Optionen ==== | |||
==== Achtung! ==== | |||
Diese Optionen können die Paketverwaltung und das System irreparabel beschädigen. Deswegen sollten diese Optionen nur mit äußerster Vorsicht und ausreichendem Verständnis angewandt werden. | |||
In Ausnahmefällen kann es nötig sein, die Fehler zu übergehen, die dpkg zum Anhalten zwingen. Force-Optionen lassen sich mit den gewöhnlichen Optionen kombinieren, wo es sinnvoll ist. | |||
{| | |||
|- | |||
| colspan="2" | '''Kommandozeilenoptionen mit force ''' | |||
|- | |||
| | '''Lange Option ''' | |||
| | '''Beschreibung ''' | |||
|- | |||
| | <tt>'''--force-help</tt> ''' | |||
| | Gibt eine Liste der force-Optionen mit einer Beschreibung aus. | |||
|- | |||
| | <tt>'''--force-depends</tt> ''' | |||
| | Ändert Abhängigkeitsfehler zu Warnungen. Ein Paket kann so trotz fehlender Abhängigkeiten installiert werden. <tt>apt-get -f</tt> wird eventuell zur Korrektur benötigt. | |||
|- | |||
| | <tt>'''--force-architecture</tt> ''' | |||
| | Erlaubt die Installation eines Pakets, das nicht zur Architektur passt. Nützlich, um reine 32-Bit-Pakete auf einem 64-Bit-System zu installieren. Allerdings ist meist die Multiarch-Integration des Paketes fehlerhaft und die für das Paket Verantwortlichen sollten darüber informiert werden. | |||
|- | |||
| | <tt>'''--force-remove-reinstreq</tt> ''' | |||
| | Erlaubt das Entfernen eines Pakets, dessen Reinstallation nötig ist. Teile des Paketes können nach dem Entfernen auf dem System verbleiben. | |||
|- | |||
|} | |||
Eine vollständige Liste der force-Optionen findet sich in der '''dpkg'''(1) Manpage im Abschnitt <tt>OPTIONS</tt> bzw. <tt>OPTIONEN</tt>. | |||
=== Hilfsprogramme === | |||
==== dpkg-query ==== | |||
dpkg-query erlaubt Zugriff auf die Paketverwaltungsdatenbank, also auf Metainformationen (Paketstatus, Kontrollfelder, ...). | |||
Die Abfrage von Informationen über Paketdateien wird stattdessen über dpkg-deb geregelt. Einige Optionen können auch direkt mit dem <tt>dpkg</tt>-Befehl angesteuert werden. | |||
dpkg-query OPTION PAKET/SUCHMUSTER | |||
{| | |||
|- | |||
| colspan="3" | '''Kommandozeilenoptionen zu dpkg-query ''' | |||
|- | |||
| | '''Kürzel ''' | |||
| | '''Lange Option ''' | |||
| | '''Beschreibung ''' | |||
|- | |||
| | <tt>'''-l</tt> ''' | |||
| | <tt>'''--list</tt> ''' | |||
| | Gibt eine Liste der zum Suchmuster passenden Pakete und deren Informationen aus. | |||
|- | |||
| | <tt>'''-S</tt> ''' | |||
| | <tt>'''--search</tt> ''' | |||
| | Gibt aus, in welchen Paketen sich Dateien befinden, die zum angegeben Suchmuster (beispielsweise Pfad) passen. | |||
|- | |||
| | <tt>'''-L</tt> ''' | |||
| | <tt>'''--listfiles</tt> ''' | |||
| | Gibt die im Paket enthaltenen Dateien aus. Das Paket wird über den Paketnamen als Argument übergeben und muss installiert (oder nicht vollständig entfernt) sein. | |||
|- | |||
|} | |||
Eine vollständige Liste der Optionen findet sich in der '''dpkg-query'''(1) Manpage im Abschnitt <tt>COMMANDS</tt> bzw. <tt>BEFEHLE</tt>. | |||
==== Paketstatus ==== | |||
Zusätzlich zur Beschreibung des Pakets gibt <tt>--list</tt>/<tt>-l</tt> eine Statusangabe zum jeweiligen Paket aus. Diese besteht aus 3 Stellen: # Gewünschter Paketstatus | |||
* | |||
** <tt>u</tt> für unbekannt | |||
** <tt>i</tt> für installieren | |||
** <tt>h</tt> für halten | |||
** <tt>r</tt> für entfernen (Konfigurationsdateien behalten) | |||
** <tt>p</tt> für vollständig (inkl. Konfigurationsdateien) entfernen | |||
# Aktueller Paketstatus | |||
* | |||
** <tt>n</tt> für nicht installiert | |||
** <tt>c</tt> für Konfigurationsdateien verbleibend | |||
** <tt>H</tt> für nicht vollständig installiert (nicht alle Dateien konnten installiert werden) | |||
** <tt>U</tt> für entpackt (vor dem eigentlichen Installieren) | |||
** <tt>F</tt> für nicht vollständig konfiguriert (Fehler in Konfigurationsskripten) | |||
** <tt>W</tt> für Trigger-Verarbeitung (durch anderes Paket) wird erwartet (Trigger sind beispielsweise das Aktualisieren des Manpageindexes oder das Aktualisieren der durch .desktop Dateien bereitgestellten MIME-Typen, also Vorgänge, die für mehrere Pakete interessant sind. Anstatt diese Vorgänge nach der Installation jedes einzelnen Paketes auszuführen, wird der Vorgang erst am Ende der Installation aller Pakete ausgeführt.) | |||
** <tt>t</tt> für Trigger-Verabeitung steht bevor | |||
** <tt>i</tt> für installiert | |||
# Fehler (Leerzeichen für keine Fehler) | |||
* | |||
** <tt>R</tt> für Reinstallation erforderlich | |||
So bezeichnet <tt>ii</tt> ein vollständig installiertes Paket, <tt>rc</tt> ein entferntes Paket von dem noch Konfigurationsdateien vorliegen und <tt>un</tt> ein nicht (mehr) installiertes Paket. | |||
Eine vollständige Liste der Statusangaben findet sich in der '''dpkg-query'''(1) Manpage im Abschnitt <tt>PACKAGE STATES</tt> bzw. <tt>PAKETZUSTÄNDE</tt>. | |||
==== dpkg-deb ==== | |||
dpkg-deb stellt grundlegende Möglichkeiten zum Packen und Entpacken, sowie die Abfrage von Metainformationen (enthaltene Dateien, Kontrollfelder, ...) von '''.deb'''-Paketen bereit. | |||
Einige Optionen können auch direkt mit dem <tt>dpkg</tt>-Befehl angesteuert werden. | |||
dpkg-deb OPTION VERZEICHNIS/PAKET | |||
{| | |||
|- | |||
| colspan="3" | '''Kommandozeilenoptionen zu dpkg-deb ''' | |||
|- | |||
| | '''Kürzel ''' | |||
| | '''Lange Option ''' | |||
| | '''Beschreibung ''' | |||
|- | |||
| | <tt>'''-I</tt> ''' | |||
| | <tt>'''--info</tt> ''' | |||
| | Zeigt Informationen des als Argument übergenenen '''.deb'''-Paketen an. Als optionales zweites Argument kann der Name einer (vorhandenen) Kontrolldatei übergeben werden, deren Inhalt dann in der Standardausgabe angezeigt wird. | |||
|- | |||
| | <tt>'''-b</tt> ''' | |||
| | <tt>'''--build</tt> ''' | |||
| | Erstellt ein '''.deb'''-Paket aus einem angegebenen Verzeichnis. | |||
|- | |||
| | <tt>'''-c</tt> ''' | |||
| | <tt>'''--contents</tt> ''' | |||
| | Zeigt den Inhalt eines '''.deb'''-Pakets an. | |||
|- | |||
| | <tt>'''-x</tt> ''' | |||
| | <tt>'''--extract</tt> ''' | |||
| | Entpackt das angegebene '''.deb'''-Paket in das angegebene Zielverzeichnis. | |||
|- | |||
|} | |||
Eine vollständige Liste der Optionen findet sich in der '''dpkg-deb'''(1) Manpage im Abschnitt <tt>COMMANDS</tt> bzw. <tt>BEFEHLE</tt>. | |||
==== dpkg-divert ==== | |||
Mit dpkg-divert können Umleitungen eingerichtet werden, sodass beispielsweise Dateien, die von einem Paket bereitgestellt werden, beim Paketupgrade nicht verändert werden. | |||
So kann man nicht nur lokale Änderungen (ohne Verlust) vornehmen, sondern auch Pakete, die Dateien an exakt der selben Stelle installieren, trotzdem parallel installieren (vorausgesetzt die Pakete sind nicht explizit als gegenseitiger Konflikt markiert). | |||
dpkg-divert (OPTION) BEFEHL DATEI/MUSTER | |||
{| | |||
|- | |||
| colspan="2" | '''Kommandozeilenoptionen zu dpkg-divert ''' | |||
|- | |||
| | '''Befehl ''' | |||
| | '''Beschreibung ''' | |||
|- | |||
| | <tt>'''--add</tt> ''' | |||
| | Fügt eine Umleitung für die als Argument übergebene Datei hinzu. Die Angabe von <tt>--add</tt> als Kommando ist optional. Wenn kein Kommando angegeben wurde, wird immer dieses Kommando gewählt. | |||
|- | |||
| | <tt>'''--remove</tt> ''' | |||
| | Entfernt die Umleitung für die als Argument übergebene Datei. Wenn bei der Umleitung umbenannt wurde, muss trotzdem die ursprüngliche Name übergeben werden. | |||
|- | |||
| | <tt>'''--list</tt> ''' | |||
| | Listet alle aktuell eingerichteten Umleitungen, die auf das als Argument übergebene Suchmuster passen, auf. Ohne Argument werden alle Umleitungen aufgelistet. | |||
|- | |||
| colspan="2" | | |||
|- | |||
| | '''Option ''' | |||
| | '''Beschreibung ''' | |||
|- | |||
| | <tt>--local</tt> | |||
| | Richtet die Umleitung so ein, dass die Datei durch kein Paketupgrade und durch keine Paketinstallation verändert wird. | |||
|- | |||
| | <tt>--package</tt> | |||
| | Das als Argument übergebene Paket ist als einziges Paket nicht von der Umleitung betroffen. | |||
|- | |||
| | <tt>--rename</tt> | |||
| | Beim Einrichten (bzw. Entfernen) wird die Datei umbenannt. Standardmäßig wird die Endung '''.distrib''' hinzugefügt (bzw. entfernt). Existierende Dateien werden nicht überschrieben, eher bricht die Umbenennung ab. | |||
|- | |||
| | <tt>--test</tt> | |||
| | Es werden keine Änderungen vorgenommen. | |||
|- | |||
|} | |||
Eine vollständige Liste der Befehle und Optionen findet sich in der '''dpkg-divert'''(8) Manpage im Abschnitt <tt>COMMANDS</tt> und <tt>OPTIONS</tt> bzw. <tt>BEFEHLE</tt> und <tt>OPTIONEN</tt>. | |||
=== Beispiele === | |||
==== Installation ==== | |||
sudo dpkg -i /PFAD/ZUM/PAKET/PAKET.deb | |||
Installiert das <tt>PAKET</tt> im genannten Pfad. | |||
==== Entfernen ==== | |||
sudo dpkg -r vim | |||
Entfernt das Paket '''vim'''. | |||
sudo dpkg -r vim* | |||
Entfernt alle Pakete, deren Name mit <tt>vim</tt> beginnt. | |||
==== Anzeige ==== | |||
dpkg -l vim* | |||
Gibt die Informationen zum allen Paketen aus, deren Name mit <tt>vim</tt> beginnt. Oft macht es Sinn die Ausgaben beispielsweise mit grep nach den Paketstatus zu filtern. | |||
==== Konfiguration beenden ==== | |||
sudo dpkg --configure -a | |||
Führt alle noch ausstehenden Konfigurationsskripte aus und kann so einen abgebrochenen Installationsvorgang fortsetzen. | |||
==== Konfiguration erneut durchführen ==== | |||
sudo dpkg-reconfigure locales | |||
Führt die debconf Konfigurationsskripte des Pakets '''locales''' erneut aus (und generiert damit die Sprachpakete neu). | |||
==== Umleitung einrichten ==== | |||
sudo dpkg-divert --local --rename /usr/bin/apt-build | |||
Die Datei '''/usr/bin/apt-build''' wird für alle Pakete ohne Ausnahme auf die Datei '''/usr/bin/apt-build.distrib''' umgeleitet. Beim Erstellen der Umleitung wird die Datei direkt umbenannt. | |||
==== Umleitung entfernen ==== | |||
sudo dpkg-divert --rename --remove /usr/bin/apt-build | |||
Die im vorherigen Beispiel angelegte Umleitung wird wieder entfernt. Das <tt>--rename</tt> stellt sicher, dass die Datei wieder zurückumbenannt wird. | |||
Vergisst man dies, kann man die Datei einfach manuell beispielsweise mit mv umbenennen. |
Version vom 13. September 2025, 13:50 Uhr
dpkg - Paketverwalter für Debian
Beschreibung
dpkg (Debian Package) dient zum Installieren einzelner deb-Pakete
- Es stellt die Funktionen zur Verfügung (Backend), die von den Programmen apt install benutzt werden
- Für die meisten Operationen sind Root-Rechte nötig
dpkg ist ein Werkzeug, um Debian-Pakete zu installieren, zu bauen, zu entfernen und zu verwalten
- Die primäre und benutzerfreundlichere Oberfläche für dpkg ist aptitude(8)
- dpkg selbst wird komplett über Befehlszeilenoptionen gesteuert, die aus genau einer Aktion und Null oder mehreren Optionen bestehen
- Der Aktionsparameter teilt dpkg mit, was zu tun ist, und die Optionen steuern die Aktionen in irgendeiner Weise
- dpkg kann auch als Oberfläche für dpkg-deb(1) und dpkg-query(1) verwendet werden
- Die Liste der unterstützten Aktionen kann im Abschnitt AKTIONEN gefunden werden
- Falls so eine Aktion angetroffen wird, führt dpkg einfach dpkg-deb oder dpkg-query mit den übergebenen Parametern aus, allerdings werden derzeit keine spezifischen Optionen an diese übergeben
- Um solche Optionen zu verwenden, müssen die Backends direkt aufgerufen werden
dpkg (https://wiki.debian.org/dpkg) ist die Basis der Debian Paketverwaltung. dpkg steht für "Debian GNU/Linux package manager"
- Da dpkg mittlerweile auch von anderen Distributionen wie Novell/SuSE und RedHat/Fedora eingesetzt wird, ist die Bezeichnung nicht mehr ganz korrekt
Die wichtigste Funktion von dpkg besteht darin, das System in einem stabilen Zustand zu halten
- Da die Werkzeuge zur Paketverwaltung in anderen Disrtibutionen nicht den Anforderungen der Debian Entwickler genügten, wurde dpkg entworfen
- Das Paketformat RPM, das u.a
- von RedHat/Fedora- und Novell/SuSE-Distributionen verwendet wird, prüft lediglich, ob eine benötigte Datei vorhanden ist
- Ob diese Datei in der gewünschten oder gar benötigten Version vorliegt, wird nicht geprüft
Mit diesem Programm kommen Sie nur in seltenen Fällen in Berührung; meist werden Sie Frontends wie apt-get oder aptitude benutzen
Installation
Aufruf
sudo dpkg -i installationspaket.deb
sudo dpkg -S dateiname
sudo dpkg --search dateiname
sudo dpkg -s installationspaket.deb
sudo dpkg --status installationspaket.deb
Optionen
Unix | GNU | Parameter | Beschreibung |
---|---|---|---|
--help | Hilfe anzeigen | ||
-c | --contents | Paketinhalt anzeigen | |
-i | --install | ||
--pending, [[#--configure|]] | |||
-r | --remove | ||
-P | --purge | ||
-l | --list | ||
-s | --status | ||
-S | --search | ||
-C | --audit | ||
-L | --listfiles | ||
--get-selections| | |||
--set-selections | |||
--update-avail | |||
--force-confnew | |||
--force-depends |
Argumente
Umgebungsvariablen
Exit-Status
Anwendung
Konfiguration
Dateien
Anhang
Siehe auch
dpkg-Kommandos
Dokumentation
- Man-Page
- Info-Page
Links
Projekt
Weblinks
TMP
dpkg
dpkg (Debian Package) dient zum Installieren einzelner .deb-Pakete. Es stellt die Funktionen zur Verfügung (Backend), die von den Programmen apt-get und aptitude benutzt werden.
Optionen
Für die meisten Operationen sind Rootrechte nötig.
Normale Optionen
dpkg erfordert die Angabe der Option, was die auszuführende Operation angibt, sowie abhängig von der Option die Angabe eines Paketnamens oder des Pfades zu einem .deb-Paket.
Kommandozeilenoptionen zu dpkg | ||
Kürzel | Lange Option | Beschreibung |
-i | --install | Installiert das als Argument übergebene .deb-Paket (Dateiname oder mit Option -R Ordnername). |
--configure | Versucht die Installation von noch nicht fertig konfigurierten Paketen zu beenden. Entweder können die Paketnamen als Argumente übergeben werden oder es wird die Option -a bzw. --pending angegeben, um alle noch zu konfigurierenden Pakete zu verarbeiten.Soll ein bereits korrekt installiertes Paket erneut konfiguriert werden, muss dpkg-reconfigure genutzt werden. | |
-r | --remove | Entfernt das als Argument übergebene genannte Paket. Wichtig: Der Name des Pakets, nicht der Dateiname muss angegeben werden. Eventuell vom Programm angelegt Konfigurationsdateien bleiben erhalten. |
-l | --list | Ruft dpkg-query auf und gibt eine Liste mit Status, Version und einer Beschreibung des Pakets aus. Statt des Namens kann auch ein regulärer Ausdruck angegeben werden. Wird kein Argument übergeben, werden alle Paketstatus aufgelistet. Diese Option ist auch für unprivilegierte Nutzer verfügbar. |
-P | --purge | Entfernt das genannte Paket inklusive der Konfigurationsdateien. |
-R | --recursive | Statt eines Pfades zu einer .deb kann mit -R auch ein Verzeichnis angegeben werden, die gewählte Operation wird dann auf alle Pakete im Verzeichnis angewandt. |
-L | --listfiles | Ruft dpkg-query auf und gibt eine Liste der im Paket enthaltenen Dateien aus. |
-S | --search | Ruft dpkg-query auf, um auszugeben in welchen Paketen sich Dateien befinden, die zum angegeben Suchmuster passen. |
Eine vollständige Liste der Optionen findet sich in der dpkg(1) Manpage im Abschnitt ACTIONS bzw. AKTIONEN.
force Optionen
Achtung!
Diese Optionen können die Paketverwaltung und das System irreparabel beschädigen. Deswegen sollten diese Optionen nur mit äußerster Vorsicht und ausreichendem Verständnis angewandt werden.
In Ausnahmefällen kann es nötig sein, die Fehler zu übergehen, die dpkg zum Anhalten zwingen. Force-Optionen lassen sich mit den gewöhnlichen Optionen kombinieren, wo es sinnvoll ist.
Kommandozeilenoptionen mit force | |
Lange Option | Beschreibung |
--force-help | Gibt eine Liste der force-Optionen mit einer Beschreibung aus. |
--force-depends | Ändert Abhängigkeitsfehler zu Warnungen. Ein Paket kann so trotz fehlender Abhängigkeiten installiert werden. apt-get -f wird eventuell zur Korrektur benötigt. |
--force-architecture | Erlaubt die Installation eines Pakets, das nicht zur Architektur passt. Nützlich, um reine 32-Bit-Pakete auf einem 64-Bit-System zu installieren. Allerdings ist meist die Multiarch-Integration des Paketes fehlerhaft und die für das Paket Verantwortlichen sollten darüber informiert werden. |
--force-remove-reinstreq | Erlaubt das Entfernen eines Pakets, dessen Reinstallation nötig ist. Teile des Paketes können nach dem Entfernen auf dem System verbleiben. |
Eine vollständige Liste der force-Optionen findet sich in der dpkg(1) Manpage im Abschnitt OPTIONS bzw. OPTIONEN.
Hilfsprogramme
dpkg-query
dpkg-query erlaubt Zugriff auf die Paketverwaltungsdatenbank, also auf Metainformationen (Paketstatus, Kontrollfelder, ...).
Die Abfrage von Informationen über Paketdateien wird stattdessen über dpkg-deb geregelt. Einige Optionen können auch direkt mit dem dpkg-Befehl angesteuert werden.
dpkg-query OPTION PAKET/SUCHMUSTER
Kommandozeilenoptionen zu dpkg-query | ||
Kürzel | Lange Option | Beschreibung |
-l | --list | Gibt eine Liste der zum Suchmuster passenden Pakete und deren Informationen aus. |
-S | --search | Gibt aus, in welchen Paketen sich Dateien befinden, die zum angegeben Suchmuster (beispielsweise Pfad) passen. |
-L | --listfiles | Gibt die im Paket enthaltenen Dateien aus. Das Paket wird über den Paketnamen als Argument übergeben und muss installiert (oder nicht vollständig entfernt) sein. |
Eine vollständige Liste der Optionen findet sich in der dpkg-query(1) Manpage im Abschnitt COMMANDS bzw. BEFEHLE.
Paketstatus
Zusätzlich zur Beschreibung des Pakets gibt --list/-l eine Statusangabe zum jeweiligen Paket aus. Diese besteht aus 3 Stellen: # Gewünschter Paketstatus
-
- u für unbekannt
- i für installieren
- h für halten
- r für entfernen (Konfigurationsdateien behalten)
- p für vollständig (inkl. Konfigurationsdateien) entfernen
- Aktueller Paketstatus
-
- n für nicht installiert
- c für Konfigurationsdateien verbleibend
- H für nicht vollständig installiert (nicht alle Dateien konnten installiert werden)
- U für entpackt (vor dem eigentlichen Installieren)
- F für nicht vollständig konfiguriert (Fehler in Konfigurationsskripten)
- W für Trigger-Verarbeitung (durch anderes Paket) wird erwartet (Trigger sind beispielsweise das Aktualisieren des Manpageindexes oder das Aktualisieren der durch .desktop Dateien bereitgestellten MIME-Typen, also Vorgänge, die für mehrere Pakete interessant sind. Anstatt diese Vorgänge nach der Installation jedes einzelnen Paketes auszuführen, wird der Vorgang erst am Ende der Installation aller Pakete ausgeführt.)
- t für Trigger-Verabeitung steht bevor
- i für installiert
- Fehler (Leerzeichen für keine Fehler)
-
- R für Reinstallation erforderlich
So bezeichnet ii ein vollständig installiertes Paket, rc ein entferntes Paket von dem noch Konfigurationsdateien vorliegen und un ein nicht (mehr) installiertes Paket.
Eine vollständige Liste der Statusangaben findet sich in der dpkg-query(1) Manpage im Abschnitt PACKAGE STATES bzw. PAKETZUSTÄNDE.
dpkg-deb
dpkg-deb stellt grundlegende Möglichkeiten zum Packen und Entpacken, sowie die Abfrage von Metainformationen (enthaltene Dateien, Kontrollfelder, ...) von .deb-Paketen bereit.
Einige Optionen können auch direkt mit dem dpkg-Befehl angesteuert werden.
dpkg-deb OPTION VERZEICHNIS/PAKET
Kommandozeilenoptionen zu dpkg-deb | ||
Kürzel | Lange Option | Beschreibung |
-I | --info | Zeigt Informationen des als Argument übergenenen .deb-Paketen an. Als optionales zweites Argument kann der Name einer (vorhandenen) Kontrolldatei übergeben werden, deren Inhalt dann in der Standardausgabe angezeigt wird. |
-b | --build | Erstellt ein .deb-Paket aus einem angegebenen Verzeichnis. |
-c | --contents | Zeigt den Inhalt eines .deb-Pakets an. |
-x | --extract | Entpackt das angegebene .deb-Paket in das angegebene Zielverzeichnis. |
Eine vollständige Liste der Optionen findet sich in der dpkg-deb(1) Manpage im Abschnitt COMMANDS bzw. BEFEHLE.
dpkg-divert
Mit dpkg-divert können Umleitungen eingerichtet werden, sodass beispielsweise Dateien, die von einem Paket bereitgestellt werden, beim Paketupgrade nicht verändert werden.
So kann man nicht nur lokale Änderungen (ohne Verlust) vornehmen, sondern auch Pakete, die Dateien an exakt der selben Stelle installieren, trotzdem parallel installieren (vorausgesetzt die Pakete sind nicht explizit als gegenseitiger Konflikt markiert).
dpkg-divert (OPTION) BEFEHL DATEI/MUSTER
Kommandozeilenoptionen zu dpkg-divert | |
Befehl | Beschreibung |
--add | Fügt eine Umleitung für die als Argument übergebene Datei hinzu. Die Angabe von --add als Kommando ist optional. Wenn kein Kommando angegeben wurde, wird immer dieses Kommando gewählt. |
--remove | Entfernt die Umleitung für die als Argument übergebene Datei. Wenn bei der Umleitung umbenannt wurde, muss trotzdem die ursprüngliche Name übergeben werden. |
--list | Listet alle aktuell eingerichteten Umleitungen, die auf das als Argument übergebene Suchmuster passen, auf. Ohne Argument werden alle Umleitungen aufgelistet. |
Option | Beschreibung |
--local | Richtet die Umleitung so ein, dass die Datei durch kein Paketupgrade und durch keine Paketinstallation verändert wird. |
--package | Das als Argument übergebene Paket ist als einziges Paket nicht von der Umleitung betroffen. |
--rename | Beim Einrichten (bzw. Entfernen) wird die Datei umbenannt. Standardmäßig wird die Endung .distrib hinzugefügt (bzw. entfernt). Existierende Dateien werden nicht überschrieben, eher bricht die Umbenennung ab. |
--test | Es werden keine Änderungen vorgenommen. |
Eine vollständige Liste der Befehle und Optionen findet sich in der dpkg-divert(8) Manpage im Abschnitt COMMANDS und OPTIONS bzw. BEFEHLE und OPTIONEN.
Beispiele
Installation
sudo dpkg -i /PFAD/ZUM/PAKET/PAKET.deb
Installiert das PAKET im genannten Pfad.
Entfernen
sudo dpkg -r vim
Entfernt das Paket vim.
sudo dpkg -r vim*
Entfernt alle Pakete, deren Name mit vim beginnt.
Anzeige
dpkg -l vim*
Gibt die Informationen zum allen Paketen aus, deren Name mit vim beginnt. Oft macht es Sinn die Ausgaben beispielsweise mit grep nach den Paketstatus zu filtern.
Konfiguration beenden
sudo dpkg --configure -a
Führt alle noch ausstehenden Konfigurationsskripte aus und kann so einen abgebrochenen Installationsvorgang fortsetzen.
Konfiguration erneut durchführen
sudo dpkg-reconfigure locales
Führt die debconf Konfigurationsskripte des Pakets locales erneut aus (und generiert damit die Sprachpakete neu).
Umleitung einrichten
sudo dpkg-divert --local --rename /usr/bin/apt-build
Die Datei /usr/bin/apt-build wird für alle Pakete ohne Ausnahme auf die Datei /usr/bin/apt-build.distrib umgeleitet. Beim Erstellen der Umleitung wird die Datei direkt umbenannt.
Umleitung entfernen
sudo dpkg-divert --rename --remove /usr/bin/apt-build
Die im vorherigen Beispiel angelegte Umleitung wird wieder entfernt. Das --rename stellt sicher, dass die Datei wieder zurückumbenannt wird.
Vergisst man dies, kann man die Datei einfach manuell beispielsweise mit mv umbenennen.