Come posso creare correttamente / dev / dvd?


10

Alcuni programmi cercano /dev/dvddi default per trovare i DVD. Quando avvio per la prima volta il mio computer senza un DVD inserito, /dev/dvdesiste e indica il posto corretto ( /dev/sr0). Tuttavia, quando inserisco un DVD, /dev/dvdscompare. Vorrei che restasse in giro, quindi non devo navigare /dev/sr0nei programmi che cercano DVD. Come posso assicurarmi che il /dev/dvdcollegamento simbolico esista e punti nel posto giusto?

Sembra che posso aggiungere qualcosa a /etc/udev/rules.d/70-persistent-cd.rules. Questo sito fornisce un paio di esempi, ma il 70-persistent-cd.rulesfile dice "aggiungi il flag ENV {GENERATED} = 1 alle tue regole", che non fa parte degli esempi. La man 7 udevpagina è impenetrabile per me e non sono convinto che la pagina collegata fornisca il 100% delle informazioni di cui ho bisogno.

Quindi, cosa posso fare su un moderno sistema Ubuntu 12.04 (o successivo) per far /dev/dvdesistere sempre e puntare al dispositivo giusto?

EDIT: è semplice come aggiungere ENV{GENERATED}=1alle regole nella pagina collegata, qualcosa del genere:

SUBSYSTEM=="block", KERNEL=="sr0", SYMLINK+="dvd", GROUP="cdrom", ENV{GENERATED}=1

Sono le informazioni giuste per Ubuntu moderna? Cosa sta ENV{GENERATED}facendo lì, quando non è stato generato, ma scritto a mano?


Ho riscontrato lo stesso problema su un Dell Inspiron 660s. Vorrei che ci fosse una risposta migliore per questo problema.
Cerin,

Risposte:


8

Questo tutorial spiega molto bene come fare quello che vuoi:

Secondo esso, ci sono due approcci alla creazione di symlink. Il primo è utilizzare il nome del modello e il numero di serie:

SUBSYSTEM=="block", ENV{ID_MODEL}=="...", ENV{ID_SERIAL}=="...", ENV{GENERATED}="1", SYMLINK+="dvd"

In questo modo, il collegamento simbolico rimarrà corretto anche se si sposta l'unità in posizioni diverse sul bus IDE, ma il collegamento /dev/dvdsimbolico non verrà creato se si sostituisce l'unità.

Il secondo si basa sulla posizione del dispositivo sul bus:

SUBSYSTEM=="block", ENV{ID_TYPE}=="...", ENV{ID_PATH}=="pci-...", ENV{GENERATED}="1", SYMLINK+="dvd"

In questo modo, il collegamento simbolico rimarrà corretto anche se si sostituiscono unità con modelli diversi, ma le si colloca nelle stesse posizioni sul bus IDE. La ENV{ID_TYPE}chiave assicura che il collegamento simbolico scompaia se si inserisce qualcosa di diverso da un DVD in quella posizione sul bus.

È possibile trovare i valori di ID_MODEL, ID_SERIAL, ID_TYPEe ID_PATHutilizzando il seguente comando (il udevtestcomando come nel tutorial non funziona - più - in Ubuntu?):

udevadm info --query=all --name=sr0

La SUBSYSTEM=="block"chiave è necessaria per evitare la corrispondenza dei dispositivi generici SCSI. Senza di essa, nel caso del DVD SCSI, il collegamento simbolico a volte indicherà i /dev/sr0dispositivi corretti e, a volte /dev/sg0, il che è sbagliato.

La ENV{GENERATED}="1"chiave è necessaria per impedire al 75-cd-aliases-generator.rulesfile udev di sovrascrivere le regole personalizzate.


Grazie per tutte le informazioni. Sono andato a provare alcune di queste regole, ma ho scoperto che il mio /dev/dvdlink simbolico si è risolto magicamente negli ultimi mesi. Ho anche letto in questo bug che /dev/dvdi giorni sono numerati. Oh bene. Per ora, la tua risposta sembra fornire tutte le informazioni necessarie per risolvere questo problema.
Chazomaticus,

0

Ho trovato questo su un forum fedora può aiutare:

Crea un file di script della shell In quel file, inserisci:

#!/bin/bash
ln -s /dev/sr0 /dev/dvd

Assicurarsi che il file sia eseguibile:

sudo chmod +x /etc/rc.d/rc.local

Se hai intenzione di usare la route rc.local, devi anche fare questo, come root:

systemctl enable rc-local.service

perché non è abilitato per impostazione predefinita

fonte: http://forums.fedoraforum.org/showthread.php?t=295048

--------- Il modo preferito in questi giorni sarebbe una regola UDev --------------

Basato su /lib/udev/rules.d/60-cdrom_id.rules, che crea il collegamento simbolico / dev / cdrom, prova ad aggiungere un file /etc/udev/rules.d/60-dvd.rules contenente:

KERNEL=="sr0", SYMLINK+="dvd", OPTIONS+="link_priority=-100"
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.