如何避免在内核更新后手动重新安装 zfs

如何避免在内核更新后手动重新安装 zfs

我使用 ZFS,每次更新内核时,ZFS 都会损坏,挂载也会丢失。我总是必须遵循我在网上找到的这个程序(https://github.com/zfsonlinux/zfs/issues/1155):

dkms remove -m zfs -v 0.6.4.2 --all
dkms remove -m spl -v 0.6.4.2 --all
dkms add -m spl -v 0.6.4.2
dkms add -m zfs -v 0.6.4.2
dkms install -m spl -v 0.6.4.2

最后一个命令总是导致错误,在这种情况下我必须运行:

apt-get install --reinstall linux-headers-3.13.0-62 linux-headers-3.13.0-62-generic

我还必须每次都小心地获取正确的版本。这让事情变得更加痛苦。

几乎每次我运行系统更新时都会发生这种情况。我不得不告诉我的妻子不要更新,因为这很可能会让她无法使用系统。我希望这是一个错误,可以解决,但一年来一直如此。我找不到永久解决这个问题的方法,有吗?

我使用 Kubuntu amd64 14.04

uname -a
Linux 3.13.0-62-generic #102-Ubuntu SMP Tue Aug 11 14:29:36 UTC 2015 x86_64 x86_64 x86_64 GNU/Linux

我对 Linux 还很陌生,所以请多包涵 :)

更新:修改了标题版本,以符合我的 uname 输出。

另外,是的,我没有运行 dkms install -m zfs -v 0.6.4.2,因为之前的命令已经导致错误。我理解“add”命令与重新安装 header 的组合具有相同的效果。无论如何,下次我会测试一下。

更新2:一些额外的信息。默认安装创建了一个非常小的启动分区(230mb),我试着不时地清理它,但我遇到过几次更新可能没有足够的空间来完成而不出错的情况。我完全不知道这有多危险,也不知道我的系统是否早就因此而损坏了。既然这种情况很容易发生,我希望这不是什么大问题。

更新3:随着时间的推移,这个问题逐渐得到解决,我猜这是一个已经修复的错误。

答案1

您将获得一个维护速度更快的 zfs 包,即,内核的每个版本,维护者都会对其进行维护,并立即为新内核更新其代码库。

使用 arch linux,你会看到 demizer 在内核更新后的几天内更新了 zfs-linux-git,这始终是最前沿的,因此他已经为自己做好了准备。

使用 LTS 包,您可能会看到这些问题更加严重,因为 LTS 意味着谨慎地升级内核,而这正是导致此问题的原因。

除此之外,最好的做法是每次更新系统时,当系统警告您有关 zfs 时,请等待,不要在当天更新,并继续每天尝试更新,直到维护者最终发布新版本,不再发出警告。如果您这样做,您的内核将保持 zfs 允许的更新状态,不受 zfs 软件包维护者的支配,并且您永远不必自己重建 zfs,这有点麻烦。

答案2

看起来好像linux-headers-generic包没有安装。

这就是为什么linux-headers不要用 进行更新linux-image

在终端中运行

sudo apt-get install linux-headers-generic

并且您将始终拥有正确的标题。

相关内容