dpkg –configure -a在找到initrd映像时挂起

我有一个带GitLab的Ubuntu 14.04 LTS“桌面”。 系统在Windows Server 2012 R2上的虚拟机中运行。

该机器每天自动更新“重要安全更新”,“推荐更新”和“不支持的更新”。 不适用于“预发布更新”。

今天我登录系统,运行“sudo apt-get update”并且无法完成,因为某些进程正在使用dpkg。

我已经运行了“sudo apt-get upgrade”并且更新了但是上吊于:

Found linux image: /boot/vmlinuz-3.19.0-39-generic Found initrd image: /boot/initrd.img.3.19.0-39-generic Found linux image: /boot/vmlinuz-3.19.0-37-generic Found initrd image: /boot/initrd.img.3.19.0-37-generic Found linux image: /boot/vmlinuz-3.19.0-33-generic Found initrd image: /boot/initrd.img.3.19.0-33-generic Found linux image: /boot/vmlinuz-3.19.0-32-generic Found initrd image: /boot/initrd.img.3.19.0-32-generic Found linux image: /boot/vmlinuz-3.19.0-31-generic Found initrd image: /boot/initrd.img.3.19.0-31-generic 

我重新启动并在同一点再次挂起“sudo apt-get upgrade”。

然后我尝试清理未使用的内核。 我跑了:

 uname -r 

得到了:

 3.19.0-39-generic 

所以我删除了3.19.0-31,3.19.0-32和3.19.0-33:

 sudo rm /boot/initrd.img.3.19.0-31-generic sudo rm /boot/initrd.img.3.19.0-32-generic sudo rm /boot/initrd.img.3.19.0-33-generic sudo rm /boot/vmlinuz-3.19.0-31-generic sudo rm /boot/vmlinuz-3.19.0-32-generic sudo rm /boot/vmlinuz-3.19.0-33-generic 

然后,我试图清除:

 sudo apt-get purge linux-image-3.19.0-31-generic linux-image-3.19.0-32-generic linux-image-3.19.0-33-generic 

但这个过程也被绞死了。
然后,我可以“更新”,但“升级”失败了:

 Found linux image: /boot/vmlinuz-3.19.0-39-generic Found initrd image: /boot/initrd.img.3.19.0-39-generic Found linux image: /boot/vmlinuz-3.19.0-37-generic Found initrd image: /boot/initrd.img.3.19.0-37-generic 

在某些更新/升级时,它建议我运行dpkg --configure -a但它也在上面的同一点失败了。

此外,当我重新启动时,系统卡在“点屏幕”。 我必须“关闭”虚拟机并重新启动才能进入虚拟机。

经过一些apt-get updateapt-get upgradedpkg --configure -a并重新启动我不知道怎么做,但一切都运行正常了 。

现在我又遇到了同样的问题:

  1. 当我运行apt-get updateapt-get upgrade我得到:

     E: dpkg was interrupted, you must manually run 'sudo dpkg --configure -a' to correct the problem. 
  2. 当我运行sudo dpkg --configure -a它会挂起:

     Found linux image: /boot/vmlinuz-3.19.0-42-generic Found initrd image: /boot/initrd.img-3.19.0-42-generic Found linux image: /boot/vmlinuz-3.19.0-39-generic Found initrd image: /boot/initrd.img-3.19.0-39-generic 
  3. 当我重新启动时,系统也挂在“点屏幕”上

我很喜欢linux。 谁能在这里点亮一下?

暂时修复它!

在一些重新启动和一些尝试apt-get updateapt-get upgradeapt-get dist-upgradedpkg --configure -a ,最后一个命令最终成功结束,其余命令也开始成功运行。

在此过程中更新为3.19.0-42-通用内核。

所以我不确定究竟是什么导致它,也不确定是什么原因,但无论如何…… 🙂

它看起来在某些时候你升级了你的内核并没有完全采取我会通过运行确保内核是正确的:

 sudo apt-get dist-upgrade 

然后更新和升级:

 sudo apt-get update && sudo apt-get upgrade 

接下来,您可以通过运行检查所有pakages是否正确

 sudo apt-get -f install 

我有两次类似的问题,我注意到每当我的系统想要升级到新的内核时它就会发生。 以下步骤似乎一直对我有用;

  1. 启动到最新内核版本的恢复模式。
  2. 从下拉菜单以root身份登录系统。
  3. 使用文本编辑器编辑/etc/resolv.conf文件,我通常使用vi,即vi /etc/resolv.conf并输入下面的内容并保存文件;

名称服务器208.67.222.220

名称服务器208.67.222.222

  1. 完成上述步骤后,按Ctrl + D(退出)返回恢复模式菜单,然后单击网络以启用网络/ Internet连接。
  2. 接下来,单击dpkg项目以修复损坏的包。

就是这样,重新启动后,您的系统应该安装正确的内核并修复/删除损坏的软件包。