提示 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 操作,

解決方案
那遇到這種情況,一般我們只需要安靜地等待幾分鐘,或者先去做其他的事情,直到當前的更新、安裝或卸載任務完成后,鎖就會自動釋放,然后就可以進行 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 NAMEunattende 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
這樣問題應該就可以解決了
最后,祝你好運!
點我進入快捷通道

轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/187915.html
標籤:其他
