关于Ubuntu中 E: Could not get lock /var/lib/dpkg/lock - open (11: Resource temporarily unavailable)解决方案
在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
總結一下,對于 Ubuntu(以及它的衍生版)用戶在使用 apt-get 或者 apt 也叫?aptitude 命令[7]時遇到的問題,我們已經用兩種方法來解決了。
?
總結
以上是生活随笔為你收集整理的关于Ubuntu中 E: Could not get lock /var/lib/dpkg/lock - open (11: Resource temporarily unavailable)解决方案的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Twisted twisted.pyth
- 下一篇: shell 命令自动识别系统升级内核、系