Linux安裝軟件時90%的人會遇到這個報錯,如何解決?


提示 Could not get lock /var/lib/dpkg/lock 報錯?

有些小伙伴在使用 apt 包管理器更新或安裝軟件時,可能會遇到過諸如以下的錯誤提示:

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

或者

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

這種時候大可不必驚慌,這些錯誤提示一般都是因為某些程序在系統后台進行着某些 apt 操作,因此鎖定了 apt 數據庫,所以暫時不能進行 apt 操作。

解決方案

那遇到這種情況,一般我們只需要安靜地等待幾分鍾,或者先去做其他的事情,比如瀏覽一下良許 Linux 公眾號里的文章,直到當前的更新、安裝或卸載任務完成后,鎖就會自動釋放,然后就可以進行 apt 操作了。

當然了,上面說的是正常情況下的對應,那非正常情況下,比方說你等了好多個幾分鍾鎖都還沒有被釋放,你就要看看是不是該進程由於某些原因而卡住了並且一直占用着鎖。如果是的話,那你只能干掉這個進程,然后刪除該鎖定了。

首先,我們先找出是哪個進程占用了鎖文件 /var/lib/dpkg/lock

$ sudo lsof /var/lib/dpkg/lock

其他鎖文件對應的命令

$ sudo lsof /var/lib/dpkg/lock-frontend
$ sudo lsof /var/lib/apt/lists/lock

然后得到輸出結果

COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
unattende 1548 root 6uW REG 8,2 0 1181062 /var/lib/dpkg/lock

我們可以從結果中看到,該進程的 PID 為 1548

接着,kill 掉這個進程

$ sudo kill -9 1548

然后你就可以放心地刪除鎖文件

$ sudo rm /var/lib/dpkg/lock

或者

$ sudo rm /var/lib/dpkg/lock-frontend
$ sudo rm /var/lib/apt/lists/lock

如果需要,還可以刪除緩存目錄下的鎖文件

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

做完上面的步驟后,記得要運行以下命令

$ sudo dpkg --configure -a

這樣問題應該就可以解決了

最后,祝你好運!


公眾號:良許Linux

有收獲?希望老鐵們來個三連擊,給更多的人看到這篇文章


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM