crypttab
システム起動時に(LUKSファイルキーを使用)、自動的にマウントされるように2つのLUKS暗号化ドライブを設定しました。うまくいきますが、残念ながらドライブの1つを切断してそれを自分のPCに再接続すると(Fedoraを実行)、「自動復号化」プロセスは実行されず、手動でインストールしてから削除する必要があります。システム起動時にsystemdがトリガするのと同じプロセスをトリガし、メッセージが表示されたときにドライブが自動的にマウントされ、復号化されるようにどのコマンドを使用できますか?それとも失敗した場合、systemdに自動的に復号化してインストールさせることができますか?
ちなみに、ドライブの設定に使用したチュートリアルは次のとおりです。https://www.golinuxcloud.com/mount-luks-encrypted-disk-partition-linux/
ベストアンサー1
の各エントリは、/etc/crypttab
起動時または実行時にsystemdによって自動的にsystemd-cryptsetup-generator
単位に変換されますsudo systemctl daemon-reload
。たとえば、LUKSファイルシステムのUUIDが1111...
(完全には表示されていない)エントリであるとします。
mytest /dev/disk/by-uuid/1111... /etc/luks/mykeyfile luks
依存関係などとともにファイルが生成されます。新しいディスクにUUIDが表示されると、デバイスが起動します。/run/systemd/generator/[email protected]
BindsTo=dev-disk-by\x2duuid-1111....device
cryptsetup
/etc/fstab
同様に、systemdのすべてのエントリは自動的にsystemd-fstab-generator
単位に変換されます。たとえば、アイテム
/dev/mapper/mytest /mnt/mytest ext4 defaults
ファイルが存在すると/run/systemd/generator/mnt-mytest.mount
(おそらくudevを介して)マウントを生成する/dev/mapper/mytest
(によって生成される)ファイルが生成されます。cryptsetup
次のコマンドを使用して、両方のデバイスの状態を確認できます。
systemctl status systemd-cryptsetup@mytest mnt-mytest.mount
通常、復号化とマウントが正常に完了すると、次のように表示されます。
Active: active (exited)
Active: active (mounted)
ディスクを完全に削除するには、まず次のコマンドを発行します。
sudo systemctl stop mnt-mytest.mount
sudo systemctl stop systemd-cryptsetup@mytest
ディスクを再挿入すると、自動的にマウントされます。
これを行わずに取り付けられたディスクを取り外すと、デバイスが故障したままになる可能性があります。journalctl -f
メッセージを表示するには、systemdログを追跡してください。
場合によっては、アンマウントせずにプラグを抜くと、カーネルはファイルシステムのI / Oエラーに関するメッセージを表示しますが、ファイルシステムを正常にアンマウントし、crypt detachでデバイスを正常にシャットダウンします。この場合、デバイスを再接続すると、介入なしに自動的に正常にインストールされます。
ただし、時にはI / Oエラーの後、カーネルはファイルシステムを読み取り専用に再マウントすることを決定します。これにより、デバイスが使用中であるため、失敗するcrypt detachコマンドに問題が発生します(systemdによってアンマウントが必要なときにマウントされます)。通常、ファイルシステムがマウント解除されるため、競合の問題があるようです。デバイスを再接続すると、復号化によってボリュームがすでに有効になっていると表示されるため、マウントがトリガーされないように見えます。
この場合、停止したジョブの障害状態をクリアし、分離コマンドを手動で実行すると機能するようです。デバイスを再接続すると、復号化メカニズムが正常に起動し、インストールが完了します。コマンドは
sudo systemctl reset-failed systemd-cryptsetup@mytest
sudo /usr/lib/systemd/systemd-cryptsetup detach mytest
dev-mapper-mytest.device
状態を確認できるデバイスもあります。分離が失敗した場合はアクティブのままですが、上記の手動分離コマンドを実行した後は無効になります。