udev создает файл устройства для USB-ключа, но не для разделов

попробуйте сыграть в linux. link -> http://www.playonlinux.com/en

Это приложение использует воспроизведение на linux для создания платформы для приложений Windows, но специальность в этом приложении - это устанавливает другие необходимые дополнения для самостоятельного запуска конкретного приложения (например, c ++ pack, direct x, .net frame work и т. д.). Поэтому вам не нужно будет найти ответы на такие вопросы, как

Нужно ли мне устанавливать любой другой пакет с вином или что-то еще?
2
задан 17 April 2012 в 15:47

1 ответ

Как раз из структуры именования /dev/uba, похоже, что вы создали свое собственное правило UDEV, и теперь это не работает для вас. Нам нужно увидеть этот код, чтобы помочь вам.

Я уверен, что вы уже проконсультировались с этим, но на всякий случай проконсультируйтесь с этой ссылкой для создания правил UDEV. http://wiki.debian.org/udev

Обратная связь, основанная на обновлении

ACTION=="add", KERNEL=="ub[a-z]*[1-9]*", PROGRAM="/sbin/blkid -o values -s TYPE %N", RESULT=="vfat", RUN+="/home/ubuntu/.mount_usb %k %n" ACTION=="remove", KERNEL=="ub[a-z]*", RUN+="/home/ubuntu/.unmount_usb"

Похоже, что ваш предшественник не знал о usbmount. Это правило будет работать только на форматированных дисках vfat, теперь вы можете расширить этот список или ... вы можете установить usbmount и настроить его, чтобы создать нужные имена устройств. После этого у вас есть что-то, что поддерживается для вас только с незначительными изменениями конфигурации и полным решением для домашнего приготовления.

Кстати, там есть синтаксическая ошибка, это value не values, запуск этого из CLI

sudo blkid -o value -s TYPE /dev/sdb1 vfat

Таким образом, %N - это вход, например блочное устройство и RESULT являются стандартными. Это подробно описано на странице пользователя udev. Возможно, вы сможете сделать что-то вроде этого RESULT=="[vfat|fat16]", или вы можете перенаправить вывод на скрипт и провести там более богатое сравнение. Быстрый просмотр пакета usbmount показывает, что в сценарии callout выполняются богатые сравнения для добавления и удаления. Я настоятельно рекомендую вам перейти на usbmount.

2
ответ дан 25 May 2018 в 12:38
  • 1
    Я унаследовал эту проблему, и это первый раз, когда я упал и загрязнился с Ubuntu, поэтому, пожалуйста, предположите, что я не знаю ничего за пределами исследования, показанного выше! Тем не менее, я действительно думал, что странно, что мои устройства называются ub *, а не sb *. У меня есть четыре набора правил в /etc/udev/rules.d: 60-automount-usb, 70-persistent-cd, 70-persistent-net, 80-usb-permissions. Все кажется нерелевантным, за исключением набора automount (который я добавил выше), но даже это похоже на ответ на добавленный файл раздела, а не на спецификацию того, как создать файл. – sjwarner 17 April 2012 в 12:33
  • 2
    Хорошо, если бы это был я, я бы искал и уничтожал все это правило, поскольку оно не приносит никакой пользы. Просто grep, пока не найдете его и не удалите набор правил. Правильный путь для этого - это поиск чего-то уникального, например make, model и serial #, а затем создание символа symlink для обычных устройств sdx. Таким образом, вы держите все оригинальные устройства на месте, включая зондирование разделов, и вы просто смешиваете свою дополнительную метку. Причина, по которой вы не видите раздел, - это тот, кто сделал это правило ubX неудачным для запуска partprobe или эквивалента на необработанном устройстве. Надеюсь это поможет. – ppetraki 17 April 2012 в 18:01
  • 3
    Приветствия за продолжение помощи! Однако я не понимаю, мне нужно правило выше для моего автозапуска, поэтому я не могу просто избавиться от него. Мне не нужно найти правило, которое на самом деле создает устройство ubX в первую очередь? И везде, где это правило определено, если отсутствует partprobe, почему некоторые клавиши работают, а некоторые нет? Неужели это либо сработает, либо нет? Извините, если я умышленно плотный: P – sjwarner 17 April 2012 в 18:40
  • 4
    Здесь все усложняется, мне нужно увидеть фактический скрипт. Мое нынешнее предположение - это правило создания нового блочного устройства ubX вместо создания блочного устройства sdx. Я хотел бы оставить создание блочного устройства самостоятельно, а вместо этого символической ссылки на проверенные блок-устройства sdx . Это также будет легче поддерживать, так как вы просто хотите узнать, что это за устройство. Что касается несогласованности, udev основывается на сопоставлении шаблонов и правил, не видя исходного правила, я могу только предположить, почему он не работает последовательно. Вы не плотный, UDEV неловко. – ppetraki 17 April 2012 в 19:11

Другие вопросы по тегам:

Похожие вопросы: