Udev

Aktuální verze stránky ještě nebyla zkontrolována zkušenými přispěvateli a může se výrazně lišit od verze recenzované 1. února 2019; kontroly vyžadují 7 úprav .
udev
Typ uzel zařízení
Vývojář Greg Kroah-Hartman a Kay Sievers
Zapsáno v Z
Operační systém Linux (kernel)
První vydání listopadu 2003
Nejnovější verze 251 ( 21. května 2022 ) [1]
Licence GPL v2
webová stránka git.kernel.org/?p=linux/…

udev  - Správa zařízení pro nové verze linuxového jádra , nástupce devfs , hotplug a HAL . Jeho hlavním úkolem je obsluhovat uzly zařízení v adresáři / dev  a obsluhovat všechny akce prováděné v uživatelském prostoru při přidávání/odebírání externích zařízení, včetně načítání firmwaru .

Historie

udev byl přidán do Linuxu 2.5.

V jádře Linuxu 2.6.13 bylo představeno a aktualizováno nové rozhraní uevent . Nový udev nebude fungovat na jádrech starších než 2.6.13.

V dubnu 2012 byl zdrojový kód udev sloučen do zdrojového kódu systemd [2] .

Projekt eudev (fork udev od Gentoo ) oficiálně začal jako náhrada za Systemd-udevd. Na poslední konferenci FOSDEM 2013 vývojáři eudev jasně řekli, že eudev „je pro ně čistě vzdělávací projekt“ a „jejich kód v současném stavu by v žádném případě neměl být považován za připravený k produkci“ [1] .

Popis

Díky udev obsahuje adresář /dev pouze soubory pro zařízení, která jsou aktuálně připojena k systému. Každé zařízení má svůj vlastní odpovídající soubor. Pokud je zařízení odpojeno od systému, bude tento soubor odstraněn. Obsah adresáře /dev je uložen ve virtuálním systému souborů a všechny soubory v něm jsou vytvořeny při každém spuštění systému. Upravené nebo ručně vytvořené soubory se po restartu neuloží. Soubory a adresáře, které je třeba zachovat nebo které by měly být vždy přítomny v adresáři /dev, bez ohledu na stav příslušného zařízení, by měly být umístěny v adresáři /lib/udev/devices. Při spuštění systému se obsah tohoto adresáře zkopíruje do /dev tak, jak je (se stejnými oprávněními).

Na rozdíl od tradičního schématu správy adresářů Unix /dev , kde jeho obsahem byla neměnná sada souborů, poskytuje udev dynamickou správu zařízení, která jsou skutečně v systému. Ačkoli tuto funkci poskytovalo devfs , zastánci udev zdůrazňují následující výhody jejich řešení [3] :

Jak to funguje

udev běží jako démon a přijímá události uevents z jádra přes netlink socket , které se generují při inicializaci zařízení nebo jeho odstranění ze systému. Uživatelem definovaná (systémová) pravidla se kontrolují podle vlastností události a odpovídajícího zařízení a odpovídající pravidlo (kterých může být více než jedno) může pojmenovat a vytvořit soubor odpovídajícího zařízení a také spouštět další programy inicializovat a nakonfigurovat zařízení. Můžete tak například implementovat automatické připojování externích disků při jejich připojení.

Pravidla lze kontrolovat podle vlastností, jako je konkrétní subsystém jádra, název zařízení v jádře, fyzické umístění zařízení nebo sériové číslo zařízení. Pravidla mohou také vyhledávat informace pomocí jiných programů nebo určit, že název zařízení bude vždy stejný, bez ohledu na pořadí, ve kterém systém zařízení zjišťuje.

Typickým způsobem použití udev v systému Linux je povolit odesílání událostí HAL nebo DeviceKit , aby prováděly následné akce specifické pro zařízení. Například HAL/DeviceKit může upozorňovat jiné programy na nové zařízení pomocí zprávy vysílání D-Bus . Desktopová prostředí jako GNOME nebo KDE tedy mohou automaticky připojit jednotku USB a otevřít správce souborů, aby si mohli prohlédnout její obsah.

Architektura

udev je rozdělen do tří částí:

udev přijímá události z jádra přes netlink socket. Dřívější verze používaly hotplug přidáním do /etc/hotplug.d/default .

Poznámky

  1. systemd v251 .
  2. Sievers, Kay, Commit importing udev do systemd , < http://cgit.freedesktop.org/systemd/systemd/commit/?id=19c5f19d69bb5f520fa7213239490c55de06d99d > . Získáno 25. května 2012. Archivováno z originálu 8. července 2012. 
  3. アーカイブされたコピー. Získáno 10. 5. 2014. Archivováno z originálu 11. 4. 2011.

Odkazy