我正在像这样安装一堆加密磁盘
cryptsetup luksOpen some_source some_mapping &&
mount /dev/mapper/some_mapping /some_mountpoint
如何抽象掉中间映射?
我想我可以做这样的事情:
uuid=$(sudo some_device |head -n1)
some_mapping=$uuid
cryptsetup luksOpen some_source $some_mapping &&
mount /dev/mapper/$some_mapping /some_mountpoint
并将其放入脚本中。
有没有更好的办法?我还可以确保umount
ing 自动删除中间映射吗?
答案1
是的,我为此使用脚本,因为有时我也会使用 LVM 来增长我的加密卷。我使用这样的脚本;
#!/bin/bash
set -e
trap 'echo "ERROR: $BASH_SOURCE:$LINENO $BASH_COMMAND" >&2' ERR
M="$1"
C=$(mount | grep -c "$M" || true)
if [ "$C" -gt 0 ] ; then
echo "/media/$M already mounted" >&2
exit 1
fi
vgimport "vg_$M"
vgchange -ay "vg_$M"
cryptsetup luksOpen "/dev/vg_$M/lv_$M" "crypt_$M"
if [ ! -d "/media/$M" ] ; then
mkdir "/media/$M"
fi
mount "/dev/mapper/crypt_$M" "/media/$M"
答案2
我试过
mount the_encrypted_lv the_mount_point
它要求输入密码并正确解密并安装该卷。
mount
然后显示安装点和自动生成的中间映射。
umount
然后将两者都删除。
有时天真的事情会起作用。