Автор Тема: Правило монтирования внешнего диска/флешки с меткой в определенную папку  (Прочитано 680 раз)

Оффлайн Сергей-70

  • Завсегдатай
  • *
  • Сообщений: 500
Всем добрый день. Возникла нужда монтировать определенную флешку в особую папку. В папке /etc/udev/rules.d сделал файлик myflash.rules с такой строкой:
ACTION=="add", ENV{ID_FS_LABEL}=="mylabel", RUN+="/bin/mount /dev/%k /home/user/flash"
После обновления правил sudo udevadm control --reload-rules ничего не меняется.. Что я сделал неверно, подскажите, плиз

Оффлайн kessys

  • Завсегдатай
  • *
  • Сообщений: 627
Всем добрый день. Возникла нужда монтировать определенную флешку в особую папку. В папке /etc/udev/rules.d сделал файлик myflash.rules с такой строкой:
ACTION=="add", ENV{ID_FS_LABEL}=="mylabel", RUN+="/bin/mount /dev/%k /home/user/flash"
После обновления правил sudo udevadm control --reload-rules ничего не меняется.. Что я сделал неверно, подскажите, плиз
Вроде как проще в fstab и по uuid, но флешку ещё не монтировал
О подпись)
Жизнь с kde не так плоха, Но без ssd, это жестоко грустно.

Оффлайн Антон Мидюков

  • alt linux team
  • ***
  • Сообщений: 5 183
  • antohami@
Вроде как проще в fstab и по uuid, но флешку ещё не монтировал

Да, в /etc/fstab прописать, udev правило тут не требуется писать. Как-то так:

UUID=<UUID> <каталог> <файловая система> noauto,x-systemd.automount,x-gvfs-show 0 0

Оффлайн kessys

  • Завсегдатай
  • *
  • Сообщений: 627
О подпись)
Жизнь с kde не так плоха, Но без ssd, это жестоко грустно.

Оффлайн Сергей-70

  • Завсегдатай
  • *
  • Сообщений: 500
Да, в /etc/fstab прописать, udev правило тут не требуется писать. Как-то так:

Я так делал: LABEL='mylabel' /home/user/flash vfat dmask=000,fmask=111 0 0

Но это работает только при перезагрузке компа. А так как сейчас, флешка подключается автоматом в /run/media/user

А мне нужно, чтобы именно при произвольном нужная флешка монтировалась куда надо

Оффлайн Антон Мидюков

  • alt linux team
  • ***
  • Сообщений: 5 183
  • antohami@
Я так делал: LABEL='mylabel' /home/user/flash vfat dmask=000,fmask=111 0 0

Если флешка не вставлена, то при загрузке системы будет failed. Нужен параметр noauto или nofail.

Попробуйте сделать, как рекомендую.

Оффлайн Сергей-70

  • Завсегдатай
  • *
  • Сообщений: 500
Попробуйте сделать, как рекомендую.
Да, спасибо, сделал как вы посоветовали.
Теперь бы еще сделать, чтобы монтировалась при произвольном подключении

Оффлайн Антон Мидюков

  • alt linux team
  • ***
  • Сообщений: 5 183
  • antohami@
Теперь бы еще сделать, чтобы монтировалась при произвольном подключении

Она должна монтироваться автоматом при обращении к каталогу.
Но попробуйте заменить noauto на nofail.

Оффлайн Сергей-70

  • Завсегдатай
  • *
  • Сообщений: 500
Короче, что люди пишут:

Caveat 2019: On modern desktop Linux systems using systemd, udev rules do not mount filesystems in the regular user namespace, i.e. you cannot mount a filesystem using the mount command in a udev rule. Furthermore, in these systems, the fuse (user filesystems) system is configured to handle USB mounts via a desktop icon, so mounting by hand using an fstab rule to some degree conflicts with the fuse system. For mounting USB filesystems by UUID automatically on a headless server you would be best to remove the systemd fuse configuration and use udev rules to trigger one-shot mount services.

Поэтому нужно так: LABEL='mylabel'  /home/user/path  vfat  noauto,nofail,x-systemd.automount,x-systemd.idle-timeout=2,x-systemd.device-timeout=2

потом systemctl daemon-reload && systemctl restart local-fs.target

Но тут нужно правила создавать для подключения и отключения в systemd. Короче, хотел потянуть за хвостик, а вытянул слона)))

« Последнее редактирование: 09.04.2023 22:10:27 от Сергей-70 »

Оффлайн Антон Мидюков

  • alt linux team
  • ***
  • Сообщений: 5 183
  • antohami@
Но тут нужно правила создавать для подключения и отключения в systemd. Короче, хотел потянуть за хвостик, а вытянул слона)))

Так это всё автоматом создаётся на основании записи в fstab. Работает x-systemd.automount так: как только происходит обращение к пути, содержащему точку монтирования, специальный сервис systemd для этой точки монтирования пытается произвести монтирование. А сервис создаётся при загрузке на основании записи в fstab.

Оффлайн Сергей-70

  • Завсегдатай
  • *
  • Сообщений: 500
в общем сейчас монтирование идет правильно, а вот при попытке отмонтировать в thunar вылетает сообщение: umount: /home/user/cache: must be superuser to umount
« Последнее редактирование: 10.04.2023 22:07:12 от Сергей-70 »

Оффлайн kessys

  • Завсегдатай
  • *
  • Сообщений: 627
Так это всё автоматом создаётся на основании записи в fstab.
У  меня не получилось. При монтировании флешка появляется по старому адресу в /run/media/user и по новому.
По старому она отмонтируется, а по новому - нет.
Уточняю - речь идет о стандартной операции в thunar
Вроде как проще в fstab и по uuid, но флешку ещё не монтировал
https://www.altlinux.org/Настройка_Fstab
О подпись)
Жизнь с kde не так плоха, Но без ssd, это жестоко грустно.

Оффлайн Антон Мидюков

  • alt linux team
  • ***
  • Сообщений: 5 183
  • antohami@
в общем сейчас монтирование идет правильно, а вот при попытке отмонтировать в thunar вылетает сообщение: umount: /home/user/cache: must be superuser to umount

polkit-rule-udisks2-mount установлен?
Что в итоге в fstab прописали? x-gvfs-show прописали?

Оффлайн Сергей-70

  • Завсегдатай
  • *
  • Сообщений: 500
Добрый день. Прошу прощения, что долго не отвечал, не было времени совсем. На сейчас в fstab прописал:
LABEL='mylabel' /home/papa/flash vfat nofail,x-systemd.automount,x-systemd.idle-timeout=2,x-systemd.device-timeout=2,x-gvfs-show 0 0

В тунаре появляется две флешки, одна монтируется в  /run/media/user, другая - как я и прописал в /home/papa/flash

При попытке отсоединить требует суперюзера. Но и от суперюзера не отмонтирует. Видимо какие-то политики надо прописать