Fix Kënnt net d'Administratiounsverzeechnes gespaart (/var/lib/dpkg/) an Ubuntu


Wann Dir den APT Package Management Tool an Ubuntu Linux benotzt oder seng Derivate wéi Linux Mint (déi ech tatsächlech als mäi primäre Betribssystem benotze fir alldeeglech Aarbecht ze maachen), hutt Dir vläicht de Feeler begéint - \net fäeg d'Administratiounsverzeechnes ze spären (/ var/lib/dpkg/) ass en anere Prozess deen et benotzt op der Kommandozeil.

Dëse Feeler kann esou lästeg sinn besonnesch fir nei Linux (Ubuntu) Benotzer déi vläicht net genau d'Ursaach vum Feeler wëssen.

Drënner ass e Beispill, deen de Sperrdateierfehler an Ubuntu 16.10 weist:

[email :~$ sudo apt install neofetch
[sudo] password for tecmint:
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?

D'Ausgab hei ënnen ass eng aner méiglech Instanz vum selwechte Feeler:

E: Could not get lock /var/lib/apt/lists/lock - open (11: Resource temporarily unavailable)
E: Unable to lock directory /var/lib/apt/lists/ 
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?

Wéi kënnt Dir den uewe genannte Feeler léisen am Fall wou Dir an der Zukunft stousse? Et gi verschidde Weeër fir mat dëse Feeler (en) ëmzegoen, awer an dësem Guide wäerte mir déi zwee einfachsten a méiglecherweis déi effektivste Weeër duerchgoe fir et ze léisen.

1. Fannt a Kill all apt-get oder apt Prozesser

Fëllt de Kommando hei ënnen fir grep Kommandoen zesummen mat enger Pipeline.

$ ps -A | grep apt

Fir all apt-get oder apt Prozess deen Dir am Output vum Kommando hei uewen kënnt gesinn, kill all Prozess mat dem Kommando hei drënner.

De Prozess ID (PID) gëtt an der éischter Kolonn vum Screenshot uewen fonnt.

$ sudo kill -9 processnumber
OR
$ sudo kill -SIGKILL processnumber

Zum Beispill, am Kommando hei drënner wou 9 d'Signalnummer fir de SIGKILL Signal ass, wäert den éischten apt Prozess ëmbréngen:

$ sudo kill -9 13431
OR
$ sudo kill -SIGKILL 13431

2. Läschen d'Spär Dateien

Eng Sperrdatei verhënnert einfach Zougang zu aner Datei(en) oder e puer Daten op Ärem Linux System, dëst Konzept ass och a Windows an aner Betribssystemer präsent.

Wann Dir en apt-get oder apt Kommando leeft, gëtt eng Spärdatei ënner engem vun dësen Verzeichnisser erstallt /var/lib/apt/lists/, /var/lib/dpkg/ an /var/cache/apt/archives/.

Dëst hëlleft den apt-get oder apt-Prozess ze vermeiden, dee scho leeft, vun entweder e Benotzer oder aner Systemprozesser ënnerbrach ze ginn, déi mat Dateie musse schaffen, déi vun apt-get oder apt benotzt ginn. Wann de Prozess fäerdeg ass, gëtt d'Spärdatei geläscht.

Wichteg: Am Fall wou e Spär nach ëmmer an den zwee Verzeichnisser hei uewen erausgeet ouni merkbar apt-get oder apt Prozess ze lafen, kann dat heeschen datt de Prozess aus engem oder anere Grond ofgehale gouf, dofir musst Dir d'Spärdateien läschen fir läschen de Feeler.

Fir d'éischt de Kommando hei ënnen auszeféieren fir d'Spärdatei am /var/lib/dpkg/ Verzeichnis ze läschen:

$ sudo rm /var/lib/dpkg/lock

Duerno forcéiere Package(n) fir nei ze konfiguréieren sou:

$ sudo dpkg --configure -a

Alternativ, läscht d'Spärdateien am /var/lib/apt/lists/ a Cache-Verzeichnis wéi hei ënnen:

$ sudo rm /var/lib/apt/lists/lock
$ sudo rm /var/cache/apt/archives/lock

Als nächst, update Är Packagen Quell Lëscht wéi follegt:

$ sudo apt update
OR
$ sudo apt-get update

Als Conclusioun hu mir zwee wichteg Methoden duerchgaang fir mat engem gemeinsame Problem ze këmmeren deen Ubuntu (a seng Derivate) Benotzer konfrontéiert hunn, wärend apt-get oder apt souwéi Aptitude Kommandoen lafen.

Hutt Dir aner zouverlässeg Methoden fir ze deelen fir mat dësem gemeinsame Feeler ze këmmeren? Da kontaktéiert eis iwwer de Feedbackformular hei ënnen.

Zousätzlech wëllt Dir och kill, pkill a killall Kommandoen léieren fir e Prozess am Linux ofzeschléissen.