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!
kpal
10 éve, 12 hónapja és 4 napjaGyorsak 😮
darkomen
10 éve, 12 hónapja és 4 napjaNem 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.
warriorautobot
10 éve, 12 hónapja és 4 napjaElég érdekes… ha tudtak a hibáról akkor miért csak most javították?
Se baj legalább kijavították 🙂
c64fun
10 éve, 12 hónapja és 4 napjaAz 500 game nagyon durva. Ez pár éve elképzelhetetlen lett volna Linuxon! Hajrá Valve!
bvektor
10 éve, 12 hónapja és 4 napjaVan 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 😄
rdave
10 éve, 12 hónapja és 4 napjaLényegtelen miért teszik, az eredmény ugyanaz. 🙂
totyak
10 éve, 12 hónapja és 4 napjaHa a kezdetek óta ilyen hibás a rendszer, akkor annyira nem dícsérendő, hogy kijavították. Miért csak most?