Ciertos programas buscan /dev/dvd
de forma predeterminada DVD. Cuando inicio mi computadora por primera vez sin un DVD insertado, /dev/dvd
existe y apunta al lugar correcto ( /dev/sr0
). Sin embargo, cuando inserto un DVD, /dev/dvd
desaparece. Me gustaría que se quedara para no tener que navegar /dev/sr0
en programas que buscan DVD. ¿Cómo me aseguro de que el /dev/dvd
enlace simbólico exista y apunte al lugar correcto?
Parece que puedo agregar algo /etc/udev/rules.d/70-persistent-cd.rules
. Este sitioproporciona un par de ejemplos, pero el 70-persistent-cd.rules
archivo dice "agregue el indicador ENV{GENERADO}=1 a sus propias reglas", que no forma parte de los ejemplos. La man 7 udev
pá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 Ubuntu 12.04 (o posterior) moderno para que /dev/dvd
siempre exista y apunte al dispositivo correcto?
EDITAR: ¿Es tan simple como agregar ENV{GENERATED}=1
a 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é ENV{GENERATED}
hace ahí, cuando no fue generado, sino escrito a mano?
Respuesta1
Este tutorial explica muy bien cómo hacer lo que quieres:
Según él, existen dos enfoques para crear enlaces simbólicos. La primera es utilizar 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 manera, el enlace simbólico permanecerá correcto incluso si mueve la unidad a diferentes posiciones en el bus IDE, pero el /dev/dvd
enlace simbólico no se creará si reemplaza la unidad.
El segundo se basa en la ubicación del dispositivo en el autobús:
SUBSYSTEM=="block", ENV{ID_TYPE}=="...", ENV{ID_PATH}=="pci-...", ENV{GENERATED}="1", SYMLINK+="dvd"
De esta manera, el enlace simbólico permanecerá correcto incluso si reemplaza unidades con diferentes modelos, pero las coloca en las mismas posiciones en el bus IDE. La ENV{ID_TYPE}
clave asegura que el enlace simbólico desaparezca si coloca algo que no sea un DVD en esa posición en el bus.
Puede encontrar los valores para ID_MODEL
, ID_SERIAL
y usando el siguiente comando (el comando como en el tutorial ya no funciona, en Ubuntu) ID_TYPE
:ID_PATH
udevtest
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 de SCSI DVD, el enlace simbólico a veces apuntará a los /dev/sr0
dispositivos correctos y otras veces a /dev/sg0
, lo cual es incorrecto.
La ENV{GENERATED}="1"
clave es necesaria para evitar que el 75-cd-aliases-generator.rules
archivo udev anule sus reglas personalizadas.
Respuesta2
Encontré esto en un foro de Fedora que puede ayudar:
Cree 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 vas a utilizar la ruta rc.local, también debes 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 hoy en día 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"