来自 cryptsetup-initramfs 的警告

来自 cryptsetup-initramfs 的警告

从今天开始,我在运行时收到以下警告update-initramfs -u

cryptsetup: WARNING: The initramfs image may not contain cryptsetup binaries 
    nor crypto modules. If that's on purpose, you may want to uninstall the 
    'cryptsetup-initramfs' package in order to disable the cryptsetup initramfs 
    integration and avoid this warning.

以前,我曾经cryptsetup-initramfs在启动时解锁加密的数据分区。但我现在删除了这个并在每次重新启动时手动解锁分区(以便能够从远程重新启动我的家庭服务器)。

当尝试卸载时cryptsetup-initramfs,它也想卸载cryptsetup。但我需要这个来手动解锁,我强烈假设:

me@myserver:~$ sudo apt remove cryptsetup-initramfs
Paketlisten werden gelesen... Fertig
Abhängigkeitsbaum wird aufgebaut.       
Statusinformationen werden eingelesen.... Fertig
Die folgenden Pakete werden ENTFERNT:
  cryptsetup cryptsetup-initramfs
0 aktualisiert, 0 neu installiert, 2 zu entfernen und 0 nicht aktualisiert.
Nach dieser Operation werden 210 kB Plattenplatz freigegeben.
Möchten Sie fortfahren? [J/n] n
Abbruch.
me@myserver:~$ 

那么该怎么办?就忽略警告吗?一般来说,我不喜欢“正常”的警告......:D


尝试应用答案中提出的解决方案:

me@myserver:~$ LANG=C sudo apt-mark manual cryptsetup
cryptsetup was already set to manually installed.
me@myserver:~$ LANG=C sudo apt remove cryptsetup-initramfs
Reading package lists... Done
Building dependency tree       
Reading state information... Done
The following package was automatically installed and is no longer required:
  cryptsetup-run
Use 'sudo apt autoremove' to remove it.
The following packages will be REMOVED:
  cryptsetup cryptsetup-initramfs
0 upgraded, 0 newly installed, 2 to remove and 0 not upgraded.
After this operation, 210 kB disk space will be freed.
Do you want to continue? [Y/n] n
Abort.
me@myserver:~$ 

答案1

您显然从未真正指定过您安装cryptsetup;包管理器安装它是为了满足cryptsetup-initramfs.因此,该cryptsetup软件包已被标记为“自动安装”,这意味着如果删除所有依赖于该软件包的软件包,则可以自动删除该软件包。

解决办法是先标记cryptsetup为“手动安装”,即安装是因为您特别想要拥有它

sudo apt-mark manual cryptsetup

如果您愿意,还有其他方法可以在其他apt前端执行此操作,例如使用min 中的键。aptitude

一旦apt知道您想要cryptsetup安装,它就不应该再建议cryptsetup与 一起删除cryptsetup-initramfs。所以你可以删除后者:

sudo apt remove cryptsetup-initramfs

答案2

在 Debian 11 及更高版本上,cryptsetup仅建议cryptsetup-initramfs,因此您应该能够删除后者而不删除前者。如果您已配置apt为自动删除不再需要的软件包,则需要表明您想要保留cryptsetup

sudo apt-mark manual cryptsetup
sudo apt purge cryptsetup-initramfs

由于您运行的是 Debian 10,因此设置略有不同。cryptsetup是一个元包,它提取所有相关的包;您可能想要的实际程序由

  • cryptsetup-bincryptsetup:访问加密设备所需的核心命令
  • cryptsetup-run:启动脚本,用于在启动时自动设置设备
  • cryptsetup-initramfs:initramfs 集成。

您需要决定要保留其中哪些,并将它们标记为手动安装,这样它们就不会被删除。大概这至少是

sudo apt-mark manual cryptsetup-bin

然后,您可以删除 initramfs 集成,而不会产生不利影响:

sudo apt remove cryptsetup-initramfs

相关内容