Ich habe MySQL auf meinem Arch Linux Server installiert. Ich habe das Datenverzeichnis an einen Ort unter / home verschoben, an dem mein RAID-Volume bereitgestellt ist. Ich habe festgestellt, dass mysqld in dieser Konfiguration standardmäßig nicht gestartet wird, da die systemd-Einheit die Einstellung enthält ProtectHome=true
.
Ich möchte nur diese Einstellung überschreiben . Ich möchte die ExecStart
oder ähnliche Befehle nicht erneut angeben , falls sie sich beim Upgrade des Pakets ändern.
Ich habe versucht, eine einfache Datei bei /etc/systemd/system
aufgerufen zu erstellen mysqld.service
und nur diese Zeilen hinzugefügt:
[Service]
ProtectHome=false
Dies funktioniert nicht, da der Dienst in / etc den Systemdienst ersetzt und nicht überschreibt.
Gibt es eine Möglichkeit, Einstellungen in systemd-Einheitendateien auf diese Weise zu überschreiben, ohne die Dateien in / usr / lib / systemd / system direkt zu ändern? (was ich jetzt als vorübergehende Korrektur getan habe, obwohl dies am Ende zurückgesetzt wird, wenn das Paket aktualisiert wird)
Antworten:
Sie können eine systemd-Einheitendatei mit überschreiben
Alle in der Überschreibungsdatei gemachten Anweisungen haben Vorrang.
quelle
systemctl edit
erstellt eine Drop-In- Datei, in der Sie die meisten Einstellungen überschreiben können. Diese Dateien enthalten jedoch einige erwähnenswerte Besonderheiten:Verwenden Sie
systemctl edit --full
diese Option, um die gesamte Einheit zu überschreiben./etc
Wenn noch keine vorhanden ist , wird eine Kopie erstellt, und Sie können sie bearbeiten.Siehe auch Systemd-Löschüberschreibungen
quelle
ExecStart