Von „Paketverwaltung Problembehebung“ weitergeleitet.

Problembehebung

Dieser Artikel wurde für die folgenden Ubuntu-Versionen getestet:

Dieser Artikel ist größtenteils für alle Ubuntu-Versionen gültig.

Zum Verständnis dieses Artikels sind folgende Seiten hilfreich:

Durch fehlerhafte oder unpassende Paketquellen, durch die Installation mangelhaft erstellter Pakete oder durch Abstürze bei aktiver Verwendung kann es zu Problemen mit der Paketverwaltung kommen. Folgendes Schaubild verdeutlicht, dass die Fehler an unterschiedlichen Stellen und in verschiedenen Programmen auftreten können.

Paketverwaltung/dpkg_apt_usw.png

In diesem Artikel soll versucht werden, Probleme mit der Paketverwaltung und ihre Lösung zu schildern.

Abhängigkeiten verhindern die Installation eines Pakets

Fehlermeldung (Beispiel)

Die folgenden Pakete besitzen unerfüllte Abhängigkeiten:
kdelibs3-devel: Hängt ab von: libxslt-devel aber es wird nicht installiert werden
Hängt ab von: libxml2-devel aber es wird nicht installiert werden

Gefährlicher ist es, wenn die Installation zwar möglich ist, aber nur um den Preis der Deinstallation zahlreicher anderer Komponenten, die man möglicherweise benötigt. Wenn gewarnt wird, dass Pakete deinstalliert werden, ohne dass man damit gerechnet hat, sollte man die Aktion im Zweifelsfall abbrechen.

Dieses Problem tritt vor allem dann auf, wenn man Paketquellen verwendet, die nicht für Ubuntu geeignet sind.

Lösung

Nur speziell für Ubuntu ausgewiesene Paketquellen verwenden (siehe auch Fremdquellen).

Zurücksetzen der Konfigurationsdateien

Wurde an den systemweiten Konfigurationsdateien Änderungen vorgenommen, die zu Fehlern führen, ist aber eine funktionierende Form nicht mehr rekonstruierbar, so kann mit folgendem Befehl das Paket reinstalliert werden, sodass alle Paketdateien inkl. der Konfigurationsdateien durch den Standard ersetzt werden:

sudo apt-get -o dpkg::options::="--force-confnew" -o dpkg::options::="--force-confmiss" --reinstall install PAKET 

Es werden "kaputte" Pakete gemeldet

Fehlermeldung (Beispiel)

Die folgenden Pakete besitzen unerfüllte Abhängigkeiten:
  z600cups: Hängt ab von: cups (>= 1:1.1.15-10) aber 1.1.20-103 ist installiert
E: Unerfüllte Abhängigkeiten. Versuche -f zu benutzen.

Dieses Problem tritt dann auf, wenn man ein Paket "von Hand" installiert hat, ohne dessen Abhängigkeiten zu erfüllen.

Lösung

Im Terminal ist der vorgeschlagene Konsolenbefehl einzugeben [1]:

sudo apt-get -f install 

Die Installation von Paketen wurde unterbrochen

Fehlermeldung

E: dpkg was interrupted, you must manually run 'dpkg --configure -a' to correct the problem.

Wenn während der Installation von Paketen die Stromzufuhr des Rechners unterbrochen wird, kann das auch für die Paketverwaltung Folgen haben. Fand der Ausfall während des Downloads und somit vor der eigentlichen Installation statt, kann der Installationsvorgang wiederholt werden, sodass dieser automatisch an passender Stelle fortgesetzt wird. Wenn aber bereits Dateien eines Pakets installiert wurden, ohne dass die Installation oder Konfiguration zu Ende geführt wurde, gibt es eine entsprechende Fehlermeldung.

Lösung

Wie in der Meldung angegeben ist im Terminal [1] der entsprechende Befehl auszuführen:

sudo dpkg --configure -a 

Die Installation/Deinstallation von Paketen endet mit Fehlermeldungen

Fehlermeldung (Beispiele)

dpkg: Fehler beim Bearbeiten von gettext (--configure):
 Unterprozess post-installation script gab den Fehlerwert 1 zurück

dpkg: Fehler beim Bearbeiten von magicolor2530dl (--remove):
 Unterprozess post-removal script gab den Fehlerwert 2 zurück

Bei der Abarbeitung von postinst/preinst- bzw. postrm/prerm-Maintainer Skripten {en} kommt es zu Fehlern.

Lösung

