暗号化方式でインストールされたデバイスの検出

暗号化方式でインストールされたデバイスの検出

OpenSUSE 12.2システムに外付けeSATAハードドライブがあります。外付けハードドライブのdm-cryptパーティションにLVMがあります。

電源を入れて設置しました。

rescan-scsi-bus.sh
cryptsetup -v luksOpen
vgchange -ay
mount

これで、ハードドライブの電源を切りたいときにこれを行います。

 umount
 vgchange -an extern-1
 cryptsetup -v remove /dev/mapper/extern-1-crypt
 echo 1 >/sys/block/sdf/device/delete

ここのdevice()はsdf現在スクリプトにハードコードされています。スクリプトのVGまたは暗号化されたデバイスから推論できますか?

ベストアンサー1

はい、そこから情報を見つけることができます/sys/block/$DEVICE/slaves。標準名のみがある場合は、それを使用してreadlink詳細を取得できます。たとえば、次のようになります。

devdm="$(readlink -f /dev/mapper/extern-1-crypt)"
dm="${devdm#/dev/}"
ls /sys/block/$dm/slaves/

すべてを削除するには、sysファイルシステムを直接使用できます。

echo 1 > /sys/block/$dm/slaves/*/../device/delete

おすすめ記事