abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
AbcLinuxu hledá autory!
Navštivte Abc obchůdek se samolepkami a přívěsky!
Rozšířené hledání
×
24.5. 22:45 | IT novinky
NASA, která společně s Rackspace stála u zrodu projektu OpenStack, se již nadále nebude podílet na dalším vývoji této "infrastructure-as-a-service" platformy. V NASA totiž došli k závěru, že vzhledem k podpoře OpenStacku ze strany společností jako Red Hat, AT&T a HP lze jejich práci považovat za dokončenou. Posléze se NASA plánuje stáhnout i z vývoje další platformy pro cloud computing jménem Nebula.
Migilenik | Komentářů: 0
24.5. 22:45 | Upozornění
Blíží se svátek IPv6 a s ním i konference IPv6 Day. Na návštěvníky této akce čeká nejen bohatý program, ale také jedna speciální nabídka – v průběhu setkání bude možné získat se slevou 66 procent třetí vydání knihy IPv6 vysokoškolského pedagoga a publicisty Pavla Satrapy, tedy za 105 korun. … více »
Vilem Sladek | Komentářů: 4
24.5. 16:14 | Pozvánky

Přijďte si zasprintovat na Djangu, jiném Python open-source projektu, nebo jen potkat ostatní vývojáře!

… více »
Whit | Komentářů: 0
24.5. 10:20 | Nová verze
Na zrcadlech a torrentech jsou již k dispozici ISO obrazy distribuce Mageia 2. Poznámky k vydání čtěte zde.
Liborek | Komentářů: 14
23.5. 13:47 | Pozvánky

Letos v říjnu se v Praze uskuteční hned několik konferencí. Odehraje se zde nově vzniklá konference LinuxDays. K ní se přidá čtvrtý ročník openSUSE Conference, dvanáctý ročník SUSE Labs conference a aby to nebylo málo, přidá se i první ročník Gentoo miniconf. A to vše ve stejné dny a na stejném místě.

… více »
Miška | Komentářů: 7
23.5. 13:27 | Zajímavý projekt
Printerd je název nového projektu tiskového démona, který bude využívat PolicyKit a D-Bus. Projekt je zatím na úplném začátku, takže nejde o nic vhodného k produkčnímu nasazení. Mimo jiné aktuálně akceptuje jako vstup jen PDF dokumenty.
Luboš Doležel (Doli) | Komentářů: 56
23.5. 13:25 | Zajímavý software
Tři vývojáři ze společnosti Engine Yard přecházejí po dohodě mezi firmami do Red Hatu. Jde o vývojáře zabývající se rozvojem projektu JRuby. To ukazuje, že Red Hat má zájem o podporu alternativních jazyků nad OpenJDK.
Luboš Doležel (Doli) | Komentářů: 1
23.5. 13:20 | Zajímavý software
Fedora přejde na knihovnu libusbx, což je fork původní knihovny libusb. Důvodem pro fork byl zjevný nedostatek času nebo zájmu ze strany správce projektu. libusbx už teď nabízí užitečné funkce navrch.
Luboš Doležel (Doli) | Komentářů: 4
23.5. 10:29 | Nová verze
Vyšlo LLVM 3.1. Vylepšení se dotýkají podpory C++ 11 nebo architektur ARM a MIPS. Dále se můžete těšit z Python bindings nebo nástroje AddressSanitizer pro detekci chyb při práci s pamětí.
Luboš Doležel (Doli) | Komentářů: 0
23.5. 00:01 | Nová verze
Vyšla nová verze open source služby pro sdílení a synchronizaci souborů ownCloud 4. Mezi hlavní novinky patří verzování, šifrování dat, vestavěný prohlížeč ODF souborů, nové API a další - podrobnější popis novinek a vylepšení zde.
Dirka | Komentářů: 1
Pokud by se prohlížeč Opera stal svobodným:
 (9%)
 (32%)
 (1%)
 (58%)
Celkem 246 hlasů
 Komentářů: 31, poslední včera 22:38
    Rozcestník
    Reklama
    Autoškola testy online Levný benzín

    Mini-HOWTO: psaní UDEV pravidel.

    4.1.2008 16:28 | Přečteno: 2588× | 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 | Kroměříž, 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: 67 | 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 | Kroměříž, 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: 67 | 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: 67 | 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: 73 | blog: Blog... | Silicon Hell
    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.
    www.Watzke.cz ... a nově (opět) i blog.Watzke.cz
    5.1.2008 01:10 Michal Kubeček | skóre: 67 | 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: 67 | 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: 67 | 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: 28 | 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...
    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   Powered by Hosting 90 Server hosting
    © 1999-2012 Argonit s. r. o. Všechna práva vyhrazena.