Objavljen je ispravak sustavnog upravitelja systemd 256.1, koji otklanja problem koji je uzrokovao brisanje sadržaja direktorija /home prilikom izvršavanja naredbe «systemd-tmpfiles —purge», dodane u systemd 256 za uklanjanje svih datoteka i direktorija stvorenih putem postavki u tmpfiles.d.
U bilješkama o izdanju systemd 256 i u man-u za systemd-tmpfiles navedeno je da opcija «—purge» uklanja sve datoteke i direktorije stvorene putem postavki tmpfiles.d, no naziv «tmpfiles» u nazivu alata zavaravao je i stvorio dojam da se brisanje odnosi samo na privremene datoteke.
Postavke tmpfiles.d nisu ograničene samo na privremene datoteke, već se također koriste za automatsko stvaranje nepostojećih direktorija s podacima. Konkretno, brisanje sadržaja korisničkih direktorija objašnjava se time da je putem datoteke «/usr/lib/tmpfiles.d/home.conf» stvoren direktorij «/home», te je stoga naredba «systemd-tmpfiles —purge» dovela do njegovog brisanja.
Prvotno je poruku o grešci odbacio Luca Boccassi, razvojni inženjer systemda iz Microsofta, riječima: «Dakle, funkcija koja je doslovno dokumentirana kao ‘sve datoteke i direktoriji stvoreni zapisom tmpfiles.d/ bit će obrisani’, o kojoj niste imali pojma, zvučala je kao ‘dobra ideja’? Jeste li barem pogledali koje ste zapise tmpfiles.d imali unaprijed? Možda ne biste trebali samo pokretati slučajne naredbe o kojima ne znate ništa, ignorirajući pritom ono što vam govori dokumentacija? Samo misao, aha». Kao odgovor mu je ukazano na to da se u dokumentaciji alat systemd-tmpfiles još uvijek opisuje kao ‘alat za stvaranje, brisanje i čišćenje nepostojanih i privremenih datoteka i direktorija’, unatoč tome što to već odavno nije točno.
Konačno, nakon dugih rasprava u posljednjih nekoliko dana, ponašanje systemd-tmpfiles je ipak priznano kao greška i promijenjeno. U početku su developeri systemd namjeravali ukloniti opciju "--purge" kako bi spriječili pogrešno brisanje korisničkih direktorija, ali su potom odlučili promijeniti opseg naredbe "systemd-tmpfiles --purge" — ova naredba se sada može izvršiti samo ako je izričito navedena u naredbenom retku kao konkretna datoteka konfiguracije iz tmpfiles.d/ i dovest će do brisanja samo povezanih datoteka i direktorija. Osim toga, u man-stranice systemd-tmpfiles dodano je detaljnije objašnjenje opcije i upozorenje o mogućim posljedicama.
Izvor: opennet.ru