Eine nicht ganz saubere Lösung ist es, diese entsprechenden Skripte umzubenennen. Diese Scripte befinden sich in /var/lib/dpkg/info/.

Achtung!

Nur die zum entsprechenden Paket gehörigen Skripte umbenennen.

Besser (aber schwieriger) ist es, beim entsprechende Skript zu überprüfen, welche Bedingung nicht stimmt und es deswegen zu der Fehlermeldung kommt.

Ungültige Signatur von Paketquellen

Fehlermeldung (Beispiel)

W: GPG-Fehler: http://de.archive.ubuntu.com maverick Release: 
Die folgenden Signaturen waren ungültig: BADSIG 40976EAF237D05B5 Ubuntu Archive Automatic Signing Key <ftpmaster@ubuntu.com>
W: Fehlschlag beim Holen von http://extras.ubuntu.com/ubuntu/dists/maverick/Release  

Dieses Problem kann nach einer Systemaktualisierung auftreten.

Lösung

sudo rm /var/lib/apt/lists/ -r
sudo mkdir -p /var/lib/apt/lists/partial  # Für Versionen bis Ubuntu 10.04 Lucid Lynx
sudo apt-get update 

Den Speicherbereich für Statusinformationen jeder in der sources.list angegebenen Paketquelle zurücksetzen und neu laden.

Fehler beim Einlesen der Paketliste

Fehlermeldung (Beispiel)

Bitte melden Sie einen Fehler im Paket »update-manager« und fügen Sie die folgende Fehlermeldung an den Fehlerbericht an:

'E:Encountered a section with no Package: header, E:Problem with MergeList /var/lib/apt/lists/archive.canonical.com_ubuntu_dists_natty_partner_i18n_Translation-de, E:Die Paketliste oder die Statusdatei konnte nicht eingelesen oder geöffnet werden.'

Dieses Problem kann nach einer Systemaktualisierung auftreten.

Lösung

Es ist der selbe Lösungsansatz wie bei Ungültige Signatur von Paketquellen anzuwenden.

Öffentlicher Schlüssel von extras.ubuntu.com fehlt

W: GPG-Fehler: http://extras.ubuntu.com oneiric Release: Die folgenden Signaturen konnten nicht überprüft werden, weil ihr öffentlicher Schlüssel nicht verfügbar ist: NO_PUBKEY 16126D3A3E5C1192

Dieses Problem kann nach einer Systemaktualisierung auftreten.

Lösung

Kann der Schlüssel nicht mit apt/apt-key importiert werden, hilft eine Neuinstallation des Pakets ubuntu-extras-keyring:

sudo apt-get --reinstall install ubuntu-extras-keyring 

Aktualisieren schlägt fehl

Fehlermeldung (Beispiel)

W: GPG error: http://ppa.launchpad.net jaunty Release: The following signatures couldn't be 
verified because the public key is not available: NO_PUBKEY 632D16BB0C7135A6

Ggf. funktioniert das Aktualisieren eines aufgenommenen PPAs nicht reibungslos, weil der Schlüssel trotz ordnungsgemäßen Vorgehens nicht installiert wurde (insbesondere unter Ubuntu 11.10 vermehrt beobachtet).

Lösung

Diese Meldung besagt, dass der Authentifizierungsschlüssel nicht importiert wurde. Gelöst werden kann das Problem in diesem Beispiel mit dem Befehl

sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 632D16BB0C715DA6 

Die Schlüsselnummer muss natürlich entsprechend der Fehlermeldung angepasst werden, siehe ggf. auch auf launchpad.net {en}.

Fehler beim Reaktivieren gelöschter PPAs

Falls beim Wiederaktivieren eines zuvor deaktivierten oder gelöschten PPAs Probleme beim Importieren des Signierungsschlüssels auftreten, muss dieser zuerst komplett aus den APT-Schlüsseldatenbanken entfernt werden.

Um den Name (ID) des richtigen Schlüssels zu erfahren, kann man direkt in der Datenbank nachschauen:

sudo apt-key list --keyring /etc/apt/trusted.gpg
sudo apt-key list --keyring /etc/apt/trusted.gpg~  

Ein Ausschnitt könnte folgendermaßen aussehen:

[...]

pub   1024R/12DE56F8 2011-01-01
uid                  Launchpad PPA for Ubuntu User

pub   1024R/5753AA42 2010-11-23
uid                  Launchpad PPA for Edubuntu Developers

[...]

