abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
AbcLinuxu hledá autory!
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
    dnes 15:11 | Bezpečnostní upozornění

    V Redisu byla nalezena a v upstreamu již opravena kritická zranitelnost CVE-2025-49844 s CVSS 10.0 (RCE, vzdálené spouštění kódu).

    Ladislav Hagara | Komentářů: 1
    dnes 14:00 | IT novinky

    Ministr a vicepremiér pro digitalizaci Marian Jurečka dnes oznámil, že přijme rezignaci ředitele Digitální a informační agentury Martina Mesršmída, a to k 23. říjnu 2025. Mesršmíd nabídl svou funkci během minulého víkendu, kdy se DIA potýkala s problémy eDokladů, které některým občanům znepříjemnily využití možnosti prokázat se digitální občankou u volebních komisí při volbách do Poslanecké sněmovny.

    Ladislav Hagara | Komentářů: 6
    dnes 12:33 | Zajímavý software

    Společnost Meta představila OpenZL. Jedná se o open source framework pro kompresi dat s ohledem na jejich formát. Zdrojové kódy jsou k dispozici na GitHubu.

    Ladislav Hagara | Komentářů: 0
    dnes 03:33 | IT novinky

    Google postupně zpřístupňuje českým uživatelům Režim AI (AI Mode), tj. nový režim vyhledávání založený na umělé inteligenci. Režim AI nabízí pokročilé uvažování, multimodalitu a možnost prozkoumat jakékoliv téma do hloubky pomocí dodatečných dotazů a užitečných odkazů na weby.

    Ladislav Hagara | Komentářů: 0
    včera 18:11 | Nová verze

    Programovací jazyk Python byl vydán v nové major verzi 3.14.0. Podrobný přehled novinek v aktualizované dokumentaci.

    Ladislav Hagara | Komentářů: 2
    včera 16:33 | IT novinky

    Bylo oznámeno, že Qualcomm kupuje Arduino. Současně byla představena nová deska Arduino UNO Q se dvěma čipy: MPU Qualcomm Dragonwing QRB2210, na kterém může běžet Linux, a MCU STM32U585 a vývojové prostředí Arduino App Lab.

    Ladislav Hagara | Komentářů: 2
    včera 15:55 | Nová verze

    Multiplatformní open source voxelový herní engine Luanti byl vydán ve verzi 5.14.0. Podrobný přehled novinek v changelogu. Původně se jedná o Minecraftem inspirovaný Minetest v říjnu loňského roku přejmenovaný na Luanti.

    Ladislav Hagara | Komentářů: 0
    včera 13:22 | Nová verze

    Byla vydána nová stabilní verze 6.10 (YouTube) multiplatformního frameworku a GUI toolkitu Qt. Podrobný přehled novinek v poznámkách k vydání.

    Ladislav Hagara | Komentářů: 0
    6.10. 23:55 | Komunita

    Ubuntu 26.04 LTS bude (𝕏) Resolute Raccoon (rezolutní mýval).

    Ladislav Hagara | Komentářů: 5
    6.10. 21:00 | Nová verze

    Netwide Assembler (NASM) byl vydán v nové major verzi 3.00. Přehled novinek v poznámkách k vydání v aktualizované dokumentaci.

    Ladislav Hagara | Komentářů: 0
    Jaké řešení používáte k vývoji / práci?
     (39%)
     (46%)
     (15%)
     (17%)
     (21%)
     (15%)
     (17%)
     (15%)
     (15%)
    Celkem 197 hlasů
     Komentářů: 13, poslední dnes 07:41
    Rozcestník

    Mini-HOWTO: psaní UDEV pravidel.

    4.1.2008 16:28 | Přečteno: 3630× | Linux | Výběrový blog | poslední úprava: 4.1.2008 19:00

    Jak jsem se mohl v poslední době párkrát přesvědčit, spousta linuxových uživatelů sice ví, co to je UDEV; ten však na první pohled zřejmě působí příliš krypticky (třeba narozdíl od jiných „konfiguráků“), takže je pro mnohé těžké do něj proniknout. Přiznám se, že jsem byl donedávna ve stejné situaci. Pak jsem ale byl donucen pár pravidel napsat a zjistil, jak je to vše vlastně poměrně jednoduché. Takže přináším malý „manuálník“ - ovšem bez zbytečného vysvětlování a bez jakéhokoliv nároku na úplnost. Kdo chce podrobnější návod, či dokumentaci, ten jistě něco najde.


    (UPDATE: upraveno podle připomínek z diskuze a mírně rozšířeno...)

    co je UDEV

    Stručně: systém (v uživatelském prostoru), umožňující nastavit, jak se která systémová zařízení budou v /dev (či jinde) jmenovat, jaká budou mít přístupová práva, případně, jaké akce se mají při jejich přidání do systému provést.

    obecně

    Pravidla UDEV zpravidla nalezneme v /etc/udev/rules.d/. Syntaxe: co řádek, to pravidlo; pravidlo: několik výrazů oddělených čárkou. Výraz může buď a) rozhodovat o tom, k jakému jadernému objektu se pravidlo bude vztahovat, nebo b) říkat, co má být s objektem provedeno.

    a) výběr

    Základní syntaxe: PARAMETR=="hodnota", případně PARAMETR!="hodnota" (jako v c-čku). Parametry:

    b) „akce“

    Syntaxe, buď: AKCE="hodnota", AKCE+="hodnota", nebo AKCE:="hodnota". Jejich význam: Jednotlivé akce:

    syntax "hodnot"


    příklady

    (Doporučuji též projít /dev/udev/rules.d/.)
    # nebude se jmenovat "ttyS4", ale "ttyModem2"
    KERNEL=="ttyS4", NAME="ttyModem2"
    
    # na sériový port přes USB, který odpovídá VID/PID 0x1234/0x5678 bude vytvořen symlink "/dev/modem"
    KERNEL=="ttyUSB*", SYSFS{idVendor}=="0x1234", SYSFS{idProduct}=="0x5678", SYMLINK+="/dev/modem"
    
    # po připojení usb hodin nastavíme přístup skupině "io" a spustíme program, který hodiny sesynchronizuje (reálný příklad ;)
    SYSFS{idVendor}=="16c0",SYSFS{idProduct}=="05dc",SYSFS{manufacturer}=="butrus@evangnet.cz",SYSFS{product}=="UsbClock", MODE="0660",GROUP="io",RUN+="/usr/bin/led-usb-clock synchro"
    
    # pokud vložíme 1G flash "Kingston" / "DataTraveler xyz", spustit na ni automaticky zalohu
    ACTION=="add", SYSFS{vendor}=="Kingston", SYSFS{model}=="DataTraveler xyz", SYSFS{size}=="1001472", SYMLINK+="/dev/kingston_zaloha", RUN+="/local/bin/kingston_zaloha.sh"
    
    
           

    Hodnocení: 94 %

            špatnédobré        

    Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

    Komentáře

    Vložit další komentář

    Ondřej Kuda avatar 4.1.2008 16:32 Ondřej Kuda | skóre: 27 | blog: obcasny_blog
    Rozbalit Rozbalit vše Re: Mini-HOWTO: psaní UDEV pravidel.
    Vyborny zapis, moc diky. Uz delsi dobu se odhodlavam k pravidlu pro fotak. Btw je tu uz clanek o pravidlech udevu? Jinak toto by byl vhodny kandidat.
    6.1.2008 12:45 Murry | skóre: 16 | Brno
    Rozbalit Rozbalit vše Re: Mini-HOWTO: psaní UDEV pravidel.
    Toto by mě také zajímalo...
    PS: Neexistuje nějaký démon, který by automaticky připojil nakýkovil foťák?
    Některé distra to dělají automaticky, některé ne-e....
    6.1.2008 12:51 Michal Kubeček | skóre: 71 | Luštěnice
    Rozbalit Rozbalit vše Re: Mini-HOWTO: psaní UDEV pravidel.
    Zkuste se podívat na ivman.
    6.1.2008 17:47 Murry | skóre: 16 | Brno
    Rozbalit Rozbalit vše Re: Mini-HOWTO: psaní UDEV pravidel.
    Díky moc. Já používám dbus, hal, ..... ale o tomto jsem ani nevěděl.
    Už se kompiluje........:)
    4.1.2008 16:54 Michal Kubeček | skóre: 71 | Luštěnice
    Rozbalit Rozbalit vše Re: Mini-HOWTO: psaní UDEV pravidel.

    Jen bych doplnil pár věcí, které je dobré vědět, než člověk začne:

    Co s čím porovnávat, se nejlépe zjistí pomocí udevinfo, např.

      udevinfo -a -n /dev/sdb
      udevinfo -a -p /class/net/eth0
    

    Ve druhém případě se zadává tzv. devpath, tj. vlastně cesta v sysfs filesystému (bez počátečního /sys). Je ale nutné kombinovat hodnoty "ze stejné sekce".

    Stejnému klíči může být přiřazeno postupně několik hodnot, platí poslední (pravidla se zpracovávají postupně, jednotlivé soubory podle abecedy). Výjimkou je NAME, přiřazení jména je vždy finální, tj. jakmile ho jednou nastavíme, další pravidla už ho nezmění. Stejného chování lze u ostatních klíčů docílit použitím operátoru ':=' místo normálního '='.

    PROGRAM nelze přímo použít jako akci, místo toho lze použít např. NAME="%c" (substituuje se výstup příkazu volaného pomocí PROGRAM).

    Pozor na akci RUN, zpracování probíhá sériově, takže dokud příkaz neskončí, nezpracovávají se další pravidla ani události.

    Z dokumentace bych doporučil zejména udev(7) a Writing udev Rules. Ten článek je sice lépe srozumitelný, ale v mnoha bodech zastaralý, doporučuji proto konzultovat detaily s tou manuálovou stránkou.

    4.1.2008 16:55 filo | skóre: 22 | blog: FiloBlog | Ostrava
    Rozbalit Rozbalit vše Re: Mini-HOWTO: psaní UDEV pravidel.
    Děkuju za článek, měl bych jeden začátečnický dotaz: nepravidelně se mi v distru po vložení nepřimountují různá USB zařízení (čtečky, klíčenky), dalo by se toto vyřešit právě přes UDEV ?
    4.1.2008 17:00 Michal Kubeček | skóre: 71 | Luštěnice
    Rozbalit Rozbalit vše Re: Mini-HOWTO: psaní UDEV pravidel.
    Automatické mountování se sice dá řešit přes udev, ale není to příliš vhodné. Většinou se o to starají vyšší vrstvy, např. nějaký démon, který je součástí desktopového prostředí. Ale podle toho, zda udev vytvořil příslušná bloková zařízení, můžete poznat, jestli je problém v nich nebo někde hlouběji (např. v jádře).
    4.1.2008 17:05 filo | skóre: 22 | blog: FiloBlog | Ostrava
    Rozbalit Rozbalit vše Re: Mini-HOWTO: psaní UDEV pravidel.
    Díky za info, mrknu na to. Znát příčinu taky není k zahození.
    David Watzke avatar 5.1.2008 01:01 David Watzke | skóre: 74 | blog: Blog... | Praha
    Rozbalit Rozbalit vše Re: Mini-HOWTO: psaní UDEV pravidel.
    Automatické mountování se sice dá řešit přes udev, ale není to příliš vhodné.
    Proč? Jednou jsem to zkoušel a nešlo to. Resp. připojilo to mechaniku jen jednou, pokud vevnitř bylo při spuštění udevstart nějaký médium.
    “Being honest may not get you a lot of friends but it’ll always get you the right ones” ―John Lennon
    5.1.2008 01:10 Michal Kubeček | skóre: 71 | Luštěnice
    Rozbalit Rozbalit vše Re: Mini-HOWTO: psaní UDEV pravidel.
    Hlavně kvůli té serializaci při zpracování událostí a jednotlivých pravidel.
    4.1.2008 17:03 filo | skóre: 22 | blog: FiloBlog | Ostrava
    Rozbalit Rozbalit vše Re: Mini-HOWTO: psaní UDEV pravidel.
    Joj, stačilo by přijít o 5 minut později a nemusel jsem se ptát ;)
    To Michal Kubeček: díky za odkaz v příspěvku výše, to by mohlo být pro mě to pravé ořechové.
    4.1.2008 17:11 Michal Kubeček | skóre: 71 | Luštěnice
    Rozbalit Rozbalit vše Re: Mini-HOWTO: psaní UDEV pravidel.
    Na ten článek pozor, je trochu staršího data, takže některé věci lze dnes řešit jednodušeji a syntaxe se v některých bodech trochu změnila. Ale pro pochopení principů je pořád výborný.
    4.1.2008 17:15 Michal Kubeček | skóre: 71 | Luštěnice
    Rozbalit Rozbalit vše Re: Mini-HOWTO: psaní UDEV pravidel.
    Ještě jedna praktická poznámka. udev používá inotify, takže se o změnách v souborech s pravidly dozví okamžitě a vezme je ihned na vědomí, není potřeba ho restartovat nebo mu posílat nějaký signál. Změna pravidel se ale dotkne pouze po ní následujících událostí (přidání/odebrání zařízení), ne těch, která už v systému jsou. Aplikaci nových pravidel na ně je možné vynutit příkazem udevtrigger.
    4.1.2008 20:44 miso | skóre: 36 | blog: iSCSI_initiator_howto | Praha
    Rozbalit Rozbalit vše Re: Mini-HOWTO: psaní UDEV pravidel.
    Sorry, ze len strucne a bez prikladov, ale na sledovanie udalosti udevu sa pouziva udevmonitor a pri vytvoreni/zeditovani nejakeho pravidla mozme otestovat akciu pomocou udevtest
    Project Satan infects Calculon with Werecar virus
    pools avatar 8.1.2008 21:43 pools | skóre: 19 | blog: Svědek Damdogův | Opava/Praha
    Rozbalit Rozbalit vše Re: Mini-HOWTO: psaní UDEV pravidel.
    Díky za článeček. Moc mi pomohl, ale měl bych jeden dotaz - proč v tomhle:

    ATTRS{idVendor}=="03f0", ATTRS{idProduct}=="8704", GROUP="lp", MODE="0777"

    ignoruje to Group? Připojí to takhle:
    crwxrwxrwx 1 root plugdev 189, 258 2008-01-08 21:35 /dev/bus/usb/003/003

    Když měním MODE tak se to opravdu změní, takže tuhle část neignoruje...
    Vivre libre ou mourir!
    Petr Tomášek avatar 13.1.2008 22:50 Petr Tomášek | skóre: 39 | blog: Vejšplechty
    Rozbalit Rozbalit vše Re: Mini-HOWTO: psaní UDEV pravidel.
    Nevím, jediné, co mě napadá, že to změní jiné pravidlo...
    multicult.fm | monokultura je zlo | welcome refugees!
    13.1.2008 23:07 m_ax
    Rozbalit Rozbalit vše Re: Mini-HOWTO: psaní UDEV pravidel.
    Skus tam pridat OPTIONS="last_rule" a uvidis... m_ax

    Založit nové vláknoNahoru

    ISSN 1214-1267   www.czech-server.cz
    © 1999-2015 Nitemedia s. r. o. Všechna práva vyhrazena.