想必用Ubuntu的小伙伴都被一个错误折磨过,它总是来无影,但是一般就赖着不走了,真容如下:
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?
记得刚接触Ubuntu的时候,对这个问题束手无策,每次碰到只能重启解决。。。还是当时太年轻。那么,这篇文章分两个部分给这个问题进行解决,一部分是这个问题的产生原因,第二部分是这个问题的解决方案。
问题产生原因
出现这个问题的原因是apt还在运行,因此无法使用apt
解决方案
对于这个问题,现在有两个比较可行的解决方案
方案一:找到并杀掉所有apt-get和apt进程
首先利用ps命令找到所有含apt的进程列表
ps -A | grep apt
找出所有的apt以及apt-get进程,用kill命令彻底杀死
sudo kill -9 processnumber
sudo kill -SIGKILL processnumber
方案二:删除锁定文件
锁定文件会阻止Linux系统中某些文件或者数据的访问,这个概念也存在于Windows或者其他操作系统。在Ubuntu中,一旦运行了apt-get或者apt命令,锁定文件就会被创建
/var/lib/apt/lists/ /var/lib/dpkg/ /var/cache/apt/archivives/
这样三个文件夹中会出现lock文件
进行这种方案的原因是可能进程被杀掉了,但是lock文件并没有释放,所以导致该错误
sudo rm /var/lib/dpkg/lock
然后用下面一条命令重新配置软件包:
sudo dpkg --configure -a
如果没有效果,那么就可以将/var/lib/apt/lists/以及缓存文件夹下的lock文件一并删除
sudo rm /var/lib/apt/lists/lock
sudo rm /var/cache/apt/archives/lock
然后更新软件包源列表
sudo apt update
参考链接
https://blog.csdn.net/u011596455/article/details/60322568
https://www.cnblogs.com/bing-yu12/p/6367894.html