OS起動時にシンボリックリンクのudevルールが機能しません。

OS起動時にシンボリックリンクのudevルールが機能しません。

udev特定のUSBデバイスを/media動作確認済みのカスタムマウントポイントにマウントするルールがあり、これは私のユーザースペース(たとえば/home/myuser/a.rules)にあります。私は/etc/udev/rules.d/52-link-a.rulesそれについてシンボリックリンクを作成しました。 OSが起動してから特定のポイントにインストールできないようですが、代わりに一般的なアイテムにインストールすると、/media/myuser/CMSTICKMNutilusがポップアップし、USB上のフォルダが開くことがわかります。

シンボリックリンクを停止してudevルールをコピーすることでこの問題を解決できました/etc/udev/rules.d/。推測しかできませんが、Ubuntuの起動時に起動前にsystemd-udevdシンボリックリンクが発生するため、リンクされたカスタムudevルールを読み取ることができず、マウントは失敗しますが、完全にはわかりません。誰かが理由を説明できますか?

$ lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description:    Ubuntu 14.04.5 LTS

ベストアンサー1

私もこの問題に直面しました。 udevが起動プロセスの初期に早すぎるため、インストール/home前にルートパーティションしか使用できないようです。したがって、udevがロードされると、ターゲットファイルがまだ存在しないため、シンボリックリンクが破損しているように見えます。

1つの回避策は、パーティションをマウントした後にudev構成を再ロードすることです。ただし、これにより検出されたハードウェアに新しいルールが適用されなくなります。

(起動中に存在するハードウェアにルールを適用する必要がある場合)最善の解決策は、おそらくrsyncを使用してルールをコピーし、/etc/udev/rules.d/シンボリックリンクを忘れるなど、ルールを適用する別の方法を見つけることです。

おすすめ記事