Наши партнеры








Книги по Linux (с отзывами читателей)

Библиотека сайта rus-linux.net

На главную -> MyLDP -> Электронные книги по ОС Linux
Цилюрик О.И. Linux-инструменты для Windows-программистов
Назад Консольные команды Вперед

Подсистема udev

udev - подсистема, которая заменяет devfs без потерь для функциональности системы. Более того, udev создаёт в /dev файлы только для тех устройств, которые присутствуют на данный момент в системе. Подсистема udev является надстройкой пространства пользователя над /sys. Задача ядра определять изменения в аппаратной конфигурации системы, регистрировать эти изменения, и вносить изменения в каталог /sys. Задача подсистемы udev выполнить дальнейшую интеграцию и настройку такого устройства в системе (отобразить его в каталоге /dev), и предоставить пользователю уже готовое к работе устройство.

Подсистема udev настраивает устройства в соответствии с заданными правилами. Правила содержатся в файлах каталога /etc/udev/rules.d/ (также файлы с правилами могут содержаться и в каталоге /etc/udev/). Все файлы правил просматриваются в алфавитном порядке.

$ ls /etc/udev/rules.d/
05-udev-early.rules  51-hotplug.rules  60-pcmcia.rules  61-uinput-stddev.rules  90-dm.rules           bluetooth.rules
40-multipath.rules   60-libsane.rules  60-raw.rules     61-uinput-wacom.rules   90-hal.rules
50-udev.rules        60-net.rules      60-wacom.rules   90-alsa.rules           95-pam-console.rules

$ cat 60-raw.rules
...
# An example would be:
# ACTION=="add", KERNEL=="sda", RUN+="/bin/raw /dev/raw/raw1 %N"
...

Информация по udev:

$ man udev
UDEV(7)                             udev                              UDEV(7)
NAME
       udev - dynamic device management
...

Основной объём потребностей по работе с udev покрывает не очень широко известная команда udevadm с огромным множеством параметров и опций:

$ udevadm info -q path -n sda
/devices/pci0000:00/0000:00:1f.2/host0/target0:0:0/0:0:0:0/block/sda

$ udevadm info -a -p $(udevadm info -q path -n sda)
...
looking at device '/devices/pci0000:00/0000:00:1f.2/host0/target0:0:0/0:0:0:0/block/sda':
    KERNEL=="sda"
    SUBSYSTEM=="block"
...

$ udevadm info -h
Usage: udevadm info OPTIONS
  --query=<type>             query device information:
      name                     name of device node
      symlink                 pointing to node
      path                    sys device path
      property                the device properties
      all                     all values
  --path=<syspath>          sys device path used for query or attribute walk
  --name=<name>             node or symlink name used for query or attribute walk
...

Разработчики прикладных систем часто сталкиваются с udev в разработке конфигурационных правил для своих систем (пример: системы VoIP PBX и их интерфейс zaptel/DAHDI).


Предыдущий раздел: Оглавление Следующий раздел:
Устройства   Команды диагностики оборудования