我正在从头开始安装 Fedora 24 并将其写在https://github.com/barrycarter/bcapps/blob/master/FEDORA/README
我已经重新安装了很多次(甚至尝试过 CentOS 7 但放弃了),但最近遇到了问题。当我做:
sudo systemctl start postgresql mysqld nagios dnsmasq httpd sendmail
(或者甚至是其中任何一个,例如“sudo systemctl start nagios”),我得到:
Please enter passphrase for disk STxxxxxx-xxxxxx (luks)! *
问题:我已经在启动时输入了磁盘密码,并确认我的主安装驱动器(SSD)和其他硬盘驱动器都正常运行。无需再次询问 luks 密码!
我显然可以通过稍后“手动”运行这些命令来解决这个问题,但这似乎有点问题。有解决办法吗?我做错了什么吗?
注意:我意识到我的磁盘号可能不是私有的,但我还是忽略了它。
答案1
我想我已经找到了这个问题的部分答案。
情况是这样的。自从上次重新启动系统以来,我umount
已经cryptsetup luksClose
创建了一个加密卷。我还注释掉了它的行/etc/crypttab
并将其更改/etc/fstab
为noauto
。
后来,我运行sudo systemctl start my-oneshot
并(我猜)systemd
注意到它为其生成单元的文件系统之一不再安装,因此它尝试启动systemd-cryptsetup@volumename_unlk.service
,由于某种原因,它不使用映射名称“volumename_unlk”,而是使用使用“temporary-cryptsetup-1234”或其他一些 4 位数字。
结果,设备失败并在我下次尝试运行时尝试重新启动systemctl start my-oneshot
并继续要求输入密码。
我还很困惑吗?是的。但至少已经带来了一些清晰度。我怀疑重新启动可以通过允许systemd
重新生成加密设备和安装点的单元来解决这个问题。当我有机会重新启动时,我会在这里更新。
编辑:
是的,重新启动后,有问题的 cryptsetup 单元不再存在,并且在启动 oneshot 单元时不会询问我的密码。
答案2
无需重新启动即可解决此类情况的命令是
systemctl daemon-reload
如果您对它们进行了更改,它不仅会重新加载所有单元文件,还会重新运行所有单元生成器。这正是您对/etc/crypttab
and/or进行更改后想要的/etc/fstab
。