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

2015. január 18.
1.7631
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

10 éve, 26 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

10 éve, 26 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 röhögő smiley
Lényegtelen miért teszik, az eredmény ugyanaz. mosolygó smiley

válasz erre

Bvektor

10 éve, 26 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 röhögő smiley

válasz erre

C64 fun

10 éve, 26 napja

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

válasz erre

WarriorAutobot

10 éve, 26 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 mosolygó smiley

válasz erre

darkomen

10 éve, 26 napja

kpal írta:
Gyorsak meglepett smiley
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

10 éve, 26 napja

Gyorsak meglepett smiley

válasz erre
 
legutóbbi hozzászólások
 
M.O.R.P.H. profilja