首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >由于内核包问题,无法进行升级

由于内核包问题,无法进行升级
EN

Ask Ubuntu用户
提问于 2015-07-11 12:31:55
回答 3查看 9.4K关注 0票数 5

这里有一个Ubuntu14.04 LTS用户。

基本上我在跑步的时候遇到了问题

代码语言:javascript
复制
sudo apt-get update
sudo apt-get upgrade

dpkg返回一个错误代码,因为Linux内核包3.13.0.57被标记为“未完全安装”:

代码语言:javascript
复制
Errors were encountered while processing:
 linux-image-3.13.0.57-generic
 linux-image-extra-3.13.0-57-generic
E: Sub-process /usr/bin/dpkg returned an error code (1)

我输入uname -r是为了查看我的系统内核的当前版本,令人惊讶的是它是3.13.0.57。之后,我重新启动系统并输入grub来列出所有已安装的linux内核,并看到我有3.8.0-35通用的,所以我与它一起启动,尝试重新安装3.13.0.57版本。我不知道为什么在默认情况下,当3.8.0-35可用时,Ubuntu14.04会用3.13.0.57启动。

在使用3.8.0成功引导之后,我再次列出了dpkg的所有内核,以确保3.13.0-57的存在。

代码语言:javascript
复制
sudo dpkg --list | grep linux-image
sudo apt-get purge linux-image-3.13.0.57-generic
sudo apt-get purge linux-image-extra-3.13.0-57-generic

但是不能删除额外的映像包,而纯linux映像可以:

代码语言:javascript
复制
Errors were encountered while processing:
 linux-image-extra-3.13.0-57-generic
E: Sub-process /usr/bin/dpkg returned an error code (1)

有什么办法解决这个问题吗?我搜索并发现,在引导分区上可能缺少空间可能会导致这种问题,但我认为我的情况不同。我设法手动清除了4-5个老内核,以确保我已经在引导分区上释放了足够的空间。

编辑1:我看到Ubuntu14.04.2附带了LinuxKernel3.16.x,但我没有它。我最新的一个是3.8.0-35,然后是3.13.0-57。

编辑2:运行sudo apt-get autoremovesudo apt-get dist-upgrade没有帮助。看来我不能进行任何升级。下面是sudo apt-get autoremove__的日志:

代码语言:javascript
复制
    $ sudo apt-get autoremove
Reading package lists... Done
Building dependency tree       
Reading state information... Done
The following packages will be REMOVED:
  linux-image-extra-3.13.0-57-generic
0 upgraded, 0 newly installed, 1 to remove and 0 not upgraded.
2 not fully installed or removed.
After this operation, 152 MB disk space will be freed.
Do you want to continue? [Y/n] y
(Reading database ... 747752 files and directories currently installed.)
Removing linux-image-extra-3.13.0-57-generic (3.13.0-57.95) ...
depmod: FATAL: could not load /boot/System.map-3.13.0-57-generic: No such file or directory
run-parts: executing /etc/kernel/postinst.d/apt-auto-removal 3.13.0-57-generic /boot/vmlinuz-3.13.0-57-generic
run-parts: executing /etc/kernel/postinst.d/dkms 3.13.0-57-generic /boot/vmlinuz-3.13.0-57-generic
run-parts: executing /etc/kernel/postinst.d/initramfs-tools 3.13.0-57-generic /boot/vmlinuz-3.13.0-57-generic
update-initramfs: Generating /boot/initrd.img-3.13.0-57-generic
grep: /boot/config-3.13.0-57-generic: No such file or directory
run-parts: executing /etc/kernel/postinst.d/pm-utils 3.13.0-57-generic /boot/vmlinuz-3.13.0-57-generic
run-parts: executing /etc/kernel/postinst.d/update-notifier 3.13.0-57-generic /boot/vmlinuz-3.13.0-57-generic
run-parts: executing /etc/kernel/postinst.d/zz-runlilo 3.13.0-57-generic /boot/vmlinuz-3.13.0-57-generic
Fatal: open /boot/vmlinuz-3.13.0-46-generic.efi.signed: No such file or directory
run-parts: /etc/kernel/postinst.d/zz-runlilo exited with return code 1
dpkg: error processing package linux-image-extra-3.13.0-57-generic (--remove):
 subprocess installed post-removal script returned error exit status 1
Errors were encountered while processing:
 linux-image-extra-3.13.0-57-generic
E: Sub-process /usr/bin/dpkg returned an error code (1)

我不知道这- Fatal: open /boot/vmlinuz-3.13.0-46-generic.efi.signed: No such file or directory与删除3.13.0-57有什么关系.

EN

回答 3

Ask Ubuntu用户

回答已采纳

发布于 2015-07-11 17:01:23

我设法找到了解决这个问题的办法。尽管如此,如果有同样问题的人挣扎,我还是决定把它作为一个答案。

问题的原因:

我检查了包的dpkg状态:

代码语言:javascript
复制
dpkg --status linux-image-3.13.0.57-generic
dpkg --status linux-image-extra-3.13.0-57-generic

输出清楚地表明包处于糟糕的状态。正如我在上面的问题中所写的,它们“没有完全安装”。

解决方案:

这些包的条目必须从dpkg的状态文件中删除,这样apt-get才能正常工作。这些步骤如下:

  1. 如果出了问题,一定要备份状态文件。sudo cp /var/lib/dpkg/status /var/lib/dpkg/status.backup
  2. 使用您喜欢的文本编辑器打开/var/lib/dpkg/status,只搜索和删除损坏包的引用。你不能再删除任何东西了!
  3. 运行sudo apt-get upgrade以确保一切都是固定的。
票数 5
EN

Ask Ubuntu用户

发布于 2015-07-11 15:16:43

如果你想升级到一个新的内核版本,你可以手动安装它通过“.”通过"apt-get dist-升级“打包vor

这些故障发生在完整的luks加密的Volumens中,因为在这些设置中/boot太小了。

也许“自动移除”也有帮助.

票数 1
EN

Ask Ubuntu用户

发布于 2015-07-11 23:49:42

wajig remove linux-headers-3.13.0-57-generic为我工作。

我重新启动并运行在3.13.0-57-generic内核上。

不过要小心!备份你的数据。

票数 1
EN
页面原文内容由Ask Ubuntu提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://askubuntu.com/questions/647171

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档