特定のプログラムは、DVDを見つけるためにデフォルトで/dev/dvd
を探します。 DVDを挿入せずに初めてコンピューターを起動すると、/dev/dvd
が存在し、正しい場所(/dev/sr0
)を指します。ただし、DVDを挿入すると、/dev/dvd
が消えます。 DVDを探しているプログラムで/dev/sr0
にナビゲートする必要がないように、それを維持したいです。 /dev/dvd
シンボリックリンクが存在し、正しい場所を指していることを確認するにはどうすればよいですか?
/etc/udev/rules.d/70-persistent-cd.rules
に何かを追加できるようです。 このサイト にはいくつかの例がありますが、70-persistent-cd.rules
ファイルには「ENV {GENERATED} = 1フラグを独自のルールに追加する」と書かれていますが、これは例の一部ではありません。 man 7 udev
ページは理解できないため、リンクされたページが必要な情報の100%を提供することを確信していません。
/dev/dvd
が常に存在し、適切なデバイスを指すようにするために、最新のUbuntu 12.04(以降)システムで何ができますか?
編集:リンクされたページのルールにENV{GENERATED}=1
を追加するのと同じくらい簡単ですか?
SUBSYSTEM=="block", KERNEL=="sr0", SYMLINK+="dvd", GROUP="cdrom", ENV{GENERATED}=1
それは現代のUbuntuにとって正しい情報ですか? ENV{GENERATED}
はそこで生成されたのではなく、手書きで何をしていますか?
このチュートリアルは、あなたが望むことをする方法をとても素敵に説明しています:
それによると、シンボリックリンクを作成するには2つのアプローチがあります。最初の方法は、モデル名とシリアル番号を使用することです:
SUBSYSTEM=="block", ENV{ID_MODEL}=="...", ENV{ID_SERIAL}=="...", ENV{GENERATED}="1", SYMLINK+="dvd"
この方法では、ドライブをIDEバス上の別の位置に移動してもシンボリックリンクは正しいままですが、ドライブを交換しても/dev/dvd
シンボリックリンクは作成されません。
2番目は、バス上のデバイスの場所に基づいています。
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
SCSI汎用デバイスの一致を回避するために、SUBSYSTEM=="block"
キーが必要です。これがないと、SCSI DVDの場合、シンボリックリンクは正しい/dev/sr0
デバイスを指すことがありますが、間違った/dev/sg0
を指すこともあります。
ENV{GENERATED}="1"
キーは、udev 75-cd-aliases-generator.rules
ファイルがカスタムルールを上書きしないようにするために必要です。
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
デフォルトでは有効になっていないため
source:http://forums.fedoraforum.org/showthread.php? t = 295048
---------最近の好ましい方法はUDevルールです--------------
/ dev/cdromシンボリックリンクを作成する/lib/udev/rules.d/60-cdrom_id.rulesに基づいて、次を含むファイル/etc/udev/rules.d/60-dvd.rulesを追加してみてください。
KERNEL=="sr0", SYMLINK+="dvd", OPTIONS+="link_priority=-100"