Bei der Installation von Programmen mit aptitude oder apt-get auf Debian GNU/Linux (oder Derivaten) wird eine Lock-Datei angelegt, damit zwei Administratoren nicht gleichzeitig in den kritischen Bereich kommen können. Führt man die Installation z.B. via SSH durch und die Verbindung wird unerwartet unterbrochen, bleibt die Lock-Datei erhalten, wenn Benutzereingaben für die Installation erforderlich waren. Verbindet man sich anschließend erneut via SSH und möchte die Installation erneut durchführen, wird folgende Fehlermeldung ausgegeben:
debconf: DbDriver "config": /var/cache/debconf/config.dat is locked by another process
Diese Meldung besagt, dass die Lock-Datei bereits existiert, sich derzeit jemand im kritischen Bereich befindet und deshalb keine Installation durchgeführt werden kann. Da wir allerdings wissen, dass die SSH-Verbindung unterbrochen wurde und deshalb noch der “alte” Installationsprozess den Zugriff auf aptitude bzw. apt-get blockiert, können wir diesen beenden. Mit dem folgenden Befehl erfahren wir, welcher Prozess die Datei blockiert:
fuser -v /var/cache/debconf/config.dat
Die Ausgabe sieht wie folgt aus:
USER PID ACCESS COMMAND /var/cache/debconf/config.dat: root 4233 f.... dpkg-preconfigu
Wir erkennen, dass der Prozess “dpkg-preconfigu” mit der PID “4233″ die Datei blockiert, deshalb beenden wir diesen mit dem folgenden Befehl:
kill -9 4233
Diesen Vorgang wiederholen wir solange, bis “fuser -v /var/cache/debconf/config.dat” keinen blockierenden Prozess mehr auflistet. Abschließend entfernen wir noch die Lock-Datei und einer weiteren/erneuten Installation mittels aptitude oder apt-get steht nichts mehr im Wege:
rm -R /var/lib/dpkg/lock
Für alle Befehle sind Superuser-Rechte (root) erforderlich.
Verwandte Beiträge
- Debian Archive Signing Keys aktualisieren
- Debian mit festen Freeze-Zeitpunkten
- Hostname auf HostEurope vServer setzen
- Debian GNU/Linux 5.0 veröffentlicht
- sudo für Benutzer erlauben
7. October 2008 - 15:24
Hallo,
für das Arbeiten auf der Konsole an entfernten Systemen empfehle ich die Nutzen von “screen”. Damit stellen Verbindungsabbrüche keine Probleme mehr dar – unabhängig davon, was man an der Konsole geraede macht. Man kann die Verbindung auch bewusst beenden um sie später wieder aufzunehmen.
Mehr Info: http://de.wikipedia.org/wiki/GNU_Screen
Gruss
Marcus
12. April 2011 - 02:24
Hallo,
Thanks a alot, it was really helpfull!
Dhia
14. December 2011 - 15:24
Prima Artikel – verständlicher Text, übersichtliche Gestaltung und hat effektiv geholfen