「systemctl start」がディスク暗号化パスワードを要求するのはなぜですか?

「systemctl start」がディスク暗号化パスワードを要求するのはなぜですか?

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」のようなものの1つでも)次のようになります。

Please enter passphrase for disk STxxxxxx-xxxxxx (luks)! *

問題:起動時にディスクパスワードを入力し、プライマリインストールドライブ(SSD)やその他のハードドライブが正しく機能していることを確認しました。ルクスのパスワードをもう一度尋ねる必要はありません!

後でこのコマンドを「手動で」実行してこの問題を明確に解決できますが、これは少し問題があるようです。解決策はありますか?私は何が間違っていましたか?

注:私のディスク番号はプライベートではないかもしれませんが、とにかく無視してください。

答え1

私はこの質問に対する答えの一部を見つけたようです。

状況はこんな感じです。最後に、システムを再起動してから暗号化されたボリュームを作成しましたumountcryptsetup luksClose私もその行をコメントアウト/etc/crypttab/etc/fstabますnoauto

後で実行したsudo systemctl start my-oneshot結果systemd、そのユニットを作成したファイルシステムの1つがマウントされなくなったことがわかりましたsystemd-cryptsetup@volumename_unlk.service。 -cryptsetup-1234"または他の4桁の数字。

その結果、デバイスにエラーが発生して次回デバイスを実行しようとすると、再起動を試み、systemctl start my-oneshotパスワードを要求し続けます。

まだ混乱していますか?はい。しかし、少なくともある程度の明確性は確保された。再起動するsystemdと、セルは暗号化デバイスとマウントポイントを再生成できるため、この問題は解決されると考えられます。再起動する機会がある場合は、ここで更新します。

編集する:

はい、再起動後に問題のあるcryptsetupデバイスはもう存在しなくなり、oneshotデバイスを起動するとパスワードの入力を求められません。

答え2

再起動せずにこの状況を解決するコマンドは次のとおりです。

systemctl daemon-reload

これを変更すると、すべてのユニットファイルを再ロードするだけでなく、すべてのユニットジェネレータも再実行されます。これがすぐに/etc/crypttabおよび/またはを変更した後に必要なものです/etc/fstab

関連情報