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.
Recent Comments