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

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

Ciertos programas buscan /dev/dvdde forma predeterminada DVD. Cuando inicio mi computadora por primera vez sin un DVD insertado, /dev/dvdexiste y apunta al 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 programas que buscan DVD. ¿Cómo me aseguro de que el /dev/dvdenlace 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.rulesarchivo dice "agregue el indicador ENV{GENERADO}=1 a sus propias reglas", que no forma 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 Ubuntu 12.04 (o posterior) moderno 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é 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/dvdenlace 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_SERIALy usando el siguiente comando (el comando como en el tutorial ya no funciona, en Ubuntu) ID_TYPE:ID_PATHudevtest

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/sr0dispositivos 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.rulesarchivo 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"

información relacionada