Soll nun der Schlüssel des PPAs von "Ubuntu User" entfernt werden, werden die folgenden zwei Befehle ausgeführt:

sudo apt-key del --keyring /etc/apt/trusted.gpg 12DE56F8
sudo apt-key del --keyring /etc/apt/trusted.gpg~ 12DE56F8  

Abschließend muss noch der Speicherbereich für Statusinformationen nach Paketverwaltung/Problembehebung zurückgesetzt werden.

Hinweis:

Das Entferen eines PPAs mit ppa-purge reicht nicht aus, da die Schlüssel nicht entfernt werden, sondern lediglich die Quelle deaktiviert wird (und das Paket auf die nächstniedrigere Version zurückgesetzt wird).

Fehler beim Setzen des Eigentümers

Fehlermeldung (Beispiel)

dpkg: Fehler beim Bearbeiten von /var/cache/apt/archives/linux-image-3.0.0-12-generic_3.0.0-12.20_i386.deb (--unpack):
 Fehler beim Setzen des Eigentümers von »./boot/vmlinuz-3.0.0-12-generic«: Die Operation ist nicht erlaubt
dpkg-deb: Fehler: Unterprozess einfügen wurde durch Signal (Datenübergabe unterbrochen (broken pipe)) getötet
Examining /etc/kernel/postrm.d .
run-parts: executing /etc/kernel/postrm.d/initramfs-tools 3.0.0-12-generic /boot/vmlinuz-3.0.0-12-generic
run-parts: executing /etc/kernel/postrm.d/zz-update-grub 3.0.0-12-generic /boot/vmlinuz-3.0.0-12-generic
Fehler traten auf beim Bearbeiten von:
 /var/cache/apt/archives/linux-image-3.0.0-12-generic_3.0.0-12.20_i386.deb
E: Sub-process /usr/bin/dpkg returned an error code (1) 

Dieser Fehler tritt auf, wenn Systemverzeichnisse sich nicht auf einem Linux-Dateisystem befinden.

Lösung

Systemordner über fstab in Dateisystem mit ausreichender Rechteverwaltung einbinden. U.U. muss eine entsprechende Partition erst angelegt werden: Manuelle Partitionierung

Lockdatei konnte nicht geöffnet werden

Fehlermeldung (Beispiel)

E: Lockdatei /var/lib/apt/lists/lock konnte nicht geöffnet werden - open (2: Datei oder Verzeichnis nicht gefunden)

Lösung

Arbeitet bereits ein anderes Programm zur Paketverwaltung im Hintergrund? Dies kontrolliert man zuerst mit

sudo lsof /var/cache/apt/archives/lock 

um dann gegebenenfalls mit ps herauszufinden, welcher Prozess die Paketverwaltung blockiert. Warten auf das Terminieren des Prozesses löst das Problem meist. Sollte der Prozess hängen, kann er mit kill zum Beenden gezwungen werden. Sollte der Lock danach immer noch nicht freigegeben sein, kann man als letzte Möglichkeit den Lock mit Rootrechten löschen. Nach dem Löschen muss ein neuer Lock angelegt werden, zum Beispiel mit

sudo touch /var/cache/apt/archives/lock 

Listenverzeichnis kann nicht gesperrt werden

Fehlermeldung (Beispiel)

E: Das Listenverzeichnis kann nicht gesperrt werden

Lösung

Unter Ubuntu 10.04 wird ein fehlendes Verzeichnis für Statusinformationen während der Aktualisierung der Paketindexdateien nicht automatisch angelegt. Durch Neuanlegen des Verzeichnisses wird das Problem behoben:

sudo mkdir -p /var/lib/apt/lists/partial 

Fehler in /var/lib/dpkg/available

Fehlermeldung (Beispiel)

Vorkonfiguration der Pakete ...
dpkg: Fehler: Parsen der Datei »/var/lib/dpkg/available«, nahe Zeile 0:
 nach Feldname »../../../../share/pyshared/UpdateManager/check-meta-release.py« muss ein Doppelpunkt folgen
E: Sub-process /usr/bin/dpkg returned an error code (2)

Durch Verletzen der Policy von Versionsbezeichnung von Maintainern, kann es zu Meldungen bezüglich fehlender oder nicht erlaubter Zeichen kommen.

Lösung

Durch Entfernen der Datei /var/lib/dpkg/available wird das Problem behoben:

sudo dpkg --clear-avail 

Soll die Datei aus den verfügbaren Paketversionen aus den Paketquellen neu generiert werden, wird folgender Befehl verwendet:

