[[Vorlage(Baustelle, 01.10.2012, RedKnight)]] [[Vorlage(Getestet, general)]] {{{#!vorlage Wissen [:Terminal:Ein Terminal öffnen] [:sudo:Root-Rechte] [:Paketverwaltung:] [:Shell:Bedienung des Terminals] }}} [[Inhaltsverzeichnis(1)]] =Übersicht= dpkg dient zum installieren einzelner '''.deb'''-Pakete. Das Programm stellt das Backend dar, das auch von [:APT/apt-get:apt-get] und [:aptitude:] benutzt wird. =Optionen= Für die meisten Operationen sind Rootrechte[2] 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. {{{#!vorlage Tabelle <-3 rowclass="titel"> 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.[[BR]]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 dpkg-query] auf und gibt eine Liste mit Status, Version und einer Kurzbeschreibung des Pakets aus. Statt dem Namen kann auch ein regulärer Ausdruck angegeben werden. Wird kein Argument übergeben, werden alle Paketstatus aufgelistet. Diese Option ist auch für unterprivilegierte 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 dpkg-query] auf und gibt eine Liste der im Paket enthaltenen Dateien aus. +++ `-S` `--search` Ruft [#dpkg-query 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) [:man:]-Page im Abschnitt `ACTIONS` bzw. `AKTIONEN`. ==force Optionen== {{{#!vorlage Warnung 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. {{{#!vorlage Tabelle <-2 rowclass="titel"> Kommandozeilenoptionen mit force +++ Lange Option Beschreibung +++ `--force-help` Gibt eine Liste der force-Optionen mit einer Kurzbeschreibung aus. +++ `--force-depends` Ändert Abhängigkeitsfehler zu Warnungen. Ein Paket kann so trotz fehlender Abhängigkeiten installiert werden. [:Paketverwaltung/Problembehebung#Es-werden-kaputte-Pakete-gemeldet:`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 [ubuntu:MultiarchSpec: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) [:man:]-Page 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 dpkg-deb] geregelt. Einige Optionen können auch direkt mit dem `dpkg`-Befehl angesteuert werden. {{{#!vorlage befehl dpkg-query OPTION PAKET/SUCHMUSTER }}} {{{#!vorlage Tabelle <-3 rowclass="titel"> 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 (z.B. 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) [:man:]-Page im Abschnitt `COMMANDS` bzw. `BEFEHLE`. ==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. {{{#!vorlage befehl dpkg-deb OPTION VERZEICHNIS/PAKET }}} {{{#!vorlage Tabelle <-3 rowclass="titel"> Kommandozeilenoptionen zu dpkg-deb +++ Lange Option Kürzel 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) [:man:]-Page im Abschnitt `COMMANDS` bzw. `BEFEHLE`. =Beispiele= ==Installation== {{{#!vorlage befehl dpkg -i /PFAD/ZUM/PAKET/PAKET.deb }}} Installiert das `PAKET` im genannten Pfad. ==Entfernen== {{{#!vorlage befehl dpkg -r vim }}} Entfernt das Paket '''vim'''. {{{#!vorlage befehl dpkg -r vim* }}} Entfernt alle Pakete, deren Name mit `vim` beginnt. ==Anzeige== {{{#!vorlage befehl dpkg -l vim* }}} Gibt die Informationen zum allen Paketen aus, deren Name mit `vim` beginnt. ==Konfiguration beenden== {{{#!vorlage befehl dpkg --configure -a }}} Führt alle noch ausstehenden Konfigurationsskripte aus und kann so einen abgebrochenen Installationsvorgang fortsetzen. ==Konfiguration erneut durchführen== {{{#!vorlage befehl dpkg-reconfigure locales }}} Führt die [:debconf:] Konfigurationsskripte des Pakets '''locales''' erneut aus (und generiert damit die Sprachpakete neu). =Links= =Intern= * [:Paketverwaltung/Problembehebung:] - Sammlung häufiger Probleme und ihrer Lösung * [:debconf:] - * [:dpkg-www:] - Das lokale Softwareverzeichnis per Webbrowser durchsuchen * [:APT:] {Übersicht} * [:APT/apt-get:apt-get] - Frontend zur Bedienung der Paketverwaltung * [:aptitude:] - Frontend zur Bedienung der Paketverwaltung =Extern= * [http://debiananwenderhandbuch.de/dpkg.html dpkg] {de} im Debian-Anwenderbuch * [http://linux.die.net/man/1/dpkg Manpage] {en} bei linux.die.net * [http://linux.die.net/man/1/dpkg-deb dpkg-deb] {en} bei linux.die.net * [http://linux.die.net/man/1/dpkg-query dpkg-query] {en} bei linux.die.net #tag: System, Shell, Installation, Server, Paketverwaltung