3 155
contributi
S3v (discussione | contributi) mNessun oggetto della modifica |
Wtf (discussione | contributi) Nessun oggetto della modifica |
||
Riga 2: | Riga 2: | ||
{{Versioni compatibili}} | {{Versioni compatibili}} | ||
= Disclaimer = | |||
Questa guida si prefigge di raccogliere informazioni riguardo udev, la sua configurazione e il suo utilizzo dal punto di vista dell'utente su sistemi Debian GNU/Linux. | Questa guida si prefigge di raccogliere informazioni riguardo udev, la sua configurazione e il suo utilizzo dal punto di vista dell'utente su sistemi Debian GNU/Linux. | ||
Riga 8: | Riga 8: | ||
Molte delle informazioni sono tratte (e tradotte) da <code>/usr/share/doc/udev/</code>. Si prega di correggere o segnalare ogni possibile (e probabile) inesattezza. | Molte delle informazioni sono tratte (e tradotte) da <code>/usr/share/doc/udev/</code>. Si prega di correggere o segnalare ogni possibile (e probabile) inesattezza. | ||
= Il sottosistema hotplug = | |||
Il sottosistema hotplug (dall'inglese: connessione a caldo, cioè a PC acceso) è un servizio del kernel che provvede a notificare in userspace l'avvenuta connessione di un nuovo dispositivo. | Il sottosistema hotplug (dall'inglese: connessione a caldo, cioè a PC acceso) è un servizio del kernel che provvede a notificare in userspace l'avvenuta connessione di un nuovo dispositivo. | ||
Riga 28: | Riga 28: | ||
* necessita di una directory <code>/dev</code> statica (nota che il devfs è ormai in disuso). | * necessita di una directory <code>/dev</code> statica (nota che il devfs è ormai in disuso). | ||
= Cos'è udev = | |||
Udev è un programma in userspace in grado ricevere le notifiche del sottosistema hotplug dei kernel 2.6.<br/> A partire dalla versione 0.070 è in grado di fare tutto quello che faceva hotplug per i kernel 2.4, ma è molto più veloce e leggero (è scritto in C). In più udev è in grado di creare dinamicamente i device file (quelli in <code>/dev</code>) per ogni periferica che viene rilevata nel sistema. | Udev è un programma in userspace in grado ricevere le notifiche del sottosistema hotplug dei kernel 2.6.<br/> A partire dalla versione 0.070 è in grado di fare tutto quello che faceva hotplug per i kernel 2.4, ma è molto più veloce e leggero (è scritto in C). In più udev è in grado di creare dinamicamente i device file (quelli in <code>/dev</code>) per ogni periferica che viene rilevata nel sistema. | ||
Riga 45: | Riga 45: | ||
Questa guida è dedicata alla versione di udev attualmente in Etch. | Questa guida è dedicata alla versione di udev attualmente in Etch. | ||
= Il nuovo udev = | |||
Dalla versione 0.070 in poi udev ha sostituito completamente hotplug. I driver delle periferiche rilevate vengono caricati tutti automaticamente durante il boot. Per fare un esempio, se al boot vengono trovate delle porte USB, verrà automaticamente caricato il modulo <code>usb-storage</code> che permetterà (tra le altre cose) di usare eventuali chiavette USB. | Dalla versione 0.070 in poi udev ha sostituito completamente hotplug. I driver delle periferiche rilevate vengono caricati tutti automaticamente durante il boot. Per fare un esempio, se al boot vengono trovate delle porte USB, verrà automaticamente caricato il modulo <code>usb-storage</code> che permetterà (tra le altre cose) di usare eventuali chiavette USB. | ||
Riga 57: | Riga 57: | ||
Si può disabilitare udev aggiungendo al boot il parametro del kernel <code>UDEV_DISABLED=yes</code> in Grub o lilo. Alternativamente si può configurare in <code>/etc/udev/udev.conf</code> una directory diversa da <code>/dev</code> per la creazione dei device file. | Si può disabilitare udev aggiungendo al boot il parametro del kernel <code>UDEV_DISABLED=yes</code> in Grub o lilo. Alternativamente si può configurare in <code>/etc/udev/udev.conf</code> una directory diversa da <code>/dev</code> per la creazione dei device file. | ||
= Come funziona udev = | |||
Quando un driver viene caricato, rende disponibili delle informazioni in <code>/sys</code> e udev viene eseguito per leggerle e creare il device file appropriato. | Quando un driver viene caricato, rende disponibili delle informazioni in <code>/sys</code> e udev viene eseguito per leggerle e creare il device file appropriato. | ||
Riga 73: | Riga 73: | ||
In altre parole, su un tipico sistema si potrebbero dover caricare manualmente (usando <code>/etc/modules</code>) dei moduli come ppdev e tun. | In altre parole, su un tipico sistema si potrebbero dover caricare manualmente (usando <code>/etc/modules</code>) dei moduli come ppdev e tun. | ||
= Da hotplug a udev = | |||
Nel passaggio da hotplug a udev i seguenti file di configurazione sono diventati obsoleti: | Nel passaggio da hotplug a udev i seguenti file di configurazione sono diventati obsoleti: | ||
Riga 87: | Riga 87: | ||
* tutti i file in <code>/etc/udev/scripts/</code> e <code>/lib/hotplug/</code> e alcuni file in <code>/sbin/</code> sono stati spostati in <code>/lib/udev/</code>. Non dimenticate di aggiornare le regole personalizzate, se ne avete create. | * tutti i file in <code>/etc/udev/scripts/</code> e <code>/lib/hotplug/</code> e alcuni file in <code>/sbin/</code> sono stati spostati in <code>/lib/udev/</code>. Non dimenticate di aggiornare le regole personalizzate, se ne avete create. | ||
= La directory <code>/etc/udev/rules.d/</code> = | |||
I file vengono letti e processati in ordine alfabetico, e le direttive contenute nelle regole vengono applicate in ordine. Le uniche eccezioni sono gli attributi <code>NAME</code>, di cui viene considerato solo il primo. | I file vengono letti e processati in ordine alfabetico, e le direttive contenute nelle regole vengono applicate in ordine. Le uniche eccezioni sono gli attributi <code>NAME</code>, di cui viene considerato solo il primo. | ||
Riga 104: | Riga 104: | ||
Per aggiungere delle regole personalizzate per un device è sufficiente inserirle in un file <code>/etc/udev/rules.d/00_local.rules</code> creato da voi. Il nome del file assicura che esso venga letto per primo, e questo ci permette di inserire delle regole che varranno eseguite <b>al posto</b> di quelle di default per lo stesso device. | Per aggiungere delle regole personalizzate per un device è sufficiente inserirle in un file <code>/etc/udev/rules.d/00_local.rules</code> creato da voi. Il nome del file assicura che esso venga letto per primo, e questo ci permette di inserire delle regole che varranno eseguite <b>al posto</b> di quelle di default per lo stesso device. | ||
= Il file <code>/etc/udev/links.conf</code> = | |||
Purtroppo non tutti i driver hanno un'interfaccia sysfs, e in questo caso udev non sarà in grado di creare alcun device node in modo automatico. Il problema è evidente nel caso di driver sviluppati al di fuori dal kernel, e/o proprietari, su cui si può solo sperare che gli autori/manutentori implementino la funzionalità. | Purtroppo non tutti i driver hanno un'interfaccia sysfs, e in questo caso udev non sarà in grado di creare alcun device node in modo automatico. Il problema è evidente nel caso di driver sviluppati al di fuori dal kernel, e/o proprietari, su cui si può solo sperare che gli autori/manutentori implementino la funzionalità. | ||
Riga 127: | Riga 127: | ||
''Questo file non esiste. Vi prego di non chiedere al mantainer Debian di questo file. Potete usarlo per fare cose strane e meravigliose, a vostro rischio.'' | ''Questo file non esiste. Vi prego di non chiedere al mantainer Debian di questo file. Potete usarlo per fare cose strane e meravigliose, a vostro rischio.'' | ||
= | = Approfondimenti = | ||
=== Sitografia === | |||
* [http://www.debianhelp.co.uk/udev.htm Rename Network Interface using udev in Debian] | * [http://www.debianhelp.co.uk/udev.htm Rename Network Interface using udev in Debian] | ||
* [http://www.debian-administration.org/articles/126 Card Readers and USB keys using udev] | * [http://www.debian-administration.org/articles/126 Card Readers and USB keys using udev] | ||
* [http://www.kernel.org/pub/linux/utils/kernel/hotplug/udev.html udev Homepage] | * [http://www.kernel.org/pub/linux/utils/kernel/hotplug/udev.html udev Homepage] | ||
* [http://www.reactivated.net/udevrules.php Writing udev rules] | * [http://www.reactivated.net/udevrules.php Writing udev rules] | ||
{{Autori | |||
|Autore=[[Utente:TheNoise|TheNoise]] | |||
}} | |||
[[Categoria:Servizi di sistema]] | [[Categoria:Servizi di sistema]] |
contributi