
Ich habe einige Einträge in geschrieben /etc/fstab
, zum Beispiel die Montage auf /tmp
.
Es scheint, dass systemd /etc/fstab
Einträge zu spät mountet, nachdem einige Daemons bereits gestartet sind, zum Beispiel Xorg.
Xorg erstellt .X11-unix
in /tmp
, dann mountet systemd auf /tmp
, sodass Dateien, die sich bereits in /tmp
befinden, verschwinden. Das führt dazu, dass einige Programme nicht mit X kommunizieren können.
Wie kann ich /etc/fstab
Einträge frühzeitig mounten? Oder sollte ich etwas anderes als verwenden /etc/fstab
?
Antwort1
Dies lässt darauf schließen, dass die Unit-Datei, die Xorg startet, nicht über ausreichende Abhängigkeiten verfügt und systemd
es deshalb zu früh ausführt.
Zumindest unter Debian unterliegen lokale Dateisystem-Mounts automatisch einer Reihenfolgeabhängigkeit Before=local-fs.target
, und dies local-fs.target
ist erwünscht, da sysinit.target
das Kommando für die frühe Systeminitialisierung verantwortlich ist, sodass alle lokalen Dateisysteme gemountet sein sollten, wenn sysinit.target
dies abgeschlossen ist.
Und sofern die Einheit, die Xorg startet, nicht über und verfügt, DefaultDependencies=no
wird sie implizit sowohl über Requires=sysinit.target
als auch verfügen After=sysinit.target
, daher sollte sie erst starten, nachdem sysinit.target
abgeschlossen ist. Nur Einheiten, die für die Systeminitialisierung auf niedriger Ebene verantwortlich sind, sollten über verfügen DefaultDependencies=no
.
Wenn es /tmp
sich jedoch um ein Remote-Dateisystem handelt, müssen Sie möglicherweise eine After=remote-fs.target
Abhängigkeit zur Einheit hinzufügen, die Xorg startet. Am einfachsten geht das, indem Sie systemctl edit
es bearbeiten, wodurch systemctl
automatisch eine Drop-In-Datei mit Ihren Änderungen (nur) in erstellt wird /etc/systemd/system/<name of the Xorg-starting unit>.d/
.
Sie sollten den Namen und die Version Ihrer Linux-Distribution angeben, damit systemd
Ihnen jemand, der mit den Konfigurationsmängeln dieser bestimmten Version vertraut ist, eine gezieltere Antwort geben kann.