Як я можу правильно створити / 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завжди існувати та вказувати на потрібний пристрій?

EDIT: Це так просто, як додавання ENV{GENERATED}=1до правил на пов’язаній сторінці, приблизно так:

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

Це правильна інформація для сучасного Ubuntu? Що ENV{GENERATED}там роблять, коли воно не було створене, а написане від руки?


Я зіткнувся з тією ж проблемою на Dell Inspiron 660s. Бажаю, щоб була краща відповідь на цю проблему.
Серін

Відповіді:


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 родових пристроїв. Без цього, у випадку з DVD SCSI, символьне посилання іноді вказуватиме на правильні /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.