Adatvesztéssel járó hibát javítottak a Steam for Linux-ban

2015. január 18.
1.4501
Figyelem! Ez a hír már több, mint egy éves! A benne lévő információk elavultak lehetnek!
darkomen profilja, adatai
darkomen
A Valve üzletpolitikájának köszönhetően a Steam rendszer immáron két éve elérhető a Linux-ot használó játékosok számára és 500-nál több játék támogatja a rendszert.

A Valve a napokban javított egy igazán súlyos hibát a Steam for Linux-ban mely a rendszeren belül minden felhasználói adat elvesztésével járt.

A Linux-os Steam futtatásáért egy steam.sh nevezetű bash script felel és ebben található a következő sor: rm -rf "$STEAMROOT/"*

Akik nem jártasak a Linux parancsok terén azoknak lebontva:
Az rm paranccsal lehet fájlt törölni és az -rf kapcsolókkal együtt könyvtárat és annak teljes tartalmát. A $STEAMROOT egy változó, mely tárolja a Steam könyvtár helyét.

A Valve hivatalos GitHub tárolóján feltűnt egy hibajegy mely arról számolt be, hogy egy Steam indítás hibába ütközött és újratelepítés után a rendszerről eltűnt minden felhasználói adat. A bejelentés után egyre többen számoltak be hasonló esetről.

Mint kiderült, ezt a fenti sor idézte elő, mely csak újratelepítés vagy a Steam adatok eltávolításakor futna le, ugyanis ha valami miatt a Steam nem tudta beolvasni a Steam könyvtár helyét, akkor üresen hagyta a változót és a parancs úgy hajtódott végre, hogy rm -rf /* mely annyit tesz, hogy a rendszeren belül minden fájlt töröl amihez a felhasználónak írási joga van.

A Valve szerencsére már javította a hibát és a fenti sort kiegészítették egy vizsgálattal mely megnézi, hogy üres-e a $STEAMROOT változó és ha igen akkor nem hajtja végre a parancsot.

Egyébként az eredeti kód érdekessége, hogy az említett parancs fölött egy rövid, de annál frappánsabb hozzászólást hagytak a fejlesztők: SCARY!
7 hozzászólás

totyak

5 éve, 2 hónapja

Ha a kezdetek óta ilyen hibás a rendszer, akkor annyira nem dícsérendő, hogy kijavították. Miért csak most?

válasz erre

rDAVE

5 éve, 2 hónapja

Bvektor írta:
Van egy olyan érzésem, hogy őket főként nem a Linuxot használó gamerek érdeklik, ha a saját Linux alapú OSüket nyomnák
Lényegtelen miért teszik, az eredmény ugyanaz.

válasz erre

Bvektor

5 éve, 2 hónapja

Van egy olyan érzésem, hogy őket főként nem a Linuxot használó gamerek érdeklik, ha a saját Linux alapú OSüket nyomnák

válasz erre

C64 fun

5 éve, 2 hónapja

Az 500 game nagyon durva. Ez pár éve elképzelhetetlen lett volna Linuxon! Hajrá Valve!

válasz erre

WarriorAutobot

5 éve, 2 hónapja

Elég érdekes... ha tudtak a hibáról akkor miért csak most javították?
Se baj legalább kijavították

válasz erre

darkomen

5 éve, 2 hónapja

kpal írta:
Gyorsak
Nem kellett sok mindent csinálniuk. Ez lett az új kód:
# Check before removing
if [ "$STEAMROOT" != "" ]; then
rm -rf "$STEAMROOT/"*
fi

A hibás kód amúgy már szinte kezdetek óta benne van, csak most jelentették.

válasz erre

kpal

5 éve, 2 hónapja

Gyorsak

válasz erre
legutóbbi hozzászólások
 

Itt is rontjuk a levegőt

gery1113 profiljarDAVE profiljaM.O.R.P.H. profiljaManiac profilja