几天前我尝试安装 matlab,但由于 ISO 文件故障,安装过程卡住了。现在我无法停止此安装,因为它阻止我获取更新或升级。
这是我尝试从终端安装 smth 时收到的错误:
ubuntu@ubuntu-Inspiron-N5010:~$ sudo apt-get upgrade
[sudo] password for 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?
先感谢您
答案1
警告:此答案适用于 Ubuntu 版本 <11.04,请勿在较新版本中使用它,因为它会严重冻结您的系统
sudo
如果您在执行命令时忘记使用,您将收到此消息apt
。
否则,这表明有其他程序正在安装或删除软件,并apt
在执行操作时锁定了数据库。可以执行此操作的程序有:
- 软件中心
- 更新管理器
- apt 链接安装程序(我认为这现在通过 SC)
- apt-get 或 aptitude 命令行实用程序。
您可以通过删除文件来强制关闭锁定,但不建议在未先关闭安全锁定的程序的情况下这样做,因为这可能会导致损坏或中断安装(不好)。
在终端中尝试此命令来查找正在运行的内容
ps -e | grep -e apt -e adept | grep -v grep
注意:如果这不起作用,请在终端中输入以下内容以删除锁
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
答案2
有一个过程以某种方式停止或正在进行
输入命令ps aux | grep apt
ant 这将显示所有正在运行的进程,其中包含单词apt
现在您需要终止正在等待的进程,并将kill process-number
进程号替换为您要终止的实际进程号。
如果这不起作用然后添加sudo
你的命令如sudo kill process-number
或sudo -9 process-number
这比删除锁更安全,但如果这不起作用,则使用这种删除锁的方法
您可以使用以下命令删除锁文件:
sudo rm /var/lib/apt/lists/lock
您可能还需要删除缓存目录中的锁定文件
sudo rm /var/cache/apt/archives/lock
sudo rm /var/lib/dpkg/lock