правило udev для отключения и спящего режима/приостановки

правило udev для отключения и спящего режима/приостановки

У меня есть внешний жесткий диск, который содержит различные разделы GPT. Один из них — раздел LVM. Этот раздел содержится в группе томов LVM (называемой «volga»), которая в свою очередь делится на множество различных логических томов, один из которых — «data» и является зашифрованным разделом.

Я бы хотел, чтобы при подключении внешнего жесткого диска моя ОС:

  1. включить логический том "данные"
  2. используйте cryptsetup для создания незашифрованного узла данных с /dev/mapper/dataиспользованием ключевого файла, хранящегося в/somewhere/keyfile
  3. монтировать /dev/mapper/dataв /mnt/data  4. привязать /mnt/data/Musicк /home/qdii/Music(и другим каталогам)

Кроме того, я бы хотел, чтобы при каждом отключении устройства моя ОС очищала все данные.

Пока у меня есть 2 скрипта. Первый открывает и отображает устройство:

#!/bin/bash
sleep 5
vgchange -aly volga
cryptsetup luksOpen -d /somewhere/keyfile /dev/mapper/volga-data data
mount /dev/mapper/data /mnt/data
for i in Music Videos Ebooks Iso Vbox Games Vrac
do 
    mount --bind /mnt/data/$i /home/qdii/$i
done

Второй закрывает и отменяет сопоставление устройства:

#!/bin/bash
umount -l /run/media/qdii/zero
umount -l /home/qdii/{Videos,Ebooks,Iso,Music,Vbox,Games,Vrac}
umount -l /mnt/data
sleep 2
cryptsetup luksClose /dev/mapper/data
lvchange -aln volga/data

Чтобы автоматизировать выполнение первого скрипта, я написал простое правило udev:

SUBSYSTEMS=="usb", ATTRS{serial}=="20120530280019", KERNEL=="sd?2", NAME="%k", SYMLINK+="thomson", GROUP="usb", RUN="/bin/bash /somewhere/open.sh"

Работает замечательно, но я не уверен, как написать второе правило udev, чтобы вызывать второй скрипт при отключении (или когда компьютер переходит в режим гибернации/ожидания).

Связанный контент