终端因 matlab 安装而被锁定

终端因 matlab 安装而被锁定

几天前我尝试安装 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 aptant 这将显示所有正在运行的进程,其中包含单词apt

现在您需要终止正在等待的进程,并将kill process-number 进程号替换为您要终止的实际进程号。

如果这不起作用然后添加sudo你的命令如sudo kill process-numbersudo -9 process-number

这比删除锁更安全,但如果这不起作用,则使用这种删除锁的方法

您可以使用以下命令删除锁文件:

sudo rm /var/lib/apt/lists/lock

您可能还需要删除缓存目录中的锁定文件

sudo rm /var/cache/apt/archives/lock
sudo rm /var/lib/dpkg/lock

相关内容