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í
×
    včera 16:00 | Komunita

    Společnost Oracle vlastní ochrannou známku JAVASCRIPT. Komunita kolem programovacího jazyka JavaScript zastoupena společností Deno Land vede právní bitvu za její osvobození, viz petice a otevřený dopis na javascript.tm. Do 7. srpna se k nim má vyjádřit Oracle (USPTO TTAB).

    Ladislav Hagara | Komentářů: 2
    včera 13:11 | IT novinky

    Byl představen samostatný rádiový modul Raspberry Pi Radio Module 2 s Wi-Fi a Bluetooth.

    Ladislav Hagara | Komentářů: 6
    včera 12:44 | Upozornění

    Certifikační autorita Let’s Encrypt ukončila k 4. červnu zasílání e-mailových oznámení o vypršení platnosti certifikátů. Pokud e-maily potřebujete, Let’s Encrypt doporučuje některou z monitorovacích služeb.

    Ladislav Hagara | Komentářů: 0
    včera 01:44 | Pozvánky

    Přemýšlíte, jak začít prázdniny? Už v úterý 1. července se bude konat Virtuální Bastlírna, tedy online setkání bastlířů, techniků, vědců i akademiků, kde se ve volné diskuzi probírají novinky ze světa techniky, ale i jiných zajímavých témat.

    Za poslední měsíc jsme byli svědky plamenů několika raket. Zatímco malá raketa od Hondy se úspěšně vznesla a opět přistála, raketa od SpaceX se rozhodla letět všemi směry najednou. Díkybohu méně … více »
    Uprdkávač | Komentářů: 0
    29.6. 23:44 | Komunita

    Linus Torvalds zmínil, že souborový systém Bcachefs zřejmě odstraní z mainline Linuxu v začleňovacím okně pro vydání 6.17. Kent Overstreet mu totiž posílá kód s novou funkcionalitou i pro začlenění do kandidátů na vydání, kdy očekává pouze opravy chyb. Kent Overstreet byl již dříve z vývoje vyloučen kvůli konfliktní komunikaci.

    Fluttershy, yay! | Komentářů: 10
    27.6. 11:55 | IT novinky

    Ministerstvo průmyslu a obchodu propaguje Microsoft. Ten ve spolupráci s Ministerstvem průmyslu a obchodu spouští AI National Skilling Plan v ČR. "Iniciativa Microsoftu přináší konkrétní a praktickou podporu právě tam, kde ji nejvíc potřebujeme – do škol, firem i veřejné správy.", říká ministr průmyslu a obchodu Lukáš Vlček.

    Ladislav Hagara | Komentářů: 30
    27.6. 10:55 | Zajímavý projekt

    Jste český ISP? Vyplněním krátkého dotazníku můžete pomoci nasměrovat vývoj nové generace routerů Turris Omnia [𝕏].

    Ladislav Hagara | Komentářů: 4
    27.6. 01:33 | IT novinky

    Celkové tržby společnosti Canonical za rok 2024 byly 292 milionů dolarů (pdf). Za rok 2023 to bylo 251 milionů dolarů.

    Ladislav Hagara | Komentářů: 3
    27.6. 01:22 | Nová verze

    Byla vydána verze 1.88.0 programovacího jazyka Rust (Wikipedie). Podrobnosti v poznámkách k vydání. Vyzkoušet Rust lze například na stránce Rust by Example.

    Ladislav Hagara | Komentářů: 0
    27.6. 01:11 | Nová verze

    Distribuce Tails specializující se ochranu online soukromí uživatele byla vydána ve verzi 6.17. Mimo jiné aktualizuje Tor Browser (14.5.4) a opravuje několik chyb.

    Fluttershy, yay! | Komentářů: 0
    Jaký je váš oblíbený skriptovací jazyk?
     (59%)
     (28%)
     (7%)
     (2%)
     (0%)
     (1%)
     (3%)
    Celkem 335 hlasů
     Komentářů: 16, poslední 8.6. 21:05
    Rozcestník

    Mini-HOWTO: psaní UDEV pravidel.

    4.1.2008 16:28 | Přečteno: 3605× | 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: 72 | 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: 72 | 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: 72 | 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: 72 | 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: 72 | 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: 72 | 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.