sudo dselect update 

Zu Hostnamen gehört keine Adresse

Fehlermeldung (Beispiel)

W: Fehlschlag beim Holen von http://archieve.ubuntu.com/dists/oneiric-security/restricted/i18n/Translation-de Beim Auflösen von »archieve.ubuntu.com:http« ist etwas Schlimmes passiert (-5 - Zu diesem Hostnamen gehört keine Adresse)

Bei fehlerhaft eingetragenen oder nicht mehr vorhandenen Paketquellen bzw. fehlerhaften Netzwerkeinstellungen kann es zu dieser Fehlermeldung kommen.

Lösung

Manuell die Paketquellen in der Datei /etc/apt/sources.list korrigieren. Dabei auf Rechtschreibfehler und nicht mehr vorhandene Paketquellen achten. Sollten diese Angaben korrekt sein, muss der Netzwerkzugang auf statische bzw. dynamische IP-Zuweisung untersucht werden.

Hinweis:

Bei neueren Ubuntu-Versionen sollten auch Einträge im Ordner /etc/apt/sources.list.d/ überprüft werden.

Paketverwaltung unbrauchbar

Fehlermeldung (Beispiel)

Es kann vorkommen, dass die Paketverwaltung aufgrund einer Beschädigung des Zwischenspeichers zum Speichern von "verfügbaren" Informationen nicht mehr funktioniert und z.B. ein

sudo apt-get check 

mit folgender Fehlermeldung abbricht:

Segmentation faulty Tree

Lösung

Dieser Missstand kann durch das Löschen der beiden Zwischenspeicherdateien /var/cache/apt/pkgcache.bin und /var/cache/apt/srcpkgcache.bin mit Root-Rechten [2] behoben werden.

Dateilisten-Datei beschädigt

Fehlermeldung (Beispiel)

Extrahiere Vorlagen aus Paketen: 100%
Vorkonfiguration der Pakete ...
(Lese Datenbank ... 55%dpkg: nicht behebbarer fataler Fehler, Abbruch:
 Abschließender Zeilenvorschub fehlt in Dateilisten-Datei des Paketes »pulseaudio-module-bluetooth«
E: Sub-process /usr/bin/dpkg returned an error code (2)

Nach einem Festplatten- oder Speicherfehler, bzw. wenn der Paket-Entpackprozess unterbrochen wurde, kann die entsprechende Datei unter /var/lib/dpkg/info/PAKET.list beschädigt sein.

Lösung

Mit folgendem Vorgehen wird die entsprechend beschädigte Datei unter /var/lib/dpkg/info/PAKET.list neu generiert. Dazu wird zuerst das entsprechende Paket heruntergeladen (sollte sich das Paket noch im Cache unter /var/cache/apt/archives/ befinden, kann dieser Schritt übersprungen werden):

sudo apt-get --download-only --reinstall PAKET 

Abschließend wird die Dateilisten-Datei generiert und am entsprechenden Ort mit dem an 4 Stellen anzupassenden Befehl gespeichert:

dpkg -c /var/cache/apt/archives/PAKET_VERSION_ARCHITEKTUR.deb | awk '{if ($6 == "./") { print "/."; } else if (substr($6, length($6), 1) == "/") {print substr($6, 2, length($6) - 2); } else { print substr($6, 2, length($6) - 1);}}' | sudo tee /var/lib/dpkg/info/PAKET.list 

Achtung!

Die Umleitung in die Datei /var/lib/dpkg/info/PAKET.list muss korrekt angepasst werden, da bei falscher Bezeichnung die Paketverwaltung weiter beschädigt werden könnte, indem andere Dateilistendateien überschrieben werden.

Sämtliche Pakete neu installieren

Sind sehr viele Pakete in schlechtem Zustand, lohnt es sich eventuell, alle installierten Programme neu aus den Quellen herunterzuladen und zu installieren:

dpkg --get-selections | grep "\binstall" | awk '{print $1}' > /tmp/dpkg.log 

sucht alle installierten Pakete und speichert diese in der Datei /tmp/dpkg.log.

sudo xargs -n1 apt-get --reinstall install -y < /tmp/dpkg.log 

nimmt einen Eintrag aus /tmp/dpkg.log und installiert diese Pakete erneut.

Diese Revision wurde am 18. Januar 2012 um 01:15 Uhr von Lasall erstellt.
Dieser Seite wurden folgende Begriffe zugeordnet: Paketverwaltung

Passwort vergessen?