Монтировка флешек при помощи UDEV
Пытаюсь разобраться с работой демона UDEV, пока успешно монтируется и размонтируется USB флешки в фиксированную директорию.
Никак не могу понять как смонтировать несколько флешек одновременно.
Видимо автоматом нужно создавать новые директории для точек монтирования, но как сделать я хз(
С этим UDEV-м сталкиваюсь впервые, знающих людей прошу подсказать как сотворить чудо..
попробуй udisks вместо mount, типа того
Системд, не системд?
И это, не монтировка, а фомка.
Сначала через udevadm monitor смотри какие свойства есть у флешки. Затем заверни монтирование в скрипт, а скрипту передавай параметры. В этом скрипте можно сделать создание точки монтирования, например, по метке файловой системы, или по UUID, или хотя бы по имени устройства — процесс творчества ограничен лишь твоей фантазией.
P.S. И да, размонтирование по событию ‘remove’ — плохая идея. Размонтируй вручную, а на событие повесь чистку следов, например удаление ненужных каталогов-точек монтирования.
У правильной OS Linux — есть фолдер/директория /run/media. Там и найдешь, свою флешку.
/mnt/usb — не обязательно вовсе в современных OS. Достаточно systemd.
Таких тем на лоре была целая куча. Воспользуйся поиском.
Сначала через udevadm monitorсмотри какие свойства есть у флешки. .
Подобное udevil умеет.
Radjah — спасибо за дельный совет!
Установил udevil и стало все монтировалься как мне и хотелось.
Правда обнаружилась проблема с монтировкой exfat, udevil ее видит но смонтировать не может, в чем может быть проблема?
Нашел решение, теперь всевозможные флешки монтируются как надо!
Нужно добавить пару строк в udevil.conf
Последняя проблема с монтировкой sata sdd диска.
Его devmon почему-то вообще не показывает, интересно почему.
Скорее всего, считает внутренним.
См. в udevil.conf allowed_devices и allowed_internal_devices.
Немного в замешательстве, т.к. внес необходимые изменения в devil.conf, демон естественно перезапустил:
allowed_devices = /dev/*
allowed_internal_devices_vfat = /dev/sda*
allowed_internal_devices_exfat = /dev/sda*
#forbidden_devices =
SSD диск sda при этом видит, но не монтирует, в чем еще может быть зацепка?
А что udevil говорит при ручном монтировании
‘udevil mount /dev/sda1’, например?
Тебе не нужно монтировать их. Просто создавай в fstab нужную запись + в /media нужную директорию:
Ручками Udevil успешно монтирует ssd
Правда в директорию для монтирования USB накопителей.
Но другого пути я ему и не определил.
И как на это реагирует devmon?
А как на клиентский запрос ‘devmon —mount /dev/sda2’?
Возможно, кроме конфигурации udevil, нужно ещё при запуске задавать
‘devmon —internal’
Источник
автоматическое монтирование подключаемых устройств через udev
Задача автоматического монтирования флешек решается довольно просто в KDE или GNOME — эти среды можно настроить так, что они сами всё смонтируют, откроют файловый менеджер и покажут значок в трее. Но что делать, если у вас только консоль или стоит, например, awesome? Или вы не хотите разбираться с конкретным DE, а ищите универсальное решение?
Независимое от DE решение есть — udev.
Создаём новый файл /etc/udev/rules.d/automount.rules со следующим содержанием:
Укажем udev-у, что появилось новое правило:
sudo udevadm control —reload-rules
Результат
Вставляю флешку и вижу каталог /mnt/KINGMAX_Flash_Disk_1, в котором содержимое флешки. Размонтирую и вынимаю — каталог пропал.
Замечания
1. KERNEL==«sd[c-z]3» — значит, что будет срабатывать на все устройства вида /dev/sdc1 /dev/sdc2, /dev/sdg7. У меня 2 жестких диска: sda и sdb, поэтому я начал regex с «с».
2. mount -o uid=1000 — зашит id пользователя, который будет owner-ом. Если у вас не стандартный, то подправьте (проверка id -u). Конечно, можно действовать через группы и маски, но я выбрал наиболее простое решение.
umount
Проблему размонтирования (нужны права суперпользователя) я решил так:
1. sudo visudo
2. добавить строчку %wheel ALL= NOPASSWD: /bin/umount
upd
Как заметил darkk, ID_VENDOR=»; /bin/rm -rf /;» — потенциальная дыра в безопасности, поэтому лучше перестраховаться в ущерб наглядности:
Источник
Не монтируются флешки в XFCE4
После краха Арча и Гнома в моих глазах, решил съехать на Gentoo, оболочка Xfce4. Автоматом не монтируются флешки. Список необходимых пакетов, на мое мнение и мнение гугла: — udev — udev-init-scripts — xfce4-gvfs-mount
udisks, gvfs
Автомонтирование в настройках xfce включено? Что сыпется в
А разве gvfs нужен для флешек? Он же вроде для remote fs.
Влючено, а в логах ничего не пишется
поставь sys-apps/uam и не парься
Да, и кстати в группах plugdev, usb и подобных твой пользователь?
я есть в этих группах. А что за программа?
udev-based авто-монтирование, работает сразу после емержа.
а должно. Причем сразу, при условии, что ты в группах и создана директория /media
Тогда нужно копать твой udev, смотреть нет ли мусора в /etc/fstab и прочее.
когда я первый раз ставил Генту, не монтировались флешки ли при отсутствии пакета udev-init-scripts. Поставил его, и тогда монтировалось. Но потом при перестановки (для опыта) уже не подключаются, даже с этим пакетом. Пример fstab’a:
А я состою в таких группах
uam точно и ЕМНИП udisks требует быть в группе plugdev
такой группы нет
Еще могут быть отключены некоторые опции ядра. Проверь:
Точно? Емерж uam на стадии pkg_postinst() создает группу если такой нет. Только что проверил ебилд — так и есть. Перепроверь.
rc-update и /etc/group на пасту бы, глянуть.
все сделал. все скомпилил, везде вступил, но не помогает
у меня с xfce4 такая же фигня, вчера поставил. пришлось руками монтировать, впринципе несложно)
логи компиляции uam в студию
Xfce4 4.8-4.10 заточена на GNU/Linux. И автомонтирование в Thunar там работает с Udev, как с родным механизмом — на автомате. Это на FreeBSD нужно извращаться, чтобы прикрутить автомонтирование, но на GNU/Linux в Xfce4 завести отсоединяемые носители сам Бох велел!
сабж работает из коробки
emerge —info в студию
//xfce-extra/xfce4-gvfs-mount не нужен для монтирования
ставить руками ничего не нужно, xfce4-meta вытягивает при наличии флагов должных флагов все необходимое
Источник
Монтирование флешек через GUI
Что можно использовать для монтирования флешек через GUI в i3? Есть какая-нибудь приблуда типа KDE-шного апплета монтирования подключаемых устройств?
А зачем тебе аплет? Настрой udev.
man pmount
Вот и не пользуйся. А так же снеси свой Openbox и пересаживайся на голую консоль.
udev + dbus + dialog
А как насчёт отмонтирования с такой схемой?
Интересно. Посмотрю, спасибо.
Клавосочетание → окошко → отмонтирование
Скажем, так: при возникновении события udev на подключение внешнего накопителя подается сигнал на dbus. Некий демон отлавливает этот сигнал, открывает [kx]dialog/zenity/etc вроде
Вот такой велосипед для тех, кто не в состоянии просто руками написать mount/umount в файломенеджере.
Вот такой велосипед для тех, кто не в состоянии просто руками написать
mount/umount в файломенеджере.
Зачем лишний раз запускать команды через sudo?
Есть, конечно, pmount, но и у того стоит suid-ный бит вроде.
Зачем лишний раз запускать команды через sudo?
sudo потребуется лишь для кривого ntfs-3g. и то, если его пересобрать, sudo вообще не нужен будет!
У меня всё монтируется через Thunar — один хрен в файлменеджер лезть.
А зачем такое? Просто действительно не могу придумать причину не автоматизировать это действие, зачем GUI?
Вот такой велосипед для тех, кто не в состоянии просто руками написать
mount/umount в файломенеджере.
Зачем лишний раз запускать команды через sudo?
действительно — зачем? У меня mount/umount работают без всякого sudo (для флешек). У тебя не работают? Ты — неосилятор.
Как в гноме? Да, неплохо.
Ещё я буду в fstab их прописывать.
Отмонтирование тоже автоматизировать предлагаешь? :3
А что, сложно после окончания работы с флешкой написать umount /media/что-то-там?
вызываешь в графике xterm, а там mount /dev/sdb1
открой для себя udev.
Я знаю про udev всё.
Ну и зачем тогда геморрой с мордами?
Что можно использовать для монтирования флешек через GUI в i3?
А потом оказывается отмонтировать нужно.
А ты в чем с файлами работаешь? Просто в шелле — сделай алиас на отмонтирование если лень руками вбивать. ФМ — так все, мне кажется, умеют отмонтировать сами по себе. MC — можно даже менюшку сделать. Скрипты на флэшку пишут — довать туда umount. А если ты файлы не трогал можно и не отмонтировать в принципе.
молодец. Беги настраивать, чтоб как у людей работало mount, причём без sudo.
Я не хочу, чтобы какой-то сраный скрипт пихал записи в fstab.
/ у меня ro, вообще-то.
И что в этом плохого по-твоему?
Кстати, можно fstab и не трогать (правда, это уж совсем черезжопное решение): монтировать автоматом носители.
Источник
Монтирование флешек в Ubuntu 18.04
Стоит Ubuntu 18.04, Openbox.
Nautilus не монтирует флешки автоматически, пишет «Not authorized to perform operation». Создал правило /etc/polkit-1/rules.d/00-mount.rules
Решил пойти другим путём, создал правило для udev /etc/udev/rules.d/80-test.rules
Если же вручную запустить mount.sh sdc1, то всё нормально, файлы внутри видны: drwxrwxrwx 2 user user 8192 Jan 1 1970 sdc1/
Что не так? Буду рад всем советам, как сделать автомонтирование флешек.
Наличие gvfs? fuse?
gvfs is already the newest version (1.36.1-0ubuntu1.3.3) fuse is already the newest version (2.9.7-1ubuntu1).
chmod +rw /media попробуй.
Еще (бред, конечно): попробуй примонтировать в другом файловом менеджере.
polkit стоить какой-нибудь?
(бред, конечно): попробуй примонтировать в другом файловом менеджере.
Конечно бред. Монтирование происходит без какого-либо фм. Это знает каждый, кто работает через консоль.
Попробовал, ничего не изменилось
Тем не менее попробовал, результат тот же: pcmanfm пишет «Not authorized to perform operation»
[Здесь]https://wiki.archlinux.org/index.php/USB_storage_devices_(Русский) можешь почитать. Я думаю, что нужно, как в статье и говорится, добавить опцию в /etc/sudoers . Учитывая Not authorized to perform operation , вполне логично.
в каких группах состоит юзер? и обрати внимание: через udev у тебя root владелец, через «ручное монтирование» user
и обрати внимание: через udev у тебя root владелец, через «ручное монтирование» user
добавил в скрипт строку sudo chown user:user /mnt/$device, но лучше не стало, папке даются права user, но файлы по прежнему не видны внутри, то есть флешка просто не монтируется
В sudoers уже прописано
Интересно, а если подключить репозитории более старой (или более новой) убунты и достать оттуда gvfs и fuse? Как ваше мнение, уважаемая публика?
Мнение такое, что ты несешь рандомную ерунду без понимания. Если ты вчера поставил линукс, не стоит давать советы направо и налево.
Ладно, твои варианты?
Могу ошибаться, но у тебя скрипт при вызове его udev выполняется от root (но, в ubuntu же пользователь root по умолчанию отсутствует?). При «ручном» монтировании от user всё как надо…
Ты правильно пишешь
файлы по прежнему не видны внутри
простому смертному пользователю файлы root-а не показывают. В GUI-файломенеджерах такие каталоги могут помечаться «замочком» и туда просто войти нельзя… После подключения флешки и автомонтирования (а я уверен, что флешка всё же монтируется) выполни в терминале команду mount без параметров или sudo ls /путь к точке монтирования флешке/ – думаю ты убедишься, что носитель смонтировался, но доступен только root-у…
Вот насколько твой скрипт подходит для выполнения udev? Я прошелся по цепочке статей ArchWiki и там не рекомендуют использовать mount для udev – Udisks. Или через юниты systemd…
Источник