Как правильно создать / dev / dvd?

Некоторые программы по умолчанию ищут /dev/dvd для поиска DVD. Когда я впервые загружаю свой компьютер без вставленного DVD, существует /dev/dvd и указывает на правильное место (/dev/sr0). Однако, когда я вставляю DVD, /dev/dvd исчезает. Я бы хотел, чтобы он оставался без присмотра, поэтому мне не нужно переходить к /dev/sr0 в программах, которые ищут DVD-диски. Как мне убедиться, что символическая ссылка /dev/dvd существует и указывает на правильное место?

Похоже, я могу что-то добавить к /etc/udev/rules.d/70-persistent-cd.rules. Этот сайт дает пару примеров, но в файле 70-persistent-cd.rules написано «добавьте флаг ENV {GENERATED} = 1 в ваши собственные правила», что не является частью примеров. Страница man 7 udev непроницаема для меня, и я не уверен, что связанная страница дает 100% необходимой мне информации.

Итак, что я могу сделать в современной системе Ubuntu 12.04 (или более поздней), чтобы заставить /dev/dvd всегда существовать и указывать на правильное устройство?

РЕДАКТИРОВАТЬ: Это так просто, как добавить ENV{GENERATED}=1 ] к правилам на связанной странице, что-то вроде этого:

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

Это правильная информация для современной Ubuntu? Что ENV{GENERATED} делает там, когда оно не было сгенерировано, а написано от руки?

10
задан 7 October 2013 в 22:49

2 ответа

Этот урок очень хорошо объясняет, как делать то, что вы хотите:

Согласно этому, есть два подхода к созданию символических ссылок. Первый - использовать название модели и серийный номер:

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

Таким образом, символическая ссылка останется правильной, даже если вы переместите привод в разные положения на шине IDE, но /dev/dvd Символическая ссылка не будет создана, если вы замените диск.

Второй основан на расположении устройства на шине:

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

Таким образом, символическая ссылка останется корректной, даже если вы замените диски на другие модели, но разместите их на одной и той же позиции на шине IDE. Клавиша ENV{ID_TYPE} гарантирует, что символическая ссылка исчезнет, ​​если вы поместите что-то, кроме DVD, в эту позицию на шине.

Вы можете найти значения для ID_MODEL, ID_SERIAL, ID_TYPE и ID_PATH, используя следующую команду (команда udevtest, как в учебнике, больше не работает - больше? - в Ubuntu): [ 1122]

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

Клавиша SUBSYSTEM=="block" необходима для того, чтобы избежать совпадения универсальных устройств SCSI. Без этого, в случае с SCSI DVD, символическая ссылка будет иногда указывать на правильные /dev/sr0 устройства, а иногда на /dev/sg0, что неправильно.

Ключ ENV{GENERATED}="1" необходим для предотвращения переопределения файлом udev 75-cd-aliases-generator.rules ваших пользовательских правил.

0
ответ дан 7 October 2013 в 22:49

Я нашел это на форуме fedora, может помочь:

Создать файл сценария оболочки В этом файле укажите:

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

Убедитесь, что файл исполняемый:

[ 111]

Если вы собираетесь использовать маршрут rc.local, вам также нужно сделать это как root:

systemctl enable rc-local.service

, потому что он не включен по умолчанию

[ 115] источник: http://forums.fedoraforum.org/showthread.php?t=295048

-------- - В наши дни предпочтительным будет правило UDev --------------

Основано на /lib/udev/rules.d/60-cdrom_id.rules, которое создает символическую ссылку / dev / cdrom, попробуйте добавить файл /etc/udev/rules.d/60-dvd.rules, содержащий:

KERNEL=="sr0", SYMLINK+="dvd", OPTIONS+="link_priority=-100"
0
ответ дан 7 October 2013 в 22:49

Другие вопросы по тегам:

Похожие вопросы: