A "Nem lehet zárolni az adminisztrációs könyvtárat (/var/lib/dpkg/)" javítás az Ubuntuban
Az apt-get parancs vagy a viszonylag új APT csomagkezelő eszköz használata közben az Ubuntu Linuxban vagy annak származékaiban, például a Linux Mintben (amelyet tulajdonképpen elsődleges operációs rendszerként használok napi munkát végez), előfordulhat, hogy a hibaüzenetet tapasztalta – „nem tudja zárolni az adminisztrációs könyvtárat (/var/lib/dpkg/), egy másik folyamat használja ezt a parancssort.
Ez a hiba különösen bosszantó lehet az új Linux (Ubuntu) felhasználók számára, akik esetleg nem tudják pontosan a hiba okát.
Az alábbiakban egy példa látható az Ubuntu 16.10 zárfájl-hibájára:
tecmint@TecMint:~$ 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?
Az alábbi kimenet ugyanennek a hibának egy másik lehetséges példánya:
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?
Hogyan lehet megoldani a fenti hibát, ha a jövőben beleütközik? A hiba(ok) kezelésének többféle módja van, de ebben az útmutatóban a megoldás két legegyszerűbb és valószínűleg leghatékonyabb módját fogjuk áttekinteni.
1. Keresse meg és ölje meg az összes apt-get vagy apt folyamatot
Futtassa az alábbi parancsot, hogy létrehozzon egy listát azokról a folyamatokról, amelyek neve az apt szóból áll. Ekkor megjelenik egy lista, amely tartalmazza az összes apt vagy apt-get< elemet. folyamatokat a ps
és grep parancsok és egy folyamat segítségével.
ps -A | grep apt
Minden egyes apt-get vagy apt folyamatnál, amelyet a fenti parancs kimenetében láthat, állítsa le az egyes folyamatokat az alábbi paranccsal.
A folyamat azonosítója (PID) a fenti képernyőkép első oszlopában található.
sudo kill -9 processnumber
OR
sudo kill -SIGKILL processnumber
Például az alábbi parancsban, ahol a 9
a SIGKILL jel jelszáma, leállítja az első apt folyamatot:
sudo kill -9 13431
OR
sudo kill -SIGKILL 13431
2. Törölje a zárolási fájlokat
A zárolási fájl egyszerűen megakadályozza a hozzáférést egy másik fájl(ok)hoz vagy bizonyos adatokhoz a Linux rendszeren. Ez a fogalom a Windowsban és más operációs rendszerekben is megtalálható.
Az apt-get vagy az apt parancs futtatása után egy zárfájl jön létre a /var/lib/apt/lists/ könyvtárban. , /var/lib/dpkg/ és /var/cache/apt/archives/.
Ez segít elkerülni, hogy a már futó apt-get vagy apt folyamatot akár egy felhasználó, akár más olyan rendszerfolyamatok megszakítsák, amelyeknek működniük kell az általa használt fájlokkal. apt-get vagy apt. Amikor a folyamat befejeződött, a zárfájl törlődik.
Fontos: Ha a zárolás továbbra is kilép a fenti két könyvtárból anélkül, hogy észrevehető apt-get vagy apt folyamat futna, ez azt jelentheti, hogy a folyamatot egy okból felfüggesztették vagy a másik, ezért törölnie kell a zárolási fájlokat a hiba törléséhez.
Először hajtsa végre az alábbi parancsot a zárfájl eltávolításához a /var/lib/dpkg/
könyvtárban:
sudo rm /var/lib/dpkg/lock
Utána kényszerítse a csomag(oka)t az újrakonfigurálásra, így:
sudo dpkg --configure -a
Alternatív megoldásként törölje a zárfájlokat a /var/lib/apt/lists/
és a gyorsítótár könyvtárában az alábbiak szerint:
sudo rm /var/lib/apt/lists/lock
sudo rm /var/cache/apt/archives/lock
Ezután frissítse a csomagforrások listáját az alábbiak szerint:
sudo apt update
OR
sudo apt-get update
Összefoglalva, két fontos módszert mutattunk be az Ubuntu (és származékai) felhasználók által tapasztalt gyakori probléma megoldására, miközben az apt-get vagy az apt, valamint a alkalmassági parancsok.
Van más megbízható módszere ennek a gyakori hibának a kezelésére? Ezután vegye fel velünk a kapcsolatot az alábbi visszajelzési űrlapon keresztül.
Ezenkívül érdemes megtanulnia, hogyan találhat meg és hogyan lehet leállítani a futó folyamatokat, és olvassa el a kill, pkill és killall parancsok egyszerű útmutatóját a folyamatok leállításához Linuxban.