安裝Linux軟件時遇到這個問題,如何解決?

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

 

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

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 操做。緩存

解決方案

那遇到這種狀況,通常咱們只須要安靜地等待幾分鐘,或者先去作其餘的事情,直到當前的更新、安裝或卸載任務完成後,鎖就會自動釋放,而後就能夠進行 apt 操做了。frontend

固然了,上面說的是正常狀況下的對應,那非正常狀況下,比方說你等了好多個幾分鐘鎖都尚未被釋放,你就要看看是否是該進程因爲某些緣由而卡住了而且一直佔用着鎖。若是是的話,那你只能幹掉這個進程,而後刪除該鎖定了。ui

首先,咱們先找出是哪一個進程佔用了鎖文件 /var/lib/dpkg/locklua

$ sudo lsof /var/lib/dpkg/lock

其餘鎖文件對應的命令spa

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

而後獲得輸出結果code

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

咱們能夠從結果中看到,該進程的 PID 爲 1548blog

接着,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

這樣問題應該就能夠解決了

最後,祝你好運!

 點我進入快捷通道

相關文章
相關標籤/搜索