Como posso criar / dev / dvd corretamente?


10

Certos programas procuram /dev/dvdpor padrão para encontrar DVDs. Quando eu inicializo meu computador sem um DVD inserido, ele /dev/dvdexiste e aponta para o local correto ( /dev/sr0). No entanto, quando insiro um DVD, /dev/dvddesaparece. Eu gostaria que ele permanecesse, para não precisar navegar /dev/sr0em programas que procuram DVDs. Como garantir que o /dev/dvdlink simbólico exista e aponte para o lugar certo?

Parece que posso adicionar algo a /etc/udev/rules.d/70-persistent-cd.rules. Este site fornece alguns exemplos, mas o 70-persistent-cd.rulesarquivo diz "adicione o sinalizador ENV {GENERATED} = 1 às suas próprias regras", o que não faz parte dos exemplos. A man 7 udevpágina é impenetrável para mim e não estou convencido de que a página vinculada forneça 100% das informações necessárias.

Então, o que posso fazer em um sistema moderno Ubuntu 12.04 (ou posterior) para que /dev/dvdsempre exista e aponte para o dispositivo certo?

EDIT: É tão simples como adicionar ENV{GENERATED}=1às regras na página vinculada, algo como isto:

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

Essa é a informação certa para o Ubuntu moderno? O que está ENV{GENERATED}fazendo lá, quando não foi gerado, mas escrito à mão?


Encontrei o mesmo problema em um Dell Inspiron 660s. Gostaria que houvesse uma resposta melhor para esse problema.
Cerin 21/01

Respostas:


8

Este tutorial explica muito bem como fazer o que você deseja:

Segundo ele, existem duas abordagens para criar links simbólicos. O primeiro é usar o nome do modelo e o número de série:

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

Dessa forma, o link simbólico permanecerá correto, mesmo que você mova a unidade para posições diferentes no barramento IDE, mas o /dev/dvdlink simbólico não será criado se você substituir a unidade.

O segundo é baseado na localização do dispositivo no barramento:

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

Dessa forma, o link simbólico permanecerá correto, mesmo se você substituir unidades por modelos diferentes, mas colocá-las nas mesmas posições no barramento IDE. A ENV{ID_TYPE}chave garante que o link simbólico desapareça se você colocar algo diferente de um DVD nessa posição no barramento.

Você pode encontrar os valores para ID_MODEL, ID_SERIAL, ID_TYPEe ID_PATHusando o seguinte comando (o udevtestcomando como no tutorial não funciona - mais - no Ubuntu?):

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

A SUBSYSTEM=="block"chave é necessária para evitar a correspondência de dispositivos genéricos SCSI. Sem ele, no caso do DVD SCSI, o link simbólico algumas vezes aponta para os /dev/sr0dispositivos corretos e outras para o /dev/sg0que está errado.

A ENV{GENERATED}="1"chave é necessária para impedir que o 75-cd-aliases-generator.rulesarquivo udev substitua suas regras personalizadas.


Obrigado por todas as informações. Fui experimentar algumas dessas regras, mas descobri que meu /dev/dvdlink simbólico se corrigia magicamente em algum momento nos últimos meses. Também li neste bug que /dev/dvdos dias estão contados. Ah bem. Por enquanto, sua resposta parece fornecer todas as informações necessárias para corrigir esse problema.
chazomaticus

0

Achei isso em um fórum do fedora pode ajudar:

Crie um arquivo de script de shell Nesse arquivo, coloque:

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

Verifique se o arquivo é execlutável:

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

Se você for usar a rota rc.local, também precisará fazer isso, como root:

systemctl enable rc-local.service

porque não está ativado por padrão

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

--------- A maneira preferida hoje em dia seria uma regra do UDev --------------

Com base em /lib/udev/rules.d/60-cdrom_id.rules, que cria o link simbólico / dev / cdrom, tente adicionar um arquivo /etc/udev/rules.d/60-dvd.rules que contenha:

KERNEL=="sr0", SYMLINK+="dvd", OPTIONS+="link_priority=-100"
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.