[Linux] 安裝 deb 檔案時出現 dpkg frontend is locked by another process 訊息?

[Linux] 安裝 deb 檔案時出現 dpkg frontend is locked by another process 訊息?

今天在用 dpkg 安裝一個 .deb 檔案時,出現了一個錯誤訊息:

# dpkg -i test.deb

dpkg: error: dpkg frontend is locked by another process

 

從訊息來看,應該是有其他在用 dpkg (像是 Ubuntu Software Center) 的軟體正在開啟中,

所以我在跑的這個 dpkg 就不能再執行了,

這其實也是蠻合理的,如果有兩個以上的人同時去修改軟體的安裝庫,

是有可能會造成衝突的,所以 dpkg 有做這個防護。

 

不過我們要怎麼知道是誰鎖住了 dpkg 呢?

可以用 lsof 去找一下誰開啟了 /var/lib/dpkg/lock-frontend 這個檔案:

# lsof -n /var/lib/dpkg/lock-frontend

COMMAND  PID USER   FD   TYPE DEVICE SIZE/OFF    NODE NAME
dpkg    6630 root    3uW  REG    8,5        0 9175905 /var/lib/dpkg/lock-frontend

 

如果只想知道 process id (pid) 的話,可以加上 -t 參數:

# lsof -n -t /var/lib/dpkg/lock-frontend

6630

 

這樣就能找到鎖住 dpkg 的兇手啦,

接著看是要正規的去關掉那個軟體、或是要直接 kill 掉,

就可以自己再決定囉~

 

參考資料:dpkg: error: dpkg status database is locked by another process

(本頁面已被瀏覽過 380 次)

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *

這個網站採用 Akismet 服務減少垃圾留言。進一步了解 Akismet 如何處理網站訪客的留言資料