Sie verwenden systemd und haben Version 256. Aktualisieren Sie jetzt, da es einen Fehler gibt, der Home-Verzeichnisse eliminiert

systemd 256 /home entfernt

Vor einigen Tagen haben wir hier im Blog die Nachricht von der Veröffentlichung der systemd-Version 256 mitgeteilt . Diese Version führte eine große Anzahl von Änderungen und neuen Funktionen ein, darunter das Dienstprogramm run0, das man als Hauptattraktion dieser Version bezeichnen könnte.

Der Grund für die Erwähnung von systemd 256 ist die Ankündigung der Veröffentlichung der korrigierten Version systemd 256.1 . Diese Version wurde veröffentlicht, um ein kritisches Problem in Version 256 zu beheben.

Dieses Problem betraf das fehlerhafte Löschen des Inhalts der /home-Partition beim Ausführen des Befehls systemd-tmpfiles --purge . Ursprünglich sollte diese Option Dateien und Verzeichnisse löschen, die durch Konfigurationen in tmpfiles.d erstellt wurden, doch das Verhalten entsprach weder der Dokumentation noch den Erwartungen der Benutzer.

Das konkrete Problem bestand darin, dass der Name „tmpfiles“ im Dienstprogramm irreführend war, da die Option `--purge` nicht nur temporäre Dateien löschte, sondern auch Verzeichnisse und Dateien betraf, die automatisch durch Konfigurationen in `tmpfiles.d` erstellt wurden. Dies schloss die automatische Erstellung von Datenverzeichnissen ein, wie beispielsweise das Home-Verzeichnis in `/home`.

Beispielsweise war die Datei /usr/lib/tmpfiles.d/home.conf für die Erstellung der Verzeichnisstruktur in /home verantwortlich, und die versehentliche Verwendung von systemd-tmpfiles --purge entfernte diese Verzeichnisse und deren Inhalt, anstatt wie erwartet nur temporäre Dateien zu bereinigen.

Aus diesem Grund wurde die Korrekturversion von systemd 256.1 veröffentlicht, um diese von Benutzern gemeldeten Inkonsistenzen und Probleme zu beheben und auch die Funktion –purge ordnungsgemäß an ihren ursprünglichen Zweck anzupassen und sicherzustellen, dass sie nur temporäre Dateien löscht und die Verzeichnisstruktur nicht beeinträchtigt erstellt durch Konfigurationen in tmpfiles.d.

Erwähnenswert ist der Vorfall mit systemd-tmpfiles und dem falschen Löschen von Verzeichnissen in der Partition /home Es war eine unglückliche Situation, die zu Diskussionen und erheblichen Korrekturen in der systemd-Implementierung führte.

Es wurden zahlreiche Warnmeldungen angezeigt, darunter Routen in /home(Konnte die Änderungszeiten nicht wiederherstellen...?). Was macht ein temporäres Bereinigungstool in meinem Home-Verzeichnis? Das ist nicht gut. Mein Herz begann schneller zu schlagen und ich drückte Strg-C so schnell ich konnte.

Es stellte sich heraus, dass ein großer Teil meines persönlichen Verzeichnisses gelöscht wurde. Glücklicherweise sieht es so aus, als ob es von den Konfigurationsdateien und nicht von den eigentlichen Daten ausging, obwohl ich immer noch nicht sicher bin, ob ich etwas Wichtiges übersehen habe. Ich habe das Gerät ausgeschaltet, um die Daten später wiederherzustellen extundelete(Übrigens hat es nicht funktioniert, es stürzt aus irgendeinem Grund sofort ab; ich habe Backups, aber sie sind etwas veraltet, ich fülle die Laufwerke zu schnell).

Die erste Reaktion von Microsoft-Systemd- Entwickler Luca Boccassi spiegelte die Frustration und Verwirrung der von dieser unbeabsichtigten Löschung betroffenen Nutzer wider. Die Implementierung einer Funktion, die laut Dokumentation alle Dateien und Verzeichnisse wahllos löschen sollte, in der Praxis aber wichtige Systemstrukturen beeinträchtigte, wurde infrage gestellt.

Nach ausführlichen Diskussionen und Rezensionen wurde es anerkannt dass das Verhalten von systemd-tmpfiles --purge war falsch und es wurden Korrekturmaßnahmen ergriffen.

Zunächst wurde darüber nachgedacht, die Option komplett abzuschaffen --purge, aber wir haben uns entschieden, seinen Geltungsbereich so einzuschränken, dass er nur Dateien und Verzeichnisse betrifft, die direkt mit einer bestimmten Konfiguration in verknüpft sind tmpfiles.d/. Diese Änderung stellt sicher, dass der Befehl nur das löscht, was gelöscht werden soll, und vermeidet so unerwünschte Nebenwirkungen auf andere Bereiche des Dateisystems.

Womit ich ein Problem habe, ist die Dokumentation. Es erklärt, was die Optionen technisch gesehen tun (naja, ich denke schon, ich weiß nicht viel über die Architektur hier), aber es erklärt nicht, warum sie das tun, was sie tun. Wenn jemand nur die Dokumentation durchblättert, scheinen alle drei Optionen dasselbe zu bewirken: Temporäre Dateien bereinigen --purgeEs scheint „vollständiger“ zu sein, da darin erwähnt wird, dass alle Dateien (einschließlich Benutzerdaten) gelöscht werden.

Zusätzlich systemd-tmpfiles-Benutzerhandbuch aktualisiert um die Option genauer zu beschreiben --purge und deutlich vor den möglichen Folgen einer unsachgemäßen Verwendung zu warnen.

Abschließend empfehlen wir Ihnen, die notwendigen Aktualisierungen durchzuführen, um ein erneutes Auftreten dieses Problems zu vermeiden. Weitere Informationen finden Sie unter folgendem Link.


Als bevorzugte Quelle in Google hinzufügen