印象中本篇的 Ubuntu 版本是 16 或是 18,新版 Ubuntu 出現的錯誤訊息有些不同。
如果錯誤訊息中包含的是
/var/lib/dpkg/lock-frontend
,請參考這一篇文章。
如題,在使用 APT 安裝套件時,如果當下有其它的 APT process 執行中,便會出現下列錯誤訊息:
|
|
首先,先查看是不是有其它 APT process 在執行:
|
|
指令列中出現的是 grep
的參數,並不是 APT process,如果有出現其它的 process,建議先嘗試以正常方式去結束掉它,不要輕易的執接 kill process,因為有可能會導致系統損毀。
這邊的例子是沒有出現,代表可能前一次在執行 APT 時因為某些因素導致意外結束,我們可以透過 find
指令搜尋 /var/cache/apt/archives/lock
、/var/lib/apt
與 /var/lib/dpkg
這三個目錄下是否存在 lock file:
|
|
三個目錄分別出現一個 lock file,但是卻沒有 APT process 在執行,前一次執行 APT 沒有正常結束時就會有這個情況發生。至於為什麼錯誤訊息顯示的錯誤路徑是 /var/lib/dpkg
?簡單來說,APT 是一個套件管理工具,而實際上將套件安裝到系統的任務是由 dpkg 負責,而出現錯誤時我們通常都是看到 dpkg 跳警告而不是 APT。
處理這種情況,先刪除 lock file 後,再重新執行 APT,大多時候通常只要這樣就可以了。但如果運氣非常好,就會有個大坑出現。
|
|
References: