GNU/Linux >> LINUX-Kenntnisse >  >> Ubuntu

Behebung des Fehlers „Sperre /var/lib/dpkg/lock konnte nicht abgerufen werden“ ein für alle Mal (Ubuntu)

Die Meldung „could not get lock /var/lib/dpkg/lock ” Fehler ist ziemlich häufig in Debian/Ubuntu, das in einer virtuellen Maschine ausgeführt wird. Vorhandene Problemumgehungen im Internet (z. B. Beenden des apt-get-Prozesses oder Entfernen der Sperrdatei) sind nicht ideal, da sie Ihr System beschädigen können und Sie in Zukunft wieder mit demselben Fehler konfrontiert werden.

Fehler „Sperre /var/lib/dpkg/lock konnte nicht abgerufen werden“ ein für alle Mal behoben

Ich werde Ihnen die wahre Ursache dieses Fehlers mitteilen und Ihnen zeigen, wie Sie ihn ein für alle Mal beheben können. Die Fehlermeldung lautet wie folgt:

E: Could not get lock /var/lib/dpkg/lock - open (11: Resource temporarily unavailable)
E: Unable to lock the administration directory (/var/lib/dpkg), is another process using it?

Die Fehlermeldung gibt bereits einen Hinweis auf die Ursache des Problems:Ein anderer Prozess verwendet /var/lib/dpkg/ . Dies liegt daran, dass Ubuntu standardmäßig unbeaufsichtigte Upgrades für Sicherheitsupdates aktiviert.

Wenn Ihr Ubuntu-Betriebssystem mit dem Booten fertig ist, führt es automatisch das apt-get update aus Befehl. Wenn Sicherheitsupdates verfügbar sind, werden diese im Hintergrund installiert. Wenn Sie also sudo apt upgrade ausführen Befehl gleichzeitig wird der obige Fehler angezeigt. Da Sie Ubuntu in Virtualbox oder VMware Workstation nicht so oft verwenden wie Ubuntu auf Bare Metal, wird Ihre virtuelle Ubuntu-Maschine selten aktualisiert, sodass Sie diesen Fehler häufiger in der virtuellen Maschine sehen.

Unabhängig davon, ob Sie Ubuntu Desktop auf Bare Metal oder in einer virtuellen Maschine verwenden, können Sie unbeaufsichtigte Upgrades deaktivieren, um dieses Problem ein für alle Mal zu lösen.

Hinweis:Dieser Fehler tritt selten auf Ubuntu-Servern auf und es wird empfohlen, unbeaufsichtigte Upgrades auf Servern zu aktivieren, um Sicherheitsupdates automatisch zu installieren.

Hier ist wie. Öffnen Sie Software & Updates aus Ihrem Anwendungsmenü.

Klicken Sie dann auf updates Tab. Standardmäßig werden Sicherheitsupdates automatisch heruntergeladen und installiert. Sie können es auf display immediately ändern , also wird sudo apt-get upgrade nicht ausgeführt Befehl im Hintergrund.

Geben Sie dann Ihr Benutzerkennwort ein, damit diese Änderung wirksam wird.

Starten Sie danach Ihren Computer neu.

Unbeaufsichtigte Upgrades über die Befehlszeile deaktivieren

Sie können die gleichen Ergebnisse auch über die Befehlszeile erzielen. Öffnen Sie in Ihrem Terminal /etc/apt/apt.conf.d/20auto-upgrades Datei mit einem Befehlszeilen-Texteditor wie nano.

sudo nano /etc/apt/apt.conf.d/20auto-upgrades

Der ursprüngliche Inhalt lautet wie folgt:

APT::Periodic::Update-Package-Lists "1";
APT::Periodic::Download-Upgradeable-Packages "1";
APT::Periodic::AutocleanInterval "0";
APT::Periodic::Unattended-Upgrade "1";

Um das automatische Sicherheitsupdate zu deaktivieren, ändern Sie sie in

APT::Periodic::Update-Package-Lists "1";
APT::Periodic::Download-Upgradeable-Packages "0";
APT::Periodic::AutocleanInterval "0";
APT::Periodic::Unattended-Upgrade "0";

Um die Datei im Nano-Texteditor zu speichern, drücken Sie Ctrl+O , und drücken Sie dann die Eingabetaste, um den Dateinamen zu bestätigen. Drücken Sie Ctrl+X beenden. Starten Sie dann Ihren Computer neu.

Aktualisieren

Ein Leser sagte mir, dass nach Befolgen der obigen Anweisung die Fehlermeldung immer noch zu sehen ist, wenn er sudo apt update ausführt Befehl sofort, nachdem Ubuntu den Startvorgang beendet hat. Das liegt daran, dass der Hintergrund „apt update ” ist noch nicht fertig.

Wenn Sie häufig Pakete manuell aktualisieren, würde ich empfehlen, „automatisch nach Updates suchen“ auf weekly zu setzen statt daily . Um die Fehlermeldung wirklich ein für alle Mal zu beheben, setzen Sie den Wert auf Never .

Wann führt Ubuntu unbeaufsichtigte Upgrades durch?

Ubuntu führt nach dem Systemstart unbeaufsichtigte Upgrades durch. Auch Systemd kann unbeaufsichtigte Upgrades durchführen. Der apt-daily.service wird verwendet, um die Paketliste täglich und apt-daily-upgrade.service zu aktualisieren wird verwendet, um täglich Sicherheitsupdates herunterzuladen und zu installieren. Sie können ihren Status überprüfen mit:

systemctl status apt-daily.service

systemctl status apt-daily-upgrade.service

apt-daily.service wird von apt-daily.timer gesteuert . Ein Timer ist wie ein Cron-Job, der zu bestimmten Zeiten einen systemd-Dienst mit demselben Namen ausführt. Der apt-daily.timer Die Konfigurationsdatei ist /lib/systemd/system/apt-daily.timer . Sie können den Inhalt überprüfen mit:

cat /lib/systemd/system/apt-daily.timer

Ausgabe:

[Unit]
Description=Daily apt download activities

[Timer]
OnCalendar=*-*-* 6,18:00
RandomizedDelaySec=12h
Persistent=true

[Install]
WantedBy=timers.target

Die grüne Linie zeigt an, dass apt-daily.service findet täglich um 6:00 und 18:00 Uhr statt. RandomizedDelaySec=12h bedeutet, dass die Aktion um 0 ~ 12 Stunden verschoben wird, wenn ein anderer Timer die gleiche Startzeit hat.

apt-daily-upgrade.service wird von apt-daily-upgrade.timer gesteuert , dessen Konfigurationsdatei /lib/systemd/system/apt-daily-upgrade.timer ist .

cat /lib/systemd/system/apt-daily-upgrade.timer

Ausgabe:

[Unit]
Description=Daily apt upgrade and clean activities
After=apt-daily.timer

[Timer]
OnCalendar=*-*-* 6:00
RandomizedDelaySec=60m
Persistent=true

[Install]
WantedBy=timers.target

Wie Sie sehen können, apt-daily-upgrade.service wird täglich um 6:00 Uhr ausgeführt. RandomizedDelaySec=60m bedeutet, dass die Aktion um 0 ~ 60 Minuten verschoben wird, wenn ein anderer Timer die gleiche Startzeit hat.

Die beiden .service Dateien und zwei .timer Dateien werden von apt installiert Paket, das auch mit /usr/lib/apt/apt.systemd.daily kommt Shell-Skript, das von apt-daily.service ausgeführt wird und apt-daily-upgrade.service .

Die /usr/lib/apt/apt.systemd.daily Shell-Skript liest Konfigurationen aus /etc/apt/apt.conf.d/20auto-upgrades Datei. Um den obigen Fehler zu beheben, müssen Sie also nicht die beiden Timer deaktivieren.

Das ist es! Ich hoffe, dieser Artikel hat Ihnen geholfen, das Problem „could not get lock /var/lib/dpkg/lock ” Fehler auf Ubuntu. Wenn Sie diesen Beitrag nützlich fanden, abonnieren Sie wie immer unseren kostenlosen Newsletter, um weitere Tipps und Tricks zu erhalten. Pass auf dich auf 🙂


Ubuntu
  1. Ubuntu E:Lock /var/lib/dpkg/lock Fehler konnte nicht abgerufen werden – Jetzt beheben?

  2. Unterschied zwischen /var/log/messages, /var/log/syslog und /var/log/kern.log?

  3. Update-alternatives:Fehler:/var/lib/dpkg/alternatives/vim Korrupt:Ungültiger Status?

  4. Warum funktionieren auf Ubuntu 14.04 erstellte Webp-Dienstprogramme nicht und zeigen einen Bibliotheksfehler an?

  5. So beheben Sie den Fehler „Lock / var / lib / dpkg / lock – open (11 Ressource vorübergehend nicht verfügbar) konnte nicht abgerufen werden

So beheben Sie den Fehler „E:Sperre /var/lib/dpkg/lock konnte nicht abgerufen werden“ auf Ubuntu

Fix „Unterprozess /usr/bin/dpkg hat einen Fehlercode (1) zurückgegeben“ in Ubuntu

So lösen Sie den Fehler „E:Sperre /var/lib/dpkg/lock konnte nicht abgerufen werden“ in Ubuntu

So beheben Sie den Fehler „E:Sperre /var/lib/dpkg/lock konnte nicht abgerufen werden“ in Ubuntu Linux

Behebung des Fehlers „Paketdatei /var/lib/apt/lists kann nicht analysiert werden“ in Ubuntu und anderen Linux-Distributionen

Ubuntu 17.10 Bildschirmsperre funktioniert nicht und ist grau?