为什么使用持久 Live USB 时内核无法更新?

为什么使用持久 Live USB 时内核无法更新?

我创建了一个带有 4GB 持久文件的 Ubuntu 12.04 实时 USB。运行更新管理器时,Firefox 和其他软件会得到更新。但是,Linux 内核不会更新,我无法安装 synaptic 包管理器、ubuntu tweak 等。有办法解决此问题吗?提前致谢。

答案1

我也在 askubuntu 上找到了这个解决方案,我应用了它并且对我有用,我在这里再次分享:

gksudo gedit /etc/kernel/postinst.d/zz-update-grub

**

注释掉第 15 行

**

*/postinst.d/*:|*/postinst.d/*:configure|*/postrm.d/*:|*/postrm.d/*:remove)
    exec update-grub
    ;;

    */postinst.d/*:|*/postinst.d/*:configure|*/postrm.d/*:|*/postrm.d/*:remove)
#       exec update-grub
        ;;

运行配置脚本:

$ sudo dpkg --configure -a
(lots of debugging)
$

您应该会看到很多调试,而不是最后的错误行。

为确保万无一失,请重新运行配置。它应该立即结束,并且没有任何日志:

$ sudo dpkg --configure -a
$

现在,您可以恢复 zz-update-grub 文件,以防您稍后想要安装其他内核并且 Grub 开始与 overlayfs 一起工作……

答案2

这显然是一个常见的问题,但没有人正确回答。

现有的基于 ISO9660 的实时操作系统均不提供内核更新功能:内核和 initrd 是实时操作系统唯一无法更新的组件,因为它们位于数据持久分区(如果有)之外,并且系统分区是 ISO9660 格式的。

经过几年的自我反省,我发现利文请参阅白皮书,了解详情。

liveng 项目的完整目标是为社区提供一套最佳实践,以便将常见的 Debian Linux live 转变为 live(ng) 操作系统,其特点是:

native encrypted persistence;
kernel update (on a live ISO 9660 filesystem!);
UEFI, with UEFI Secure Boot compatibility, with a real efi partition.

Tails 是具有内核更新功能的实时系统的另一个示例,但是它的文件系统是 FAT,对于实时系统来说不太好......

相关内容