首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为什么包被扣留了?

问为什么包被扣留了?
EN

Ask Ubuntu用户
提问于 2023-02-14 13:24:53
回答 1查看 170关注 0票数 0

我最近升级了从ubuntu 18.04到22.04,这也升级了我的zfs版本.除了这个包,zfs-dracut。它“被拒之门外”。

从apt policy zfs-dracut的输出中可以看出,问题不在于它是一个分阶段的升级。

代码语言:javascript
复制
generic@motorbrot:/media/generic$ sudo apt upgrade
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
Calculating upgrade... Done
The following packages have been kept back:
  alsa-ucm-conf firmware-sof-signed ubuntu-advantage-tools zfs-dracut
# [more irrelevant stuff here]

generic@motorbrot:~$ sudo apt policy zfs-dracut
zfs-dracut:
  Installed: 0.8.4-1
  Candidate: 2.1.4-0ubuntu0.1
  Version table:
     2.1.4-0ubuntu0.1 500
        500 http://archive.ubuntu.com/ubuntu jammy-updates/universe amd64 Packages
        500 http://security.ubuntu.com/ubuntu jammy-security/universe amd64 Packages
     2.1.2-1ubuntu3 500
        500 http://archive.ubuntu.com/ubuntu jammy/universe amd64 Packages
 *** 0.8.4-1 100
        100 /var/lib/dpkg/status

我的zfs版本目前是:

代码语言:javascript
复制
generic@motorbrot:~$ zfs --version
zfs-2.1.4-0ubuntu0.1
zfs-kmod-2.1.4-0ubuntu0.1

虽然在askubuntu上有许多问题询问为什么“软件包被保留了”,但答案往往是这样的:

  • 这是分阶段更新的。等等就行了。不过,这将显示在apt policy输出中。
  • 只要安装它( apt install --upgrade-only zfs-dracut,apt install zfs-dracut,apt full-upgrade,apt-get --with-new-pkgs upgrade,.)这些都不起作用。
  • 包裹被标记为被阻住了。在我的例子中没有,sudo apt-mark showhold zfs-dracut没有输出。
  • 只需清除并重新安装。我可以这么做,但我担心它可能会因为一个很好的理由而被阻止,清除它会破坏一些东西。特别是因为我在根上运行zfs。

为什么这个包被阻止了?(<#>我如何才能自己解决这个问题?)

以下是对评论的跟进:当我做一些我提到的不起作用的事情时,会发生什么。这些摘录是更最新的,所以也包含其他包。其他的则是phased (根据apt policy )。

代码语言:javascript
复制
generic@motorbrot:/media/generic$ sudo apt list --upgradeable
[sudo] password for generic: 
Listing... Done
alsa-ucm-conf/jammy-updates,jammy-updates 1.2.6.3-1ubuntu1.4 all [upgradable from: 1.2.6.3-1ubuntu1.3]
libnvpair3linux/jammy-updates 2.1.5-1ubuntu6~22.04.1 amd64 [upgradable from: 2.1.4-0ubuntu0.1]
libuutil3linux/jammy-updates 2.1.5-1ubuntu6~22.04.1 amd64 [upgradable from: 2.1.4-0ubuntu0.1]
libzfs4linux/jammy-updates 2.1.5-1ubuntu6~22.04.1 amd64 [upgradable from: 2.1.4-0ubuntu0.1]
libzpool5linux/jammy-updates 2.1.5-1ubuntu6~22.04.1 amd64 [upgradable from: 2.1.4-0ubuntu0.1]
python3-pyzfs/jammy-updates 2.1.5-1ubuntu6~22.04.1 amd64 [upgradable from: 2.1.4-0ubuntu0.1]
ubuntu-advantage-tools/jammy-updates 27.13.5~22.04.1 amd64 [upgradable from: 27.13.3~22.04.1]
zfs-dkms/jammy-updates,jammy-updates 2.1.5-1ubuntu6~22.04.1 all [upgradable from: 2.1.4-0ubuntu0.1]
zfs-dracut/jammy-updates 2.1.5-1ubuntu6~22.04.1 amd64 [upgradable from: 0.8.4-1]
zfs-initramfs/jammy-updates 2.1.5-1ubuntu6~22.04.1 amd64 [upgradable from: 2.1.4-0ubuntu0.1]
zfs-test/jammy-updates 2.1.5-1ubuntu6~22.04.1 amd64 [upgradable from: 2.1.4-0ubuntu0.1]
zfs-zed/jammy-updates 2.1.5-1ubuntu6~22.04.1 amd64 [upgradable from: 2.1.4-0ubuntu0.1]
zfsutils-linux/jammy-updates 2.1.5-1ubuntu6~22.04.1 amd64 [upgradable from: 2.1.4-0ubuntu0.1]

generic@motorbrot:/media/generic$ sudo apt full-upgrade
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
Calculating upgrade... Done
The following packages have been kept back:
  alsa-ucm-conf libnvpair3linux libuutil3linux libzfs4linux libzpool5linux python3-pyzfs
  ubuntu-advantage-tools zfs-dkms zfs-dracut zfs-initramfs zfs-test zfs-zed zfsutils-linux
0 upgraded, 0 newly installed, 0 to remove and 13 not upgraded.

<#>警告:一个答案建议运行apt install zfs-dracut dracut zfsutils-linux。在我的例子中,卸载的zfs-initramfs发出警告,然后安装zfs-dracut失败,而且由于我比健康更好奇,所以我重新启动,现在被一个不知道zfs的initramfs所困。我用一根活棍修复了这个问题,但这并不是一个很好的结果。对于任何处于同样情况的人,我基本上都遵循本指南:从一个live棒引导,导入但不要挂载您的zfs池,从引导仍然与zfs mount -t zfs tank/your_dataset@something /mnt/rescue一起工作时挂载快照,绑定-挂载所需的一切(特别是引导和efi分区),将chroot放入其中并运行update-initramfs -u -k all (或者至少是显示在ls -la /lib/modules中的最新内核版本)。

这些建议的修补程序可能有用(或有害),但基本上没有回答我的问题:为什么zfs会被保留?

<#>Sidenote对于有同样问题的人:实际的修复是完全卸载zfs-dracut并重新安装zfs-initramfs,然后再次运行update-initramfs -u -k all。不过,这与问题无关。

EN

回答 1

Ask Ubuntu用户

发布于 2023-02-14 13:34:03

我怀疑这是因为您使用的是apt upgrade,而不是apt dist-upgrade或apt full-upgrade。如果需要安装额外的包以满足依赖关系,upgrade将不会安装包。而dist-upgrade和full-upgrade会做到这一点。

zfs-dracut需要dracut和zfsutils-linux (顺便说一句,在您剥离的"#“部分中可能已经提到了这一点)。

所以,无论是sudo apt install zfs-dracut dracut zfsutils-linux还是sudo apt dist-upgrade,都有可能让你摆脱困境。

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

https://askubuntu.com/questions/1454909

复制
相关文章

相似问题

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