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


10

Некоторые программы /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% потребности в информации I.

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

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

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

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


Я столкнулся с той же проблемой на Dell Inspiron 660s. Жаль, что не было лучшего ответа на эту проблему.
Cerin

Ответы:


8

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

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

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?):

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

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

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


Спасибо за всю информацию. Я попытался опробовать некоторые из этих правил, но обнаружил, что моя /dev/dvdсимволическая ссылка волшебным образом исправилась где-то за последние несколько месяцев. Я также читал в этой ошибке, что /dev/dvdдни сочтены. Ну что ж. На данный момент ваш ответ, похоже, содержит всю информацию, необходимую для решения этой проблемы.
chazomaticus

0

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

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

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

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

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

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

systemctl enable rc-local.service

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

источник: 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"
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.