Vous êtes nouveau sur Developpez.com ? Créez votre compte ou connectez-vous afin de pouvoir participer !

Vous devez avoir un compte Developpez.com et être connecté pour pouvoir participer aux discussions.

Vous n'avez pas encore de compte Developpez.com ? Créez-en un en quelques instants, c'est entièrement gratuit !

Si vous disposez déjà d'un compte et qu'il est bien activé, connectez-vous à l'aide du formulaire ci-dessous.

Identifiez-vous
Identifiant
Mot de passe
Mot de passe oublié ?
Créer un compte

L'inscription est gratuite et ne vous prendra que quelques instants !

Je m'inscris !

Steam : un bug supprime tous les fichiers des utilisateurs
Sur les distributions Linux

Le , par Amine Horseman

4PARTAGES

4  0 
Les utilisateurs de Steam, le célèbre outil de Valve Software qui permet aux gamers de télécharger, jouer et gérer la liste de leurs jeux vidéo sur PC, ont reporté il y a quelques jours de cela, un bug assez inquiétant sur la version Linux de l’outil. En effet, il semblerait qu'un défaut au niveau du code causerait la suppression de tous les fichiers liés au compte de l'utilisateur.

Selon le rapport d'erreur, le fait de déplacer Steam vers un autre emplacement dans le système de fichiers, puis de tenter de lancer le client de nouveau finit par exécuter la commande suivante : « rm -rf /* ». Cette commande, connue par tous les utilisateurs du Shell, a pour effet d'effacer de manière récursive tous les fichiers à partir du répertoire racine, ce qui implique tous les fichiers de l'utilisateur, mais aussi les lecteurs de sauvegarde montés et/ou partagés en réseau, à l'exception des fichiers systèmes appartenant au super-utilisateur « root » qui sont conservés.

« Il s'est réinstallé et tout avait l'air super. Jusqu'à ce que j'ai regardé et vu qu'il avait apparemment tout supprimé, y compris mes 3 To de fichiers sur mon disque dur externe », s'exclama un utilisateur sur GitHub.

Après vérification, la cause du bug a été détectée. Il s'agit d'une simple négligence qu'on peut voir dans le code suivant :

Code : Sélectionner tout
1
2
# Scary!
rm -rf "$STEAMROOT/"*
Comme on peut le voir, le contenu de la variable $STEAMROOT n'est pas vérifié. Si celle-ci était vide, le code causerait effectivement l'appel à la suppression des fichiers à partir du répertoire racine « / ». A remarquer que le commentaire #Scary (ie: effrayant) laisse penser que le programmeur savait qu'il y avait un risque qu'une telle chose puisse se produire. On attend toujours la réaction de Valve Software.

En attenant, il est conseillé aux utilisateurs d'éviter de déplacer le répertoire Steam et de s'assurer d'avoir une copie de ses fichiers au cas où …

Source : GitHub

Et vous ?

Êtes-vous un utilisateur de Steam sur Linux ?

Avez-vous rencontré un problème similaire ?

Une erreur dans cette actualité ? Signalez-le nous !

Avatar de kiprok
Membre averti https://www.developpez.com
Le 20/01/2015 à 16:37
Conditions d'utilisation de Steam : ... aucune garantie quant à la non perte de tout ou partie de vos disques dur...
ça en jette comme CU
4  0 
Avatar de Dabou Master
Membre expert https://www.developpez.com
Le 20/01/2015 à 22:02
Citation Envoyé par AoCannaille Voir le message
Au fond la vérité c'est que Steam est portable (dans le sens déplaçable) sous Linux alors que sous Windows je suis sûr qu'il doit générer 50 fois plus de problèmes
Je ne sais pas si c'est du troll ou si c'est sincère, ou si tout simplement tu détestes Windows (je ne juge pas, chacun fait ce qu'il veut tant que ça lui convient) mais personnellement j'ai été brutal ... TRES brutal avec tout un tas d'OS ayant pour nom Windows, pendant des années, et j'y ai jamais perdu de plumes (bon ok, ça aide de ne pas en avoir). Pour ce qui est de steam notamment, je suis toujours émerveillé de voir comment la bestiole s'en fiche que je la trimballe de disque dur en disque dur sans jamais se plaindre, parce que quand je déplace la steam, c'est près de 500 jeux qui bougent en même temps, ça laisse songeur non ? ^^
L'époque où on n'avait plus rien qui marchait dès qu'on formatait la partition système est révolue. Il faut dire ... l'époque où l'on avait besoin de formater la partition système est révolue aussi donc bon ...
4  0 
Avatar de kolodz
Modérateur https://www.developpez.com
Le 20/01/2015 à 17:23
Citation Envoyé par Max Lothaire Voir le message
Ou comment éviter les retombés judiciaires dues à un bug sans le corriger...

Faut voir ce qu'en penserait un juge. Parceque là, si j'ai bien compris, c'est une acion normalement simple, effectué par l'utilisateur, qui entraine la perte de données...
I am not sure what happened. I moved the folder in the title(~/.local/share/steam) to a drive mounted under /media/user/BLAH and symlinked /home/user/.local/steam to the new location.

I launched steam. It did not launch, it offered to let me browse, and still could not find it when I pointed to the new location. Steam crashed. I restarted it.
Si tu appel ça une action "normale"...
La personne a déplacé "à la barbare" un répertoire Steam. Ce n'est pas réellement un cas d'utilisation "normal".

Je ne comprends pas bien la logique du juge... Je doute que cela soit dans l'esprit des utilisateurs Linux (pas ceux que je connais du moins).

Steam sur Linux a 2 ans et ça doit fait un an que celui-ci n'est plus en Bêta. Les manipulations "barbares" n'ont pas toutes été testé...
2  0 
Avatar de kolodz
Modérateur https://www.developpez.com
Le 20/01/2015 à 11:20
Pourtant, c'est dans le premier cours d'unix/linux. Le -rf, c'est une arme de destruction massive. Si tu n'es pas prudent avec et que fait une boulet...
Tu t'en mors les doigts que tu n'as plus avec les dents que tu n'as plus non plus

On regarde qui a fait le commit et chasse à l'homme ?

Note le lien est cassé :
Celui-ci redirige vers => http://https//github.com/ValveSoftwa...ux/issues/3671
Bon lien => https://github.com/ValveSoftware/ste...ux/issues/3671
1  0 
Avatar de Tryph
Membre émérite https://www.developpez.com
Le 20/01/2015 à 13:07
Citation Envoyé par Amine Horseman Voir le message
En attenant, il est conseillé aux utilisateurs d'éviter de déplacer le répertoire Steam et de s'assurer d'avoir une copie de ses fichiers au cas où …
hé hé, je me suis déjà fait avoir comme ça par un de mes propres scripts

mais bon après, en cherchant "safe rm" sur son moteur de recherche préféré, on peut trouver des outils pour éviter ce genre de déconvenue.
1  0 
Avatar de kolodz
Modérateur https://www.developpez.com
Le 20/01/2015 à 18:03
Citation Envoyé par AoCannaille Voir le message
Chez un Linuxien c'est normale comme Manip
J'avoue que j'y crois moyen.

Citation Envoyé par AoCannaille Voir le message
Au fond la vérité c'est que Steam est portable (dans le sens déplaçable) sous Linux alors que sous Windows je suis sûr qu'il doit générer 50 fois plus de problèmes
La manipulation est réalisable depuis l'IHM de Steam... Cela pour Windows et Linux... C'est ce qu'explique l'une des personnes dans la source que personne n'a lu visiblement...
1  0 
Avatar de Jonyjack
Membre averti https://www.developpez.com
Le 21/01/2015 à 10:23
Citation Envoyé par AoCannaille Voir le message
Effectivement je n'ai pas été assez clair : je parlais bien de la comparaison du nombre de bugs générés par un déplacement brutal sous linux et sous windows. Effectivement si on laisse le logiciel le faire proprement c'est attendu que ça ne génère pas de bugs...
J'ai bien fait un déplacement brutal de mon Steam sur Windows 8.1. Ma partition Système n'est pas assez grande pour accueillir les jeux (et elle n'est pas prévue pour).
Alors au lieu de chercher j'ai fait un couper/coller et ça fonctionne nickel.
1  0 
Avatar de Pierre GIRARD
Expert éminent https://www.developpez.com
Le 23/01/2015 à 14:51
Citation Envoyé par vohufr Voir le message
...Évidement, selon la distribution, il n'est pas possible de faire pareil avec les dossiers "système", quoi que..., pas grand chose l'empêche finalement. Sous linux tout est modifiable sans altérer le fonctionnement, tant qu'on comprend ce qu'on fait...
Faut juste rester prudent quand on est "root" et encore plus prudent si on est sur un serveur en exploitation.
1  0 
Avatar de Max Lothaire
Membre confirmé https://www.developpez.com
Le 20/01/2015 à 15:02
Franchement... Personne chez Valve d'a pensé à vérifier ? Si ça m'était arriver, je n'aurais pas hésiter une seconde à me retourner contre Valve.
0  0 
Avatar de vohufr
Membre éclairé https://www.developpez.com
Le 22/01/2015 à 12:21
Biensur que oui, sous linux on se fiche royalement de déplacer des dossiers d'un endroit à un autre. D'autant plus que ce dossier se trouve dans le $HOME. (~/.local/share/steam)

Évidement, selon la distribution, il n'est pas possible de faire pareil avec les dossiers "système", quoi que..., pas grand chose l'empêche finalement. Sous linux tout est modifiable sans altérer le fonctionnement, tant qu'on comprend ce qu'on fait.

Concernant ce bug, il est évidement intolérable. Je ne suis pas certain que le "aucune garantie quant à la non perte de tout ou partie de vos disques dur..." soit applicable ici, car dans ce cas précis, cette condition semble abusive...

Le dossier linux "~/.local/share/steam" s'apparenterai au dossier windows "c:\users\identifiant\localdata\...\steam" si je me souviens bien.
Je ne sais pas si steam s'installe là ou dans c:\program files\. mais il est évident que s'il se trouvait dans le permier... le problème serait identique. Dans ces répertoires, on fait ce qu'on veut et ça reste toujours une utilisation "normale"
0  0