8

Есть ли способ предоставить сценарии после монтирования и перед монтированием в Linux?
Я пытаюсь сделать некоторые сценарии на носителе при монтировании и перед монтированием (например, для синхронизации).

Любая помощь приветствуется.

4 ответа4

2

Если вы пытаетесь сделать это для людей, вызывающих команды /sbin/mount и /sbin/umount , все, что вам нужно сделать, это создать программу-оболочку для обеих программ и запрограммировать то, что вы хотите, в эти программы-оболочки.

Программа-оболочка заменяет /sbin/mount на программу-обертку, которая вызывает real /sbin/mount (переименовывается в что-то вроде /sbin/mount-real или /sbin/umount-real). Чтобы никто не мог вызвать настоящую программу, используйте групповые разрешения, чтобы ограничить ее и установить бит SGID для программ-оболочек.

Если вы хотите исправить библиотечный вызов mount(2) , то это трудоемко, и, вероятно, трудно, а возможно, и не рекомендуется, поскольку это может вызвать проблемы для внутренней обработки системы, особенно во время запуска и завершения работы.

Даже с программой-оберткой вам, вероятно, придется тщательно протестировать ее, чтобы избежать вмешательства системы и внести соответствующие изменения.

0

Вы, вероятно, можете использовать ловушку ядра inotify , хотя событие pre-unmount может быть действительно сложно поймать, так как я не уверен, есть ли событие inotify, отправленное перед размонтированием каталога.

0

Самое простое решение, которое, вероятно, будет работать вечно, это опросить /etc/mtab или /proc/mounts mounts . После внесения изменений в этот файл это означает, что что-то было смонтировано или размонтировано. Затем вы должны проверить там устройство, которое вы хотите.

Udev - не лучшее решение, поскольку оно просто сообщает вам, подключено ли устройство. Он не говорит, было ли устройство фактически установлено или нет. Это может иногда работать, но это хакерское решение, которое в какой-то момент сломается, и вы будете выдергивать волосы.

0

Вы могли бы написать правило udev, чтобы сделать это. Я использовал что-то вроде этого для автоматического резервного копирования материала на USB-диск. Прикольные вещи.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .