Warum gibt es 2 udev rules Ordner?

Hinweis: In dem Thema Warum gibt es 2 udev rules Ordner? gibt es 6 Antworten. Der letzte Beitrag () befindet sich ganz unten auf dieser Seite.
  • Warum gibt es eigentlich 2 udev rules Ordner?

    Nämlich /usr/lib/udev/rules.d und /etc/udev/rules.d/

    Werden die Regeln in beiden Ordnern ausgeführt, oder müssen die ggf. erst nach /etc/udev/rules.d/ kopiert werden?


    Gruß

  • Man muss normalerweise nichts kopieren. Beide werden gelesen und in der Reihenfolge der Zahlen vorn im Namen abgearbeitet ... also nicht erst die eine Directory und dann die andere. Bei gleichem Namen wird nur das aus "/etc" genommen. Das in /etc ist die Spielwiese des lokalen Administrators und das in /usr ist die des Distributors. Wenn man also irgendwas ändern will, das nur in /usr vorkommt, dann kopiert man es nach /etc und ändert dann dort.

    Für den Inhalt des Beitrages 290492 haftet ausdrücklich der jeweilige Autor: Welm

  • Welm

    Fast richtig. Zuerst werden die Konfigurationen aus /etc/ gelesen. Sind dort Konfigurationen vorhanden (vom User erstellt), werden diese verwendet. Sind dort keine vorhanden, werden die Konfigurationen aus /usr/ (welche übrigens bei jedem Update eines entsprechenden Services/Paketes überschrieben werden) gelesen. Deswegen sollte man Änderungen, um diese dauerhaft zu machen, immer in /etc/ (im entsprechenden Unterverzeichnis) speichern. Dazu kopiert man am Besten die entsprechende Datei von /usr/ nach /etc/ und editiert die dort. Dann bleibt diese Änderung auch nach Updates erhalten.

    Das gilt auch für dieses Problem.

    Bei openSUSE läuft schon die Umstellung des Verzeichnisses /etc/ nach /usr/etc/. Dies wird in naher Zukunft passieren.

  • Welm

    Fast richtig. Zuerst werden die Konfigurationen aus /etc/ gelesen. Sind dort Konfigurationen vorhanden (vom User erstellt), werden diese verwendet. Sind dort keine vorhanden, werden die Konfigurationen aus /usr/ (...) gelesen.

    Tja. Ich bin tatsächlich nicht der Ansicht, dass die rules aus /usr nur gelesen werden, wenn es keine in /etc gibt. Und ich bin tatsächlich nicht der Ansicht, dass die Rules aus /etc verwendet werden bevor die rules aus /usr gelesen wurden.

    Für den Inhalt des Beitrages 290501 haftet ausdrücklich der jeweilige Autor: Welm

  • Welm

    Dann beantworte mir bitte mal folgende Frage :

    Wie machst du Änderungen, die ein Update überleben, wenn diese Konfigurationsdateien in /usr/ doch Bestandteil des zu aktualisierenden Paketes sind (siehe Dateiliste)?

    Die Nummerierungen (00-*.conf, 10-*.conf usw) dienen dazu, dass diese Konfigurationen, sofern nötig, in einer bestimmten Reihenfolge abgearbeitet werden. Das dürfte aber nur in Ausnahmefällen überhaupt notwendig sein, da eine Stärke von systemd (im Vergleich zu sysvinit) ist, dass die Dienste (falls möglich) parallelisiert gestartet werden.

  • Zu deiner Frage:

    Warum gibt es eigentlich 2 udev rules Ordner?

    Nämlich /usr/lib/udev/rules.d und /etc/udev/rules.d/

    Standardregeln: /usr/lib/udev/rules.d/

    Systemspezifische Konfiguration: /etc/udev/rules.d


    Ereignisse werden mit allen Regeln abgeglichen, die in den Verzeichnissen /usr/lib/udev/rules.d/ (Standardregeln) und /etc/udev/rules.d (systemspezifische Konfiguration) enthalten sind.


    Jedes Mal, wenn ein Gerät hinzugefügt oder entfernt wird, sendet der Kernel ein uevent, um udev über die Änderung zu informieren. Der udev-Dämon liest und parst beim Start alle Regeln aus den Dateien /usr/lib/udev/rules.d/*.rules und /etc/udev/rules.d/*.rules und lädt sie dauerhaft in den Speicher.


    Siehe hier:

    https://documentation.suse.com…admin/index.html#cha-udev


    Und hier:

    https://doc.opensuse.org/docum…e-reference/cha-udev.html

    Für den Inhalt des Beitrages 290503 haftet ausdrücklich der jeweilige Autor: sterun

  • Welm

    Dann beantworte mir bitte mal folgende Frage :

    Wie machst du Änderungen, die ein Update überleben, wenn diese Konfigurationsdateien in /usr/ doch Bestandteil des zu aktualisierenden Paketes sind (siehe Dateiliste)?

    Das machen wir beide doch völlig gleich. Ich hab den Eindruck, dass Du auf Stichworte reagierst und nicht auf das, was ich tatsächlich geschrieben habe.

    Für den Inhalt des Beitrages 290504 haftet ausdrücklich der jeweilige Autor: Welm