Удев (руски)
Тази страница се нуждае от придружител
По функционалност udev замества горещ щепсел и hwdetect.
"udev е диспечер на устройства за по-нови ядра на Linux и е наследник на devfs, hotplug и HAL. Основната му задача е да поддържа файлове на устройства в директорията/dev и да обработва всички действия на потребителското пространство при добавяне/премахване на външни устройства, включително изтегляне на фърмуер. "
За най-добро представяне udev зарежда модулите на ядрото асинхронно, тоест паралелно, а не последователно. Това има своя недостатък: udev не запазва реда на зареждане на модулите, той може да се различава от товара до товара. Ако компютърът ви има множество блокови устройства, това може да доведе до присвояване на произволни имена за зареждане по време на произволен ред на зареждане. Например, ако към компютъра са свързани два твърди диска,/dev/sda може случайно да стане/dev/sdb. Вижте по-долу за повече информация относно това.
В момента udev е включен в пакета systemd и е инсталиран по подразбиране в системите Arch Linux. Вижте също systemd-udevd.service (8) за повече информация.
Относно правилата udev
Файлове с правила udev се съхраняват в директорията /etc/udev/rules.d/, имената им трябва да завършват с .правила. Правилата, предоставени от други пакети, се поставят в директорията /usr/lib/udev/rules.d/. Освен това, ако правилата в тези директории имат еднакви имена, приоритет се дава на файлове от /etc/udev/rules.d/ .
Писане на собствени правила
- За да научите как да създавате свои собствени правила, вижте уеб страницата Писане на udev правила.
- Примерно правило udev можете да намерите в раздела Примери на същата страница.
По-долу е даден пример за правило, което създава символична връзка/dev/video-cam1, когато уеб камера е свързана към компютър. Например разбрахме, че за свързаната камера е създаден файл на устройство/dev/video2. Причината да създаваме това правило е, че следващия път, когато се стартира, уеб камерата може да получи друго име, например/dev/video0 .
Използваме параметрите на уеб камерата KERNEL == "video2" и SUBSYSTEM == "video4linux", след което ще вземем идентификаторите на производителя и продукта на родителското USB устройство SUBSYSTEMS == "usb", ATTRS == "05a9" и ATTRS == "4519" за сравнение:
В примера създадохме символична връзка, използвайки параметъра SYMLINK + = "video-cam1". Също така можем лесно да зададем собственика (OWNER = "john"), групата (GROUP = "video") или да зададем разрешенията за връзката (MODE = "0660"). Ако обаче възнамерявате да създадете правило, което прави нещо, когато дадено устройство бъде премахнато, имайте предвид, че атрибутите на устройството могат да станат недостъпни. В този случай трябва да използвате специален набор от променливи на околната среда. За да покажете тези променливи, изпълнете следната команда, докато изключвате устройството:
В изхода на командата ще видите стойностите на параметрите на устройството, например ID_VENDOR_ID и ID_MODEL_ID, които съответстват на използваните преди това идентификатори на производителя и продукта. Правило, което използва променливи на средата на устройството, може да изглежда така:
Списък на атрибутите на устройството
За показване на всички атрибути на устройството, които можете да използвате при писане на правила udev, тичам:
Сменете име на устройството текущото име на файла на устройството, например/dev/sda или/dev/ttyUSB0 .
Ако не знаете името на файла на устройството, можете също да отпечатате всички атрибути за определен системен път:
Проверка на правилата преди качване
Можете също така да посочите директен път до устройството:
Зареждане на нови правила
udev може автоматично да открива промени във файловете с правила, така че промените влизат в сила незабавно, без да е необходимо рестартиране udev. Новите правила обаче няма да бъдат приложени веднага към вече свързани устройства. Устройствата с възможност за бърза смяна, като например USB устройства, могат просто да се свържат отново, за да се приложат новите правила. Също така можете да презаредите модулите на ядрото ohci-hcd и ehci-hcd, които автоматично ще презаредят всички драйвери за всяко USB устройство.
Ако правилата не се презареждат автоматично, изпълнете:
За ръчно принуждаване udev прилагайте вашите правила, изпълнете:
Съвети и трикове
Достъп до програмисти и виртуални COM портове
Следващият набор от правила ще позволи на обикновените потребители (членове на групата потребители) да получат достъп до USB програмисти за микроконтролери AVR USBtinyISP, виртуални COM портове (преобразуватели на интерфейси USB UART), базирани на популярната микросхема CP2102 (английски), програмисти Atmel AVR Dragon (На английски) и Atmel AVR ISP mkII (на английски).
Изпълнение на команди при свързване на USB устройства
Изпълнение на команди, когато е свързан VGA монитор
Създайте правило /etc/udev/rules.d/95-monitor-hotplug.rules със следното съдържание, за да стартирате arandr, когато е свързан VGA монитор:
Идентифициране на нови eSATA устройства
Ако вашето eSATA устройство не е открито от системата, когато е свързано, можете да рестартирате системата, без да изключвате кабела на устройството, или, ако не е необходимо рестартиране, направете: