Bagaimana saya bisa membuat / dev / dvd dengan benar?


10

Program tertentu mencari /dev/dvdsecara default untuk menemukan DVD. Ketika saya pertama kali mem-boot komputer saya tanpa memasukkan DVD, /dev/dvdada dan menunjuk ke tempat yang benar ( /dev/sr0). Namun, ketika saya memasukkan DVD, /dev/dvdmenghilang. Saya ingin itu tetap ada sehingga saya tidak harus menavigasi ke /dev/sr0dalam program yang mencari DVD. Bagaimana saya memastikan bahwa /dev/dvdsymlink ada dan menunjuk ke tempat yang tepat?

Sepertinya saya dapat menambahkan sesuatu /etc/udev/rules.d/70-persistent-cd.rules. Situs ini memberikan beberapa contoh, tetapi 70-persistent-cd.rulesfile tersebut mengatakan "tambahkan bendera ENV {GENERATED} = 1 ke aturan Anda sendiri", yang bukan bagian dari contoh. The man 7 udevHalaman ini bisa ditembus dengan saya, dan saya tidak yakin halaman terkait memberikan 100% dari informasi yang saya butuhkan.

Jadi, apa yang dapat saya lakukan pada sistem modern, Ubuntu 12.04 (atau lebih baru) agar /dev/dvdselalu ada dan menunjuk ke perangkat yang tepat?

EDIT: Apakah sesederhana menambahkan ENV{GENERATED}=1aturan di halaman tertaut, sesuatu seperti ini:

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

Apakah itu informasi yang tepat untuk Ubuntu modern? Apa yang ENV{GENERATED}dilakukan di sana, ketika itu tidak dihasilkan, tetapi ditulis tangan?


Saya mengalami masalah yang sama pada Dell Inspiron 660s. Berharap ada jawaban yang lebih baik untuk masalah ini.
Cerin

Jawaban:


8

Tutorial ini menjelaskan dengan sangat bagus bagaimana melakukan apa yang Anda inginkan:

Menurutnya, ada dua pendekatan untuk membuat symlink. Yang pertama adalah menggunakan nama model dan nomor seri:

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

Dengan cara ini, symlink akan tetap benar bahkan jika Anda memindahkan drive ke posisi berbeda di bus IDE, tetapi /dev/dvdsymlink tidak akan dibuat jika Anda mengganti drive.

Yang kedua didasarkan pada lokasi perangkat di bus:

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

Dengan cara ini, symlink akan tetap benar bahkan jika Anda mengganti drive dengan model yang berbeda, tetapi menempatkannya pada posisi yang sama di bus IDE. The ENV{ID_TYPE}key memastikan bahwa symlink menghilang jika Anda meletakkan sesuatu selain DVD di posisi itu di bus.

Anda dapat menemukan nilai-nilai untuk ID_MODEL, ID_SERIAL, ID_TYPEdan ID_PATHmenggunakan perintah berikut ( udevtestperintah seperti dalam tutorial tidak bekerja - lagi - di Ubuntu?):

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

The SUBSYSTEM=="block"kunci diperlukan untuk menghindari pencocokan SCSI perangkat generik. Tanpanya, dalam kasus dengan SCSI DVD, symlink terkadang akan menunjuk ke /dev/sr0perangkat yang benar , dan terkadang ke /dev/sg0, yang salah.

The ENV{GENERATED}="1"kunci diperlukan untuk mencegah udev 75-cd-aliases-generator.rulesfile dari override aturan kustom Anda.


Terima kasih atas semua informasinya. Saya pergi untuk mencoba beberapa aturan ini, tetapi menemukan bahwa /dev/dvdsymlink saya secara ajaib memperbaiki dirinya sendiri dalam beberapa bulan terakhir. Saya juga membaca di bug ini bahwa /dev/dvdhari-hari itu dinomori. Baiklah. Untuk saat ini, jawaban Anda tampaknya memberikan semua informasi yang diperlukan untuk memperbaiki masalah ini.
chazomaticus

0

Saya menemukan ini di forum fedora dapat membantu:

Buat file skrip shell Dalam file itu, masukkan:

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

Pastikan file tersebut dapat dieksekusi:

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

Jika Anda akan menggunakan rute rc.local, Anda juga perlu melakukan ini, sebagai root:

systemctl enable rc-local.service

karena tidak diaktifkan secara default

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

--------- Cara yang disukai hari ini adalah aturan UDev --------------

Berdasarkan /lib/udev/rules.d/60-cdrom_id.rules, yang membuat tautan simbolis / dev / cdrom, coba tambahkan file /etc/udev/rules.d/60-dvd.rules yang mengandung:

KERNEL=="sr0", SYMLINK+="dvd", OPTIONS+="link_priority=-100"
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.