dpkg 的重新配置问题

dpkg 的重新配置问题

我在使用 apt 安装软件包时遇到了一些问题。安装过程中终端挂断了,我别无选择,只能关闭终端。但问题是我似乎无法解决由此引起的问题。

通常情况下,我会得到:

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?

这让我一无所获,直到我运行 ,我才被锁定sudo dpkg --configure -a。这很有道理。但是,此过程会吐出以下内容,然后在最后一行挂起:

Setting up virtualbox-dkms (5.2.10-dfsg-6) ...
Removing old virtualbox-5.2.10 DKMS files...

-------- Uninstall Beginning --------
Module:  virtualbox
Version: 5.2.10
Kernel:  4.15.0-23-generic (x86_64)
-------------------------------------

Status: This module version was INACTIVE for this kernel.
depmod...

DKMS: uninstall completed.

------------------------------
Deleting module version: 5.2.10
completely from the DKMS tree.
------------------------------
Done.
Loading new virtualbox-5.2.10 DKMS files...
Building for 4.15.0-23-generic
Building initial module for 4.15.0-23-generic

我读到的一个典型解决方案是你需要修复损坏的软件包。当我尝试修复损坏的软件包(sudo apt install -f)时,系统也挂在同一行,尽管输出不同:

Reading package lists... Done
Building dependency tree       
Reading state information... Done
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
3 not fully installed or removed.
After this operation, 0 B of additional disk space will be used.
Setting up virtualbox-dkms (5.2.10-dfsg-6) ...
Removing old virtualbox-5.2.1

0 DKMS files...

------------------------------
Deleting module version: 5.2.10
completely from the DKMS tree.
------------------------------
Done.
Loading new virtualbox-5.2.10 DKMS files...
Building for 4.15.0-23-generic
Building initial module for 4.15.0-23-generic

除非我终止进程,否则我无法退出。我通过检查当前正在运行的与 apt ( ps aux |grep apt) 相关的进程来做到这一点,然后使用 终止相关进程sudo kill -9 process_number_here

如果我在此之后尝试运行某些程序,它会告诉我仍然需要重新配置 dpkg。

我尝试寻找 dpkg 的更多解决方案,而我真正看到的只是核选项:

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

我还删除了 /var/lib/dpkg/updates 中的文件,因为当我进行一些挖掘时,发现里面的一个文件包含与上面的长输出完全相同的文本......但我完全承认这超出了我的能力范围,我不知道该怎么办。

查看错误消息后,我意识到它挂在了与内核相关的构建上。但我不知道从哪里开始解决这个问题。任何帮助都非常感谢。我的系统是 ubuntu 18.04

答案1

系统正在后台等待输入密码。

  1. 输入你的 root 密码并按回车键
  2. 输入新密码,该密码将用于为 vboxdrv 内核模块注册机器所有者密钥 (MOK)
  3. 重复您在 (2) 中输入的密码
  4. 等待过程完成并重新启动系统
  5. 启动时,按照说明注册 MOK

这对我来说很有帮助。

答案2

我刚刚通过以下步骤解决了该问题:

  1. Ctrl按+ Alt+T并输入以下内容打开终端:

    sudo dpkg --configure -a
    
  2. 看到后Building inital module立即按Ctrl+C取消该过程
  3. 对其他建筑模块重复此操作。
  4. 使用 synaptic 重新安装 VirtualBox 并重启
  5. 再次转到终端并输入命令:

    sudo apt install --fix-missing
    
  6. 现在一切都可以恢复正常运行。

我认为 VirtualBox 目前存在一个主要问题,但是经过上述测试后,一切正常。

答案3

这表明你的包管理器正在运行:

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?

事实上,它似乎为你的内核构建了内核模块,这取决于你的硬件,可能需要一些时间 - 如果你不像你那样中断该过程的话。

只需重新开始sudo dpkg --configure -a,再耐心一点。然后再做sudo apt install -f一次。

答案4

修复这个问题的方法是,以图形模式运行 Ubuntu 的“软件更新程序”,然后按照提示重新启动。终端apt恢复正常 :)

相关内容