/ dev / dvdを適切に作成するにはどうすればよいですか?


10

特定のプログラムは/dev/dvd、デフォルトでDVDを検索します。DVDを挿入せずに初めてコンピューターを起動/dev/dvdすると、が存在し、正しい場所を指します(/dev/sr0)。しかし、DVDを挿入すると、が/dev/dvd消えます。/dev/sr0DVDを探しているプログラム内に移動する必要がないように、それを使い続けたいです。/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}生成されていないが手書きの場合、何をしているのでしょうか?


Dell Inspiron 660sでも同じ問題が発生しました。この問題に対するより良い答えがあったらいいのに。
Cerin、2013年

回答:


8

このチュートリアルでは、必要な操作を行う方法を非常にわかりやすく説明しています。

それによると、シンボリックリンクを作成するには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_MODELID_SERIALID_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ルールです--------------

/ 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"
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.