问题
在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
以上三种方法任选其一即可。
似乎,有时三种方法都不行,等一会就可以了。。。
参考链接: