if [ "$mapperDeviceList" ]; then
for dmDevice in $mapperDeviceList; do
if cryptsetup status /dev/mapper/${dmDevice} > /dev/null 2>&1; then
- mountPoint=$(df --output=source,target /dev/mapper/${dmDevice} | tail -n 1 | awk '{printf $2}');
+ mountPoint=$(df --output=source,target /media/${USER}/${dmDevice} | tail -n 1 | awk '{printf $2}');
device=$(sudo cryptsetup status /dev/mapper/${dmDevice} | grep "device" | awk '{printf $2}');
if [ "$mountPoint" ] && [ "$mountPoint" != "/dev" ]; then
echo -e "$device\t /dev/mapper/${dmDevice}\t$mountPoint";
lastField=$(ls -l /dev/mapper/immudex-crypt${index} | grep -o ' ' | wc -l);
dmDevice=$(ls -al /dev/mapper/immudex-crypt${index} | cut -d " " -f ${lastField}- | cut -d "/" -f2);
if ! $(sudo file -s /dev/${dmDevice} | grep -q 'ext4'); then
- echo "Could not determine filesystem of unlocked device.";
- echo -n "Format this device to ext4? (y/n): "
- read format;
- if [ "$format" = "y" ]; then
- mkfs.ext4 /dev/mapper/immudex-crypt${index};
+ if $(sudo file -s /dev/${dmDevice} | grep -q 'LVM'); then
+ lvm_member=0;
+ else
+ echo "Could not determine filesystem of unlocked device.";
+ echo -n "Format this device to ext4? (y/n): "
+ read format;
+ if [ "$format" = "y" ]; then
+ mkfs.ext4 /dev/mapper/immudex-crypt${index};
+ else
+ echo "Refuse to mount.";
+ cryptsetup close immudex-crypt${index};
+ exit 1;
+ fi
+ fi
+ fi
+ if [ "$lvm_member" ]; then
+ luksDeviceName="immudex-crypt${index}";
+ vgName=$(sudo pvs | grep "$luksDeviceName" | awk '{printf $2}');
+ extLVS=$(sudo blkid | grep "$(echo "$vgName" | sed 's,-,--,g')" | grep 'ext4' | sed 's/://g' | awk '{printf $1" "}');
+ if [ $(echo $extLVS | wc -w) -gt 0 ]; then
+ if [ $(echo $extLVS | wc -w) -gt 1 ]; then
+ select extLV in $extLVS; do
+ break;
+ done
+ mount $extLV /media/${USER}/immudex-crypt${index};
+ else
+ mount $extLVS /media/${USER}/immudex-crypt${index};
+ fi
else
echo "Refuse to mount.";
cryptsetup close immudex-crypt${index};
exit 1;
- fi
+ fi
+ else
+ mount /dev/mapper/immudex-crypt${index} /media/${USER}/immudex-crypt${index};
fi
- mount /dev/mapper/immudex-crypt${index} /media/${USER}/immudex-crypt${index};
if [ ! -e /ic${index} ]; then
ln -s /media/${USER}/immudex-crypt${index} /ic${index};
fi
cryptfsName=$1;
fi
if cryptsetup status /dev/mapper/${cryptfsName} > /dev/null 2>&1; then
- mountPoint=$(df --output=source,target /dev/mapper/${cryptfsName} | tail -1 | awk '{printf $2}');
+ mountPoint=$(df --output=source,target /media/${USER}/${cryptfsName} | tail -1 | awk '{printf $2}');
if [ "$mountPoint" ] && [ "$mountPoint" != "/dev" ]; then
umount -R $mountPoint;
+ if $(sudo blkid | grep "$cryptfsName" | grep -q 'LVM2_member'); then
+ vgName=$(sudo pvs | grep "$cryptfsName" | awk '{printf $2}' | sed 's/-/--/g');
+ swapFile=$(cat /proc/swaps | sed -n 2p | awk '{printf $1}');
+ if [ "$swapFile" ]; then
+ if $(ls -l /dev/mapper | grep "$(basename $swapFile)" | grep -q "$vgName"); then
+ sudo swapoff $swapFile;
+ fi
+ fi
+ sudo vgchange -a n;
+ fi
cryptsetup close ${cryptfsName};
else
+ if $(sudo blkid | grep "${cryptfsName}" | grep -q 'LVM2_member'); then
+ sudo vgchange -a n;
+ fi
cryptsetup close ${cryptfsName};
fi
else