Gumagamit ka ng systemd at mayroon kang v256, i-update ngayon, dahil mayroon itong bug na nag-aalis ng mga direktoryo ng bahay

systemd 256 inalis /home

Ilang araw na ang nakalipas, ibinahagi namin dito sa blog ang balita tungkol sa paglabas ng systemd version 256 , na isang bersyon na nagpakilala ng maraming pagbabago at mga bagong tampok, at kabilang sa mga ito ay ang run0 utility, na masasabi naming pangunahing atraksyon ng paglabas na ito.

Ang dahilan ng pagbanggit sa systemd 256 ay dahil inanunsyo na ang paglabas ng corrective version, ang systemd 256.1 . Ang bersyong ito ay inilabas upang tugunan ang isang kritikal na problema na lumitaw sa bersyon 256.

Naapektuhan ng isyung ito ang hindi wastong pagbura ng mga nilalaman ng /home partition kapag pinapatakbo ang command na systemd-tmpfiles --purge . Sa simula, ang opsyong ito ay nilayon upang burahin ang mga file at direktoryo na nilikha sa pamamagitan ng mga configuration sa tmpfiles.d, ngunit ang pag-uugali ay hindi tumutugma sa dokumentasyon at mga inaasahan ng user.

Ang partikular na problema ay ang pangalang "tmpfiles" sa utility ay nakaliligaw, dahil ang opsyong `--purge` ay hindi lamang nagbubura ng mga pansamantalang file, kundi naapektuhan din nito ang mga direktoryo at file na awtomatikong nilikha sa pamamagitan ng mga configuration sa `tmpfiles.d`. Kabilang dito ang awtomatikong paglikha ng mga direktoryo ng data, tulad ng home directory sa `/home`.

Halimbawa, ang file na /usr/lib/tmpfiles.d/home.conf ang responsable sa paglikha ng istruktura ng direktoryo sa /home, at ang hindi sinasadyang paggamit ng systemd-tmpfiles --purge ay nag-alis sa mga direktoryong ito at sa mga nilalaman nito, sa halip na linisin lamang ang mga pansamantalang file gaya ng inaasahan.

Iyon ang dahilan kung bakit ang corrective na bersyon ng systemd 256.1 ay inilabas upang malutas ang mga hindi pagkakapare-pareho at mga problemang iniulat ng mga user at upang maayos na ihanay ang –purge function sa orihinal nitong layunin, na tinitiyak na nagtatanggal lamang ito ng mga pansamantalang file at hindi makakaapekto sa istraktura ng direktoryo. nilikha sa pamamagitan ng mga pagsasaayos sa tmpfiles.d.

Ito ay nagkakahalaga ng pagbanggit na ang insidente sa systemd-tmpfiles at hindi tamang pagtanggal ng mga direktoryo sa partition /home Ito ay isang kapus-palad na sitwasyon na nakabuo ng debate at makabuluhang pag-aayos sa pagpapatupad ng systemd.

Maraming mga mensahe ng babala ang nagsimulang lumitaw, kabilang ang mga ruta sa /home(hindi maibalik ang mga oras ng pagbabago...?). Ano ang ginagawa ng pansamantalang tool sa paglilinis sa aking home directory? Hindi maganda yun. Nagsimulang bumilis ang tibok ng puso ko at pinindot ko ang Ctrl-C sa abot ng aking makakaya.

Lumalabas na ang isang magandang bahagi ng aking personal na direktoryo ay tinanggal. Sa kabutihang palad, mukhang nagsimula ito sa mga file ng pagsasaayos at hindi sa aktwal na data, bagaman hindi pa rin ako sigurado kung may napalampas akong mahalagang bagay. Pinatay ko ang makina para mabawi ang data mamaya extundelete(btw, it didn't work, it crash instantly for some reason; I have backups, pero medyo outdated na sila, sobrang bilis kong napupuno ang mga drive).

Ang unang tugon mula sa developer ng systemd ng Microsoft na si Luca Boccassi ay sumasalamin sa pagkadismaya at pagkalito ng mga user na naapektuhan ng hindi sinasadyang pagbura na ito. Ang pagpapatupad ng isang feature na, ayon sa dokumentasyon, ay dapat na magbura ng lahat ng file at directory nang walang pinipili, ngunit sa pagsasagawa ay nakakaapekto sa mahahalagang istruktura ng system, ay pinagdudahan.

Pagkatapos ng malawak na talakayan at pagsusuri, nakilala ito na ang pag-uugali ng systemd-tmpfiles --purge ay hindi tama at nagsagawa ng pagwawasto.

Sa una ito ay itinuturing na ganap na alisin ang pagpipilian --purge, ngunit pinili naming paghigpitan ang saklaw nito upang maapektuhan lamang nito ang mga file at direktoryo na direktang nauugnay sa isang partikular na configuration sa tmpfiles.d/. Tinitiyak ng pagbabagong ito na tatanggalin lamang ng utos ang nilalayon nitong tanggalin, kaya iniiwasan ang mga hindi gustong epekto sa ibang mga bahagi ng file system.

Ang mayroon akong problema ay ang dokumentasyon. Ipinapaliwanag nito kung ano ang ginagawa ng mga pagpipilian, sa teknikal na pagsasalita (mabuti, sa palagay ko, hindi ko alam ang tungkol sa arkitektura dito), ngunit hindi nito ipinapaliwanag kung bakit nila ginagawa ang kanilang ginagawa. Kapag ang isang tao ay nagba-browse lamang sa dokumentasyon, ang lahat ng tatlong mga pagpipilian ay tila ginagawa ang parehong bagay: linisin ang mga pansamantalang file, bagaman --purgeMukhang "mas kumpleto" dahil binanggit nito na tinatanggal nito ang lahat ng mga file (kabilang ang data ng user).

Bukod dito, Na-update ang manwal ng gumagamit ng systemd-tmpfiles upang magbigay ng mas tumpak na paglalarawan ng opsyon --purge at malinaw na magbigay ng babala tungkol sa mga posibleng kahihinatnan ng maling paggamit nito.

Panghuli, inirerekomenda namin ang pagsasagawa ng mga kinakailangang pag-update upang maiwasan ang parehong sitwasyon. Kung interesado kang matuto nang higit pa , makikita mo ang mga detalye sa sumusunod na link.


Idagdag bilang ginustong mapagkukunan sa Google