Форум русскоязычного сообщества Ubuntu


Хотите сделать посильный вклад в развитие Ubuntu и русскоязычного сообщества?
Помогите нам с документацией!

Автор Тема: Автомонтирование при вставке  (Прочитано 1516 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн Peter_I

  • Автор темы
  • Старожил
  • *
  • Сообщений: 3037
    • Просмотр профиля
Автомонтирование при вставке
« : 24 Апреля 2018, 15:47:16 »
Здравствуйте!

Есть карта памяти с именем, она постоянно вставлена, в /etc/fstab строка для неё содержит параметр "auto",
строка приблизительно
LABEL=flash1 /media/flash1 ext4 rw,nofail,users,noexec,suid,dev,auto 0 2Теперь хотелось бы, чтобы и при вставлении во время работы она автоматически монтировалась в этот же каталог,
ничего не спрашивая. Для этого надо создавать правило udev и запускать из него скрипт с командой монтирования
или можно как-то иначе?
« Последнее редактирование: 25 Апреля 2018, 15:31:49 от Peter_I »
Пётр.

Оффлайн AnrDaemon

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 28366
    • Просмотр профиля
Re: Автомомонтирование при вставке
« Ответ #1 : 24 Апреля 2018, 16:25:48 »
1. Помня ваш предыдущий топик, уберите users.
2. Да, надо правило udev, которое будет дёргать mount -a.
3. Ещё можно добавить опции для systemd чтобы оно не сильно нервничало при загрузке без стика https://anr-daemon.livejournal.com/28870.html
4. И, да, Astra Linux тут оффтопик.
Хотите получить помощь? Потрудитесь представить запрошенную информацию в полном объёме.

Прежде чем [Отправить], нажми [Просмотр] и прочти собственное сообщение. Сам-то понял, что написал?…

Оффлайн Peter_I

  • Автор темы
  • Старожил
  • *
  • Сообщений: 3037
    • Просмотр профиля
Re: Автомомонтирование при вставке
« Ответ #2 : 24 Апреля 2018, 17:12:47 »
AnrDaemon, благодарю за ответ. А есть ли в ключах udev какой-нибудь, в котором можно было бы получить
Filesystem volume name, т.е. метку раздела? И есть ли где-нибудь более полное описание udev, чем в man?
Например, содержащее описания всех keys, которые указываются в {}.
Пётр.

Оффлайн ALiEN

  • Администратор
  • Старожил
  • *
  • Сообщений: 6754
  • 20% Cooler
    • Просмотр профиля
Re: Автомомонтирование при вставке
« Ответ #3 : 24 Апреля 2018, 17:25:08 »
Peter_I,

udevadm info -a -n /dev/XXX    
🖥 AsRock B550M Pro4 :: AMD Ryzen 5 3600 :: 16 GB DDR4 :: AMD Radeon RX 6600 :: XFCE
💻 ACER 5750G :: Intel Core i5-2450M :: 6 GB DDR3 :: GeForce GT 630M :: XFCE

Оффлайн Peter_I

  • Автор темы
  • Старожил
  • *
  • Сообщений: 3037
    • Просмотр профиля
Re: Автомомонтирование при вставке
« Ответ #4 : 24 Апреля 2018, 17:46:50 »
ALiEN175, благодарю, я уже нашёл достаточно по работе с udev, там есть и эта команда и ещё рекомендуют udevinfo.

Пользователь добавил сообщение 25 Апреля 2018, 12:13:57:
Я добавил следующее правило и оно срабатывает, хотя я подозреваю, что оно неоптимальное и вообще
идеологически не вполне верное. М.б., правильнее было использовать ATTR{}?
SUBSYSTEM=="block", ACTION=="add", ENV{ID_BUS}=="usb", ENV{ID_MODEL}=="Flash_HS-CF", ENV{ID_FS_LABEL}=="flash1", PROGRAM="/bin/mount -a"
flash1 - это метка раздела.
« Последнее редактирование: 25 Апреля 2018, 12:13:57 от Peter_I »
Пётр.

Оффлайн EvangelionDeath

  • Администратор
  • Старожил
  • *
  • Сообщений: 3487
  • Ubuntu 22.04 х64
    • Просмотр профиля
Re: Автомомонтирование при вставке
« Ответ #5 : 25 Апреля 2018, 13:40:01 »
Peter_I, я бы привязал вообще к UUID ибо придут с такой же флешкой...
HP Pro 840 G3: Intel i5-6300U, 32GB DDR4 2133MHz, Intel 520, Intel Pro 2500 180GB/Ubuntu 22.04
Dell Latitude 5590: Intel i5-8350U, 16GB DDR4 2400MHz, Intel 620, Samsung 1TB/Ubuntu 22.04

Оффлайн AnrDaemon

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 28366
    • Просмотр профиля
Re: Автомомонтирование при вставке
« Ответ #6 : 25 Апреля 2018, 14:09:12 »
UUID файловой системы… Это всё вовсе не защита.
Если нужна хоть какая-то гарантия, стройте криптосистему.
Но повторюсь, обсуждение систем, отличных от Ubuntu - оффтопик.
Хотите получить помощь? Потрудитесь представить запрошенную информацию в полном объёме.

Прежде чем [Отправить], нажми [Просмотр] и прочти собственное сообщение. Сам-то понял, что написал?…

Оффлайн Peter_I

  • Автор темы
  • Старожил
  • *
  • Сообщений: 3037
    • Просмотр профиля
Re: Автомомонтирование при вставке
« Ответ #7 : 25 Апреля 2018, 15:22:39 »
AnrDaemon, благодарю вас обоих за внимание, я всё это учту. Я и сам понимаю, что могут прийти с такой же картой,
с меткой flash1, возможно, привяжемся к её уникальным параметрам. Но сейчас у меня другая проблема.

С ACTION=="add" карта монтируется и при загрузке и это происходит до запуска системой e2fsck.
Я заменил там "mount -a" на монтирование только карты, но всё равно это неправильно.
Я пробовал заменять "add" на "change", но тогда правило её вообще не монтирует.
Можно ли как-то сделать, чтобы правило не выполнялось при загрузке системы?
Лучше, конечно, с помощью каких-то сведений, предоставляемых udev, но я их пока не нашёл.
Или надо запускать скрипт для определения того, идёт загрузка или уже закончилась? Тогда что лучше проверять?
Пётр.

Оффлайн AnrDaemon

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 28366
    • Просмотр профиля
Re: Автомонтирование при вставке
« Ответ #8 : 25 Апреля 2018, 15:44:59 »
Почему нет? Если карта вставлена, пусть монтирует ради Бога…
Хотите получить помощь? Потрудитесь представить запрошенную информацию в полном объёме.

Прежде чем [Отправить], нажми [Просмотр] и прочти собственное сообщение. Сам-то понял, что написал?…

Оффлайн Peter_I

  • Автор темы
  • Старожил
  • *
  • Сообщений: 3037
    • Просмотр профиля
Re: Автомонтирование при вставке
« Ответ #9 : 25 Апреля 2018, 16:10:26 »
AnrDaemon, так я же сказал, что это нежелательно. Когда там первоначально было "mount -a",
то у меня монтировались и все разделы на SSD, e2fsck не могла их проверить и система останавливала
загрузку и предлагала ввести пароль или нажать Ctrl+D. Так что вопрос остаётся.

Пользователь добавил сообщение 25 Апреля 2018, 17:37:48:
С таким правилом тоже не монтируется:
SUBSYSTEM=="block", ACTION=="add", ENV{ID_BUS}=="usb", ENV{ID_MODEL}=="Flash_HS-CF", ENV{ID_FS_LABEL}=="flash1", PROGRAM="/bin/sh -c 'if [ $USER == "operator0" ] ; then /bin/mount -t ext4 -o relatime,rw,users,dev,suid,async /dev/sdb1 /media/flash1; fi'"
« Последнее редактирование: 25 Апреля 2018, 17:37:48 от Peter_I »
Пётр.

Оффлайн AnrDaemon

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 28366
    • Просмотр профиля
Re: Автомонтирование при вставке
« Ответ #10 : 25 Апреля 2018, 18:08:49 »
if [ $USER == "operator0" ]никогда не будет выполняться. (И, да, "==" это ошибка.)
Хотите получить помощь? Потрудитесь представить запрошенную информацию в полном объёме.

Прежде чем [Отправить], нажми [Просмотр] и прочти собственное сообщение. Сам-то понял, что написал?…

Оффлайн ALiEN

  • Администратор
  • Старожил
  • *
  • Сообщений: 6754
  • 20% Cooler
    • Просмотр профиля
Re: Автомонтирование при вставке
« Ответ #11 : 25 Апреля 2018, 18:14:20 »
а noauto,x-systemd.automount в fstab не вариант?
то есть, пока не открыли соответствующий каталог - монтирования не будет.
но тут заковыка! если открыли каталог, а флешки не было - будет ошибка, и при последующем открытии даже с флешкой монтирования не будет. До перезагрузки, конечно.
🖥 AsRock B550M Pro4 :: AMD Ryzen 5 3600 :: 16 GB DDR4 :: AMD Radeon RX 6600 :: XFCE
💻 ACER 5750G :: Intel Core i5-2450M :: 6 GB DDR3 :: GeForce GT 630M :: XFCE

Оффлайн Peter_I

  • Автор темы
  • Старожил
  • *
  • Сообщений: 3037
    • Просмотр профиля
Re: Автомонтирование при вставке
« Ответ #12 : 25 Апреля 2018, 18:14:45 »
AnrDaemon, первоначально я пробовал с одним "=", но в скриптах у меня есть и с одним и с двумя.
Я уже подумал, что это условие почему-то не выполняется, а почему? udevd недоступны переменные окружения?
Но я и спрашивал, что надо проверять.

Пользователь добавил сообщение 25 Апреля 2018, 18:16:42:
ALiEN175, не знаю, но желательно обычное правило udev. Я пока не понял, что надо проверять после загрузки
либо во время её.
« Последнее редактирование: 25 Апреля 2018, 18:16:42 от Peter_I »
Пётр.

Оффлайн AnrDaemon

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 28366
    • Просмотр профиля
Re: Автомонтирование при вставке
« Ответ #13 : 25 Апреля 2018, 18:19:47 »
udevd недоступны переменные окружения?
Доступны… его собственные. И имя пользователя там, естественно, root, если вообще есть.
Хотите получить помощь? Потрудитесь представить запрошенную информацию в полном объёме.

Прежде чем [Отправить], нажми [Просмотр] и прочти собственное сообщение. Сам-то понял, что написал?…

Оффлайн ALiEN

  • Администратор
  • Старожил
  • *
  • Сообщений: 6754
  • 20% Cooler
    • Просмотр профиля
Re: Автомонтирование при вставке
« Ответ #14 : 25 Апреля 2018, 18:20:53 »
Peter_I, udev от рута работает.
$USER в udev ВСЕГДА root
ps aux | grep '[u]dev'
« Последнее редактирование: 25 Апреля 2018, 18:22:41 от ALiEN175 »
🖥 AsRock B550M Pro4 :: AMD Ryzen 5 3600 :: 16 GB DDR4 :: AMD Radeon RX 6600 :: XFCE
💻 ACER 5750G :: Intel Core i5-2450M :: 6 GB DDR3 :: GeForce GT 630M :: XFCE

 

Страница сгенерирована за 0.063 секунд. Запросов: 25.