从今天开始,我在运行时收到以下警告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-bin
cryptsetup
:访问加密设备所需的核心命令cryptsetup-run
:启动脚本,用于在启动时自动设置设备cryptsetup-initramfs
:initramfs 集成。
您需要决定要保留其中哪些,并将它们标记为手动安装,这样它们就不会被删除。大概这至少是
sudo apt-mark manual cryptsetup-bin
然后,您可以删除 initramfs 集成,而不会产生不利影响:
sudo apt remove cryptsetup-initramfs