Udev: differenze tra le versioni

Vai alla navigazione Vai alla ricerca
m
nessun oggetto della modifica
mNessun oggetto della modifica
Riga 193: Riga 193:
</pre>
</pre>


=== Testare regole ===
=== Testare le regole ===
Con il percorso a partire da <code>/sys</code> di un dato dispositivo e [[privilegi di amministrazione]], è sufficiente:
Con il percorso a partire da <code>/sys</code> di un dato dispositivo e [[privilegi di amministrazione]], è sufficiente:
<pre>
<pre>
Riga 242: Riga 242:
* <code>ACTION</code> per determinare le azioni a cui la regola va applicata, come osservati monitorando gli eventi;
* <code>ACTION</code> per determinare le azioni a cui la regola va applicata, come osservati monitorando gli eventi;
* <code>KERNEL</code> il nome del file di tipo dispositivo, come sarebbe scelto senza l'attuale regola. Vista la scelta dinamica è in genere consigliabile utilizzare un pattern con <code>*</code> (per esempio in <code>/etc/udev/rules.d/70-persistent-net.rules</code> è utilizzata la condizione <code>KERNEL=="eth*"</code>), a meno che si intenda solo cambiare le proprietà di un dispositivo esistente, il cui nome è già determinato staticamente e univoco;
* <code>KERNEL</code> il nome del file di tipo dispositivo, come sarebbe scelto senza l'attuale regola. Vista la scelta dinamica è in genere consigliabile utilizzare un pattern con <code>*</code> (per esempio in <code>/etc/udev/rules.d/70-persistent-net.rules</code> è utilizzata la condizione <code>KERNEL=="eth*"</code>), a meno che si intenda solo cambiare le proprietà di un dispositivo esistente, il cui nome è già determinato staticamente e univoco;
* <code>SUBSYSTEMS</code> per identificare il sottosistema dell'evento, in base ai valori monitorati e alla granularità desiderata;
* <code>SUBSYSTEMS</code> per identificare il sottosistema dell'evento, in base ai valori monitorati e alla granularità desiderata (''block'', ''scsi'', ''usb'', ''pci'', ecc...);
* <code>DRIVERS</code> per filtrare gli eventi in base al modulo del kernel utilizzato (per esempio nel caso della memoria USB dell'esempio sarebbe stato ''usb-storage'', ma dipende dalla granularità desiderata dal filtro);
* <code>DRIVERS</code> per filtrare gli eventi in base al modulo del kernel utilizzato (per esempio nel caso della memoria USB dell'esempio sarebbe stato ''usb-storage'', ma dipende dalla granularità desiderata dal filtro);
* <code>ENV{proprietà}</code> per confrontare i valori di una data proprietà, come ottenuti dal monitoraggio di un dato evento.
* <code>ENV{proprietà}</code> per confrontare i valori di una data proprietà, come ottenuti dal monitoraggio di un dato evento.
Riga 256: Riga 256:
== Esempi ==
== Esempi ==
=== Utilizzo di nomi persistenti per memorie rimovibili ===
=== Utilizzo di nomi persistenti per memorie rimovibili ===
Riprendendo l'esempio della memoria USB, basta creare un file <code>/etc/udev/rules.d/99-my-usb.rules</code>:
Riprendendo l'esempio della memoria USB, basta creare un file in <code>/etc/udev/rules.d</code> con estensione <code>.rules</code>, per esempio <code>/etc/udev/rules.d/99-my-usb.rules</code>, con questo contenuto:
<pre>
<pre>
ACTION=="add", SUBSYSTEMS=="usb", DRIVERS=="usb-storage", ENV{ID_VENDOR}=="TDKMedia", ENV{ID_FS_UUID}="...", SYMLINK="myusb"
ACTION=="add", SUBSYSTEMS=="usb", DRIVERS=="usb-storage", ENV{ID_VENDOR}=="TDKMedia", ENV{ID_FS_UUID}="...", SYMLINK="myusb"
3 581

contributi

Menu di navigazione