それマグで!

知識はカップより、マグでゆっくり頂きます。 takuya_1stのブログ

習慣に早くから配慮した者は、 おそらく人生の実りも大きい。

crypttab に書いた内容を反映してチェックする。

cryttab 書いたけど・・・

この書式であってんのかな。と、自身が無い

/etc/crypttab の内容をチェックしたり、テストしたり、また再起動せずに反映したいときにどうするのか。

cryptdisks_start crypt-ssd を使う

crypttab の内容を使ってリマッピングする

sudo cryptdisks_start crypt-my-ssd
sudo cryptdisks_stop crypt-my-ssd

再起動前にチェックする

systemd の仕組みを通して、再起動のプロセスを擬似的に再現する。

sudo /usr/lib/systemd/system-generators/systemd-cryptsetup-generator /run/systemd/generator
sudo systemctl daemon-reload
sudo systemctl restart cryptsetup.target

注意点 コメントアウトが誤作動する

次のような、末尾にコメントをつけた場合、再起動後は問題なく動く

crypt-disk10 UUID=xxx /boot/keyfil luks,keyslot=0 # WDC WD80EAAZ-00BXBB0 / WD-RD0A75RE     / 2024-05-15:追加

cryptdisk コマンドの場合は、エラーになる。

Starting crypto disk...cryptsetup: ERROR: crypt-disk10: invalid value for 'keyslot' option, skipping

ただし、cypytdisks_start は、次のように並んでいる場合

crypt-disk07 UUID=xxx /keysluks,keyslot=0 # コメント
crypt-disk08 UUID=xxx /keysluks,keyslot=0 # コメント
crypt-disk09 UUID=xxx /keysluks,keyslot=0 # コメント
crypt-disk10 UUID=xxx /keysluks,keyslot=0 # コメント

必要な行だけを読み込む

sudo cryptdisks_start crypt-disk10 # failed syntax error

この場合は、disk10 の部分だけを読み込む。

だから、Syntaxエラーには、disk10 の場所だけ。

なので

crypt-disk07 UUID=xxx /keysluks,keyslot=0 # コメント
crypt-disk08 UUID=xxx /keysluks,keyslot=0 # コメント
crypt-disk09 UUID=xxx /keysluks,keyslot=0 # コメント
crypt-disk10 UUID=xxx /keysluks,keyslot=0 

とすると

sudo cryptdisks_start crypt-disk10 # success 

ちゃんと動作する。

どう考えてもこれってバグっぽい挙動ですよね。

書式は同じだけど、コマンドの場合だけ、動かないのは「バグ」だと思うんです。

まぁ仕方ないけどね。

テストするときは、cryptdisk_start する 行だけがシンタックスあっていればいいので。

2024-05-15

コメントのバグについて言及。

参考資料