Azok, akik a “systemd-tmpfiles –purge” parancsot futtatják, és azt gondolják, hogy ez a parancs csak az ideiglenes fájlokat törli, gondolják át újra, és legyenek óvatosak. Valójában ez törli az összes fájlt és könyvtárat, amelyeket egy tmpfiles.d bejegyzés hozott létre… Beleértve a /home könyvtárat is, amelyet a systemd-tmpfiles’ home.conf hoz létre.
Az elmúlt napokban több felhasználót is érintett ez a viselkedés, amikor csak az ideiglenes fájlok eltávolítására számítottak. A systemd 256.1 verziója már elérhető, és tartalmaz egy módosítást, amely megakadályozza, hogy véletlenül töröld az összes fontos home könyvtárat.
A Mastodonon és egy systemd hibajelentésben a felhasználók meglepődtek, hogy a “systemd-tmpfiles –purge” parancs törli az összes fájlt és mappát, amelyeket egy tmpfiles.d konfigurációs fájl hozott létre, még akkor is, ha az alapértelmezett viselkedés szerint a /home is egy ilyen által létrehozott. Így azok, akik rendszerkarbantartást próbálnak végezni anélkül, hogy elolvasnák a man oldalt, azt tapasztalhatják, hogy a /home adataik törlődnek.
A hibajelentés kezdetben elutasításra került Luca Boccassi, a Microsoft systemd fejlesztője által a következő megjegyzéssel:
“Szóval, egy olyan opciót használtál, amely egyértelműen leírja, hogy ‘az összes fájl és könyvtár, amelyet egy tmpfiles.d/ bejegyzés hozott létre, törölve lesz’, és amiről semmit sem tudtál? Még csak meg sem nézted, milyen tmpfiles.d bejegyzéseid vannak előtte? Talán nem kellene véletlenszerű parancsokat futtatnod anélkül, hogy megértenéd, miközben figyelmen kívül hagyod a dokumentációt. Csak egy gondolat, nem igaz?”
Végül azonban, néhány napos vita után, a systemd-tmpfiles viselkedése javult. Tegnap egy olyan javítás került be, amely mostantól lehetővé teszi, hogy a systemd-tmpfiles elfogadjon egy konfigurációs fájlt a purge futtatásakor. Így a felhasználónak tudatosan kell megadnia azokat a konfigurációs fájlokat, amelyek alapján végül el szeretnéd távolítani a fájlokat. A dokumentációt is javították, hogy a viselkedés egyértelműbb legyen.
Ez a javítás bekerült a tegnapi systemd 256.1 pontkiadásba.