現在、次のスクリプトがあります。説明したディスクをマウントする必要がある場合は、このコマンドを手動で実行してください。起動時にディスクを自動的にマウントする必要はありません。
disk1="/dev/disk/by-uuid/84ea2a10-abcd-abcd-abcd-06deabcdabcd"
sudo cryptsetup luksOpen "${disk1}" disk1-crypt
sudo mount /dev/mapper/disk1-crypt /mnt/disk1
このディスクをマウントしようとすると、luksOpenコマンドが自動的に実行されるようにLinuxを設定できますか?可能であれば、取り外し時にも閉じてください。
ベストアンサー1
これはエレガントなソリューションではありませんが、お客様のユースケースに適している可能性があります(確かに私が自分で解決した方法です)。
mount
コマンドをエイリアスとしてオーバーライドし、引数を確認し、正しい引数を渡すときに必要な操作を実行し、他のものをmount
渡すときに実際のコマンドに戻るbashスクリプトを作成できます。
このスクリプトを見てください。
#!/bin/bash
mount_disk1 () {
disk1="/dev/disk/by-uuid/84ea2a10-abcd-abcd-abcd-06deabcdabcd"
sudo cryptsetup luksOpen "${disk1}" disk1-crypt
sudo mount /dev/mapper/disk1-crypt /mnt/disk1
}
[[ "$@" == "disk1" ]] && mount_disk1 \
|| mount "$@"
ここに必要なタスクを実行する機能があります。渡された唯一のものがdisk1
関数を実行するだけであれば、そうでなければmount
すべての引数を渡す元の関数を実行します。
~/.bashrc
このスクリプトをフォルダーに配置するか、~/.zshrc
次を使用してエイリアスを設定できます。
alias mount='<path to script>'
その後、ソースを使用するには端末で実行mount
できます。\mount
(再)役立つことを願っています!