ディスクの udev ルールを ID または UUID で定義しますか?

ディスクの udev ルールを ID または UUID で定義しますか?

特定のブロック デバイス (またはパーティション) の udev ルールを定義したいと思います。現在は、91-my-custom-rules.rules次のように構成ファイルを定義してこれを行っています。

computer:/etc/udev/rules.d # cat 91-my-custom-rules.rules 
KERNEL=="sdc2", OWNER="username", GROUP="users", MODE="0600"

上記の例では、 の所有権/dev/sdc2を に変更しusername:users、その権限を に設定します0600

明らかな理由により、/dev/sdc2必ずしも同じデバイス/パーティションを指すとは限りません。したがって、代わりに ID または UUID でディスクのルールを定義したいと思います。どうすればいいでしょうか?

答え1

同じ目的で、/etc/udev/rules.d/60-sda.rulesという内容のファイルを作成しました。

SUBSYSTEM=="block", KERNEL=="sd*", ENV{DEVTYPE}=="disk", \
ENV{ID_SERIAL}=="Generic_Ultra_HS-SD_MMC_000000264131-0:0", \
SYMLINK+="disk/by-id/sd-mux-ctrl-0", GROUP="sd-mux-ctrl"

シリアル番号「Generic_Ultra_HS-SD_MMC_000000264131-0:0」のデバイスに対してシンボリック リンク /dev/by-id/sd-mux-ctrl-0 を作成し、シンボリック リンクのターゲットにグループ sd-mux-ctrl を割り当てます。

シリアル番号は再フォーマット後も保持されるため、UUID に頼るよりもこのソリューションの方が好ましいです。

関連情報