Jul 01

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

3 Kommentare to “debconf: DbDriver “config”: /var/cache/debconf/config.dat is locked by another process”

  1. Marcus Fihlon:


    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

  2. Dhia:


    Hallo,
    Thanks a alot, it was really helpfull!

    Dhia

  3. Matilda:


    Prima Artikel – verständlicher Text, übersichtliche Gestaltung und hat effektiv geholfen :) vielen Dank!

Kommentar schreiben