【Linux軟件安裝報錯】關於Ubuntu中Could not get lock /var/lib/dpkg/lock解決方案

轉載自:https://blog.csdn.net/u011596455/article/details/60322568

在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

找出所有的 apt 以及 apt-get 進程

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

比如,下面命令中的9是 SIGKILL 的信號數,它會殺掉第一個 apt 進程

$ sudo kill -9 進程ID或者$ sudo kill -SIGKILL 進程ID

 

2、刪除鎖定文件

鎖定的文件會阻止 Linux 系統中某些文件或者數據的訪問,這個概念也存在於 Windows 或者其他的操作系統中。

一旦你運行了 apt-get 或者 apt 命令,鎖定文件將會創建於 /var/lib/apt/lists//var/lib/dpkg//var/cache/apt/archives/ 中。

這有助於運行中的 apt-get 或者 apt 進程能夠避免被其它需要使用相同文件的用戶或者系統進程所打斷。當該進程執行完畢後,鎖定文件將會刪除。

   當你沒有看到 apt-get 或者 apt 進程的情況下在上面兩個不同的文件夾中看到了鎖定文件,這是因爲進程由於某個原因被殺掉了,因此你需要刪除鎖定文件來避免該錯誤。

首先運行下面的命令來移除 /var/lib/dpkg/ 文件夾下的鎖定文件:

$ sudo rm /var/lib/dpkg/lock

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

$ sudo dpkg --configure -a

也可以刪除 /var/lib/apt/lists/ 以及緩存文件夾下的鎖定文件:

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

接下來,更新你的軟件包源列表:

$ sudo apt update或者$ sudo apt-get update

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章