¿Cómo puedo crear / dev / dvd correctamente?


10

Ciertos programas buscan /dev/dvdpor defecto para encontrar DVD. La primera vez que inicio mi computadora sin un DVD insertado, /dev/dvdexiste y señala el lugar correcto ( /dev/sr0). Sin embargo, cuando inserto un DVD, /dev/dvddesaparece. Me gustaría que se quedara para no tener que navegar /dev/sr0en los programas que buscan DVD. ¿Cómo me aseguro de que el /dev/dvdenlace simbólico exista y apunte al lugar correcto?

Parece que puedo agregarle algo /etc/udev/rules.d/70-persistent-cd.rules. Este sitio ofrece un par de ejemplos, pero el 70-persistent-cd.rulesarchivo dice "agregue el indicador ENV {GENERADO} = 1 a sus propias reglas", que no es parte de los ejemplos. La man 7 udevpágina es impenetrable para mí, y no estoy convencido de que la página vinculada proporcione el 100% de la información que necesito.

Entonces, ¿qué puedo hacer en un sistema moderno Ubuntu 12.04 (o posterior) para que /dev/dvdsiempre exista y apunte al dispositivo correcto?

EDITAR: ¿Es tan simple como agregar ENV{GENERATED}=1a las reglas en la página vinculada, algo como esto:

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

¿Es esa la información correcta para Ubuntu moderno? ¿Qué está ENV{GENERATED}haciendo allí, cuando no fue generado, sino escrito a mano?


Me encontré con el mismo problema en un Dell Inspiron 660s. Ojalá hubiera una mejor respuesta para este problema.
Cerin

Respuestas:


8

Este tutorial explica muy bien cómo hacer lo que quieres:

Según esto, hay dos enfoques para crear enlaces simbólicos. El primero es usar el nombre del modelo y el número de serie:

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

De esta forma, el enlace simbólico seguirá siendo correcto incluso si mueve la unidad a diferentes posiciones en el bus IDE, pero el /dev/dvdenlace simbólico no se creará si reemplaza la unidad.

El segundo se basa en la ubicación del dispositivo en el bus:

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

De esta manera, el enlace simbólico seguirá siendo correcto incluso si reemplaza unidades con diferentes modelos, pero los coloca en las mismas posiciones en el bus IDE. La ENV{ID_TYPE}clave asegura que el enlace simbólico desaparezca si coloca algo más que un DVD en esa posición en el bus.

Puede encontrar los valores para ID_MODEL, ID_SERIAL, ID_TYPEy ID_PATHcon el siguiente comando (el udevtestcomando como en el tutorial no funciona - más - en Ubuntu?):

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

La SUBSYSTEM=="block"clave es necesaria para evitar la coincidencia de dispositivos genéricos SCSI. Sin él, en el caso del DVD SCSI, el enlace simbólico a veces apuntará a los /dev/sr0dispositivos correctos y, a veces /dev/sg0, a lo que está mal.

La ENV{GENERATED}="1"clave es necesaria para evitar que el 75-cd-aliases-generator.rulesarchivo udev anule sus reglas personalizadas.


Gracias por toda la información. Fui a probar algunas de estas reglas, pero descubrí que mi /dev/dvdenlace simbólico se solucionó mágicamente en algún momento de los últimos meses. También leí en este error que /dev/dvdlos días están contados. Oh bien. Por ahora, su respuesta parece dar toda la información necesaria para solucionar este problema.
chazomaticus

0

Encontré esto en un foro de fedora que puede ayudar:

Crear un archivo de script de shell En ese archivo, coloque:

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

Asegúrese de que el archivo sea ejecutable:

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

Si va a utilizar la ruta rc.local, también debe hacer esto, como root:

systemctl enable rc-local.service

porque no está habilitado por defecto

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

--------- La forma preferida en estos días sería una regla UDev --------------

Basado en /lib/udev/rules.d/60-cdrom_id.rules, que crea el enlace simbólico / dev / cdrom, intente agregar un archivo /etc/udev/rules.d/60-dvd.rules que contenga:

KERNEL=="sr0", SYMLINK+="dvd", OPTIONS+="link_priority=-100"
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.