我在尝试使用`apt-get'时得到这个错误。
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命令时忘记使用sudo
,你会得到这个信息。
否则,这是一个迹象,表明有其他东西正在安装或删除软件,并在执行这些操作时锁定了apt数据库。能够做到这一点的程序有
**注意:只有在万不得已的情况下才尝试下面的方法,因为它可能会使你的系统崩溃。首先,按照Faheem's answer中的描述,尝试杀死任何正在运行的apt
或aptitude
实例。
你可以通过删除文件来强制关闭锁,但是不建议在没有安全关闭锁的程序的情况下这样做,因为你可能会导致损坏或中断安装(不好)。João提供的命令应该关闭持有锁的程序,然后删除锁,但不能保护你免受安装中断的影响。
sudo fuser -cuk /var/lib/dpkg/lock; sudo rm -f /var/lib/dpkg/lock
而同样的命令也可以用于apt缓存锁。
sudo fuser -cuk /var/cache/apt/archives/lock; sudo rm -f /var/cache/apt/archives/lock
只有一个程序可以持有该锁。确保你没有在运行aptitude、synaptic或adept。你可能打开了synaptic,或者打开了另一个运行apt-get的终端窗口,或者运行了update manager,检查一下,看看是否有这些程序在运行,如果有的话,关闭它,再试一下。
在终端中试试这个命令,看看有什么在运行
ps -e | grep -e apt -e adept | grep -v grep
注意: 如果没有打印出任何东西,在终端键入以下内容来解除锁定
sudo rm /var/lib/dpkg/lock
sudo rm /var/cache/apt/archives/lock
现在你可以安装任何软件包了。