Die korrigierte Version des Systemmanagers systemd 256.1 wurde veröffentlicht, in der ein Problem behoben wurde, das zum Löschen des Inhalts des Verzeichnisses /home fĂŒhrte, wenn der Befehl âsystemd-tmpfiles âpurgeâ ausgefĂŒhrt wurde, der in systemd 256 hinzugefĂŒgt wurde, um alle Dateien und Verzeichnisse zu entfernen, die ĂŒber die Einstellungen in tmpfiles.d erstellt wurden.
In den Release-Anmerkungen zu systemd 256 und im man-Dokument zu systemd-tmpfiles wurde angegeben, dass die Option ââpurgeâ alle Dateien und Verzeichnisse löscht, die ĂŒber die tmpfiles.d-Einstellungen erstellt wurden, aber der Name âtmpfilesâ in der Bezeichnung des Tools fĂŒhrte zu Verwirrung und erweckte den Eindruck, dass die Löschung nur temporĂ€re Dateien betrifft.
Die Einstellungen von tmpfiles.d beschrĂ€nken sich jedoch nicht auf temporĂ€re Dateien und werden auch verwendet, um nicht vorhandene Verzeichnisse mit Daten automatisch zu erstellen. Insbesondere wird das Löschen des Inhalts der Home-Verzeichnisse dadurch erklĂ€rt, dass mit der Datei â/usr/lib/tmpfiles.d/home.confâ das Verzeichnis â/homeâ erstellt wurde und daher der Befehl âsystemd-tmpfiles âpurgeâ zu dessen Löschung fĂŒhrte.
UrsprĂŒnglich wurde die Fehlermeldung von Luca Boccassi, einem Entwickler von systemd bei Microsoft, folgendermaĂen zurĂŒckgewiesen: âWar das also eine gute Idee, eine Funktion zu implementieren, die wörtlich dokumentiert ist als âalle Dateien und Verzeichnisse, die durch den Eintrag tmpfiles.d/ erstellt wurden, werden gelöschtâ, von der Sie nichts wussten? Hast du dir wenigstens die tmpfiles.d-EintrĂ€ge angesehen, die du vorher hattest? Vielleicht sollte man einfach keine zufĂ€lligen Befehle ausfĂŒhren, von denen man nichts weiĂ, und dabei ignorieren, was die Dokumentation sagt? Nur ein Gedanke, aha.â In seiner Antwort wurde darauf hingewiesen, dass im Dokumentationstext das Tool systemd-tmpfiles immer noch als âWerkzeug zum Erstellen, Löschen und Bereinigen von nicht permanente und temporĂ€ren Dateien und Verzeichnissenâ beschrieben wird, obwohl das schon lange nicht mehr zutrifft.
Letztendlich wurde nach langen Diskussionen in den letzten Tagen das Verhalten von systemd-tmpfiles als fehlerhaft anerkannt und geĂ€ndert. ZunĂ€chst beabsichtigten die Entwickler von systemd, die Option "âpurge" zu entfernen, um das versehentliche Löschen von Home-Verzeichnissen auszuschlieĂen. Danach beschlossen sie jedoch eine Ănderung, die den Geltungsbereich des Befehls "systemd-tmpfiles âpurge" einschrĂ€nkt â dieser Befehl kann nun nur noch ausdrĂŒcklich mit einer bestimmten Konfigurationsdatei aus tmpfiles.d/ in der Befehlszeile ausgefĂŒhrt werden und fĂŒhrt lediglich zur Löschung der damit verbundenen Dateien und Verzeichnisse. DarĂŒber hinaus wurde die man-Seite von systemd-tmpfiles um eine detailliertere Beschreibung der Option und eine Warnung ĂŒber mögliche Konsequenzen ergĂ€nzt.
Quelle: opennet.ru
