En rettet version af system manageren systemd 256.1 er udgivet, hvori et problem er løst, der førte til sletning af indholdet i /home mappen ved udførelsen af kommandoen «systemd-tmpfiles —purge», som blev tilføjet i systemd 256 for at fjerne alle filer og mapper oprettet via indstillinger i tmpfiles.d.
I udgivelsesnotaterne til systemd 256 og i man-siden for systemd-tmpfiles blev det angivet, at indstillingen «—purge» fjerner alle filer og mapper oprettet via tmpfiles.d indstillinger, men navnet «tmpfiles» i værktøjets titel kunne fejlinformere og give indtryk af, at sletningen kun vedrørte midlertidige filer.
Desuden er indstillingerne i tmpfiles.d ikke begrænset til midlertidige filer og bruges også til automatisk at oprette ikke-eksisterende kataloger med data. Særligt bliver sletningen af indholdet i hjemme-katalogerne forklaret med, at der via filen «/usr/lib/tmpfiles.d/home.conf» blev oprettet en partition «/home», og dermed førte kommandoen «systemd-tmpfiles —purge» til dens sletning.
Oprindeligt blev fejlen afvist af Luca Boccassi, udvikleren af systemd fra Microsoft, på denne måde: «Hvordan kunne en funktion, der bogstaveligt er dokumenteret som «alle filer og mapper oprettet af tmpfiles.d/ vil blive slettet», som du ikke vidste noget om, lyde som en «god idé»? Tog du i det mindste et kig på, hvilke tmpfiles.d poster du havde i forvejen? Måske skal du ikke bare køre vilkårlige kommandoer, som du ikke ved noget om, mens du ignorerer, hvad dokumentationen fortæller dig? Bare en tanke, ah.» I svaret blev der peget på, at i dokumentationen beskrives værktøjet systemd-tmpfiles stadig som «et værktøj til at oprette, slette og rydde op i flygtige og midlertidige filer og mapper», selvom dette længe har været en uaktuel beskrivelse.
Efter mange dages diskussioner er systemd-tmpfiles' opførsel blevet anerkendt som problematisk og ændret. Oprindeligt havde udviklerne af systemd til hensigt at fjerne indstillingen "—purge" for at undgå utilsigtet sletning af hjemmekataloger, men de besluttede i stedet at ændre kommandoens anvendelse. Nu kan kommandoen "systemd-tmpfiles --purge" kun udføres, hvis der specifikt angives en konfigurationsfil fra tmpfiles.d i kommandolinjen, og den vil kun fjerne de relaterede filer og kataloger. Derudover er der tilføjet en mere detaljeret beskrivelse af indstillingen og en advarsel om mulige konsekvenser i man-siden for systemd-tmpfiles.
Kilde: opennet.ru
