Megjelent a systemd 256.1-es számú javító frissítése, amely orvosolja azt a problémát, amely a /home könyvtár tartalmának törléséhez vezetett a «systemd-tmpfiles —purge» parancs futtatásakor. Ezt a parancsot a systemd 256-ba adták hozzá a tmpfiles.d beállítások szerint létrehozott összes fájl és könyvtár eltávolítására.
A systemd 256-os verzió kiadási megjegyzésében és a systemd-tmpfiles man oldalán jelezték, hogy a «—purge» opció eltávolít minden, a tmpfiles.d beállítások révén létrehozott fájlt és könyvtárat, de a «tmpfiles» név a segédprogram nevében félrevezető volt, és azt az érzetet keltette, hogy a törlés csak ideiglenes fájlokra vonatkozik.
Ezenkívül a tmpfiles.d beállítások nem korlátozódnak az ideiglenes fájlokra, hanem arra is szolgálnak, hogy automatikusan létrehozzák a nem létező könyvtárakat. Különösen a felhasználói könyvtárak tartalmának törlése azért következett be, mert a «/usr/lib/tmpfiles.d/home.conf» fájl segítségével a «/home» könyvtárat hozták létre, és ennek következtében a «systemd-tmpfiles —purge» parancs a törléséhez vezetett.
Kezdetben a hibaüzenetet Luca Boccassi, a Microsoft systemd fejlesztője így utasította el: «Így tehát a funkció, amelyet szó szerint dokumentálnak, hogy «minden fájl és könyvtár, amelyet a tmpfiles.d bejegyzés hozott létre, törölve lesz», amit te erről nem tudtál, jó ötletnek tűnt? Legalább utánanéztél, hogy milyen tmpfiles.d bejegyzések voltak előzetesen? Talán nem kellene véletlenszerű parancsokat futtatnod, amikről nem tudsz semmit, figyelmen kívül hagyva azt, amit a dokumentáció mond? Csak egy gondolat, hmm.» Erre válaszként felhívták a figyelmét arra, hogy a systemd-tmpfiles dokumentációja még mindig úgy írja le az eszközt, mint «az ideiglenes és múlékony fájlok és könyvtárak létrehozására, törlésére és tisztítására szolgáló eszköz», annak ellenére, hogy ez már régen nem felel meg a valóságnak.
Végül, a napok hosszas megbeszélései után, a systemd-tmpfiles viselkedését tévesnek ismerték el és megváltoztatták. Kezdetben a fejlesztők azt tervezték, hogy eltávolítják a "--purge" opciót, hogy elkerüljék a felhasználói könyvtárak hibás törlését, de végül azt a változtatást fogadták el, amely korlátozza a "systemd-tmpfiles --purge" parancs hatókörét — ez a parancs mostantól csak akkor hajtható végre, ha egy adott konfigurációs fájlt kifejezetten megadnak a parancssorban a tmpfiles.d/ mappából, és csak az ahhoz kapcsolódó fájlok és könyvtárak törlését eredményezi. Ezen kívül a systemd-tmpfiles kézikönyvébe részletesebb leírást és figyelmeztetést is hozzáadtak a lehetséges következményekről.
Forrás: opennet.ru
