Грешка в административната директория не може да се заключи
Когато се опитате да използвате помощната програма apt за инсталиране на софтуер или актуализиране на системата на Ubuntu, Debian и други дистрибуции, може да срещнете грешка: Не може да се заключи административната директория /var/lib/dpkg.
Тази грешка по своята същност е много проста и не е трудна за коригиране, но за новите потребители може да бъде сериозна пречка за овладяване на Linux системи. В тази статия ще разгледаме какво означава „Не може да се заключи административната директория /var/lib/dpkg“ и как да разрешим този проблем.
Какво означава тази грешка?
В Ubuntu 16.10 редовете за съобщение за грешка ще изглеждат така:
sudo apt инсталирайте neofetch
[sudo] парола за sergiy: E: Не може да се получи заключване /var/lib/dpkg/lock - отворено (11: Ресурсът временно е недостъпен) E: Не може да се заключи административната директория (/var/lib/dpkg), друг процес ли я използва?
Резултатът от командата може да е малко по-различен, но това не променя същността на грешката:
E: Не може да се получи заключване /var/lib/apt/lists/lock - отворено (11: Ресурсът временно е недостъпен) E: Не може да се заключи директория /var/lib/apt/lists/ E: Не може да се получи заключване /var/lib/dpkg/lock - отворено (11: Ресурсът временно не е наличен) E: Не може да се заключи административната директория (/var/lib/ dpkg/), използва ли го друг процес?
Ако преведем стойността на грешката дословно, тогава помощната програма ни казва, че не може да създаде заключващия файл /var/lib/apt/lists/lock или /var/lib/dpkg/lock и следователно не може да бъде сигурен, че сам използва папката /var/lib/dpkg. След това помощната програма пита дали вече имаме стартиран втори екземпляр на тази програма, който вече е създал този файл и сега работи с папката. Следващите ниеНека да разгледаме няколко начина за решаване на този проблем.
Как да коригирам Не може да се заключи административната директория?
Помощната програма казва, че друго копие на програмата работи, така че най-лесният начин да поправите всичко е да изчакате, докато другата програма завърши работата си и освободи папката.
Но това е само ако действително работи друга версия на програмата. Погледнете списъка с процеси и проверете дали вече има работещ apt или apt-get процес. Можете да използвате ps за това:
Можете също така да видите кой процес в момента използва този файл с командата:
sudo fuser -cu /var/lib/dpkg/lock
1. Завършване на програмата apt
Можете да изчакате програмата да завърши или ръчно да я прекратите чрез PID на процеса, като използвате помощната програма за унищожаване. Ако сте сигурни, че друга помощна програма не прави нищо важно или че това, което ще инсталирате е по-важно, тогава можете да излезете от нея. Например, използвайте тази команда:
sudo kill -9 PID
sudo kill -SIGKILL PID
Например, ако PID на процеса apt е 13433, тогава командата ще изглежда така:
sudo kill -9 13433 $ sudo kill -SIGKILL 13433
Можете също така да убиете всички apt процеси наведнъж с командата:
2. Премахнете заключващия файл
Ако в папката има файл за заключване, помощната програма няма да докосва други файлове в тази папка, така че при създаване на файл програмата казва, че работи с тези данни и ако някой друг се опита да ги промени, това ще причини щети. Тази концепция се използва не само в Linux, но и в Windows и други операционни системи.
Когато се стартира помощната програма apt, се създава заключващ файл в следните директории: /var/lib/apt/lists/, /var/lib/dpkg/ и /var/cache/apt/archives/. Това помага на помощната програма да намеривече работещо копие и да не повредите данните си. Когато помощната програма излезе, данните се изтриват.
Но файлът за заключване може да остане в една от директориите дори след като програмата приключи, ако помощната програма приключи неправилно, например с грешка в сегментирането или е имало неочаквано прекъсване на захранването. В този случай ще бъде достатъчно да изтриете тези файлове, за да коригирате грешката. Първо премахнете заключващия файл от /var/lib/dpkg:
sudo rm /var/lib/dpkg/lock
Сега стартирайте процеса на преконфигуриране на dpkg:
sudo dpkg --configure -a
Или можете ръчно да премахнете останалите заключващи файлове:
sudo rm /var/lib/apt/lists/lock $ sudo rm /var/cache/apt/archives/lock
Само след това можете да извършите актуализация на системата или инсталиране на софтуер, няма да има повече грешки.
Няма свързани публикации
Оценете тази статия:
Основател и администратор на сайта lostt.ru, обичам софтуера с отворен код и операционната система Linux. В момента използвам Ubuntu като основна операционна система. Освен Linux се интересувам от всичко свързано с информационните технологии и съвременната наука.
sudo fuser -cuk /var/lib/dpkg/lock - грешен съвет може да доведе до наказателна отговорност, компютърът ми постоянно се рестартира след въвеждане на този ред
man fuser Преди да следвате съветите от Интернет, препоръчително е да разберете проблема и да прочетете официалното ръководство.
хм Наистина ли. Съжалявам, коригирах командата. Очевидно това е грешка, тази опция не трябва да изпуска черупката.