關於Ubuntu 16.04中E: Could not get lock /var/lib/dpkg/lock - open的三種解決方案


問題

Ubuntu中,有時候運用sudo  apt-get install 安裝軟件時,會出現如下的情況:

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?

 

三種解決方案

這是由於apt因某種原因還在后台運行

1、找到並且殺掉所有的apt-get 和apt進程

 運行下面的命令來生成所有含有 apt 的進程列表,你可以使用ps和grep命令並用管道組合來得到含有apt或者apt-get的進程。

ps -A | grep apt

kill所有的 apt 以及 apt-get 進程

$ sudo kill -9 processnumber
或者
$ sudo kill -SIGKILL processnumber

2、刪除鎖定文件

一旦你運行了 apt-get 或者 apt 命令,鎖定文件將會創建於 /var/lib/apt/lists//var/lib/dpkg//var/cache/apt/archives/ 中。鎖定的文件會阻止 Linux 系統中某些文件或者數據的訪問, 這有助於運行中的 apt-get 或者 apt 進程能夠避免被其它需要使用相同文件的用戶或者系統進程所打斷。當該進程執行完畢后,鎖定文件才會刪除。

剛裝好的Ubantu系統,內部缺少很多軟件源,這時,系統會自動啟動軟件源更新進程“apt-get”,並且它會一直存活。由於它在運行時,會占用軟件源更新時的系統鎖(以下稱“系統更新鎖”,此鎖文件在“/var/lib/apt/lists/”目錄下)。而當有新的apt-get進程生成時,就會因為得不到系統更新鎖而出現"E: 無法獲得鎖 /var/lib/apt/lists/lock - open (11: Resource temporarily unavailable)"錯誤提示!

上次apt安裝沒有正常完成也會出現這種情況。

首先移除 /var/lib/dpkg/ 文件夾下的鎖定文件:

$ sudo rm /var/lib/dpkg/lock

之后像下面這樣強制重新配置軟件包:

$ sudo dpkg --configure -a

3、刪除鎖定文件

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

以上三種方法任選其一即可。

似乎,有時三種方法都不行,等一會就可以了。。。

 

 

參考鏈接:

1、https://blog.csdn.net/u011596455/article/details/60322568

2、https://blog.csdn.net/zyxlinux888/article/details/6358615

 


免責聲明!

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



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