Бортовой журнал Ктулху

Баг Стима, удаляющий все файлы пользователя в ubuntu

Некоторые программные ошибки нужно вставлять в рамочку и вешать на стену.
Ибо они этого достойны.
На фоне их коварности меркнут все остальные ошибки (от которых теряют управление самолёты, пациентов медицинских клиник облучают радиацией и т.п.).

 

Original Bug

I am not sure what happened. I moved the folder in the title 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.

It re-installed itself and everything looked great. Until I looked and saw that steam had apparently deleted everything owned by my user recursively from the root directory. Including my 3tb external drive I back everything up to that was mounted under /media.

Everything important, for the most part, was in the cloud. It is a huge hassle, but it is not a disaster. If there is the chance that moving your steam folder can result in recursively deleting everything in the directory tree you should probably just throw up an error instead of trying to point to other stuff. Or you know, allow the user to pick an install directory initially like on windows.

My system is ubuntu 14.04, and the drive I moved it to was ntfs if its worth anything.

Корявый пересказ волнующих событий

Я думал, такое бывает только в анекдотах или когда специально разводят неопытных новичков.

Но эта ошибка была в реальном скрипте, её допустил Стим! Да, тот самый, который торгует Халф-лайфом и прочими играми по интернету.
Читающие по-английски вникают в подлинник, остальные довольствуются моим кривым переводом

Видимо, на линуксовом диске места было маловато, и один чувак перенёс папку Стима ~/.local/share/steam на внешний 3Тбайтовый диск (подмонтированный в /media/...) и, как это водится у линуксоидов, кинул с прежнего места на новое симлинк.
Потом запустил Стим
Стиму это дело не понравилось: сначала он спросил: где моя папка, чувак?, а потом вообще упал.
Чувак заново запустил Стим, тот переустановился и сказал "теперь я в норме"
И тут чувак заметил, что все файлы, принадлежащие текущему юзеру (т.е., которые не рутовские), оказались благополучно стёрты во всей линуксовой файловой системе, включая все файлы на подмонтированном в /media/... внешнем 3Тбайтовом диске (естественно, диск был заполнен кучей нужного добра, с которым чувак точно не планировал расставаться).
А произошло следующее: в скриптах Стима была строка для удаления своей папки:
rm -rf "$STEAMROOT/"*
которая и была запущена при переустановке Стима, но так как свою папку настроек он так и не нашёл, то переменная окружения STEAMROOT оказалась неинициализированной ))))

И напоследок - анекдот:
- Кем вы работаете?
- Фармацевтом.
- Кем??
- Формат Цэ делаю...

Один из программистов в Стиме, как оказалось, ещё тот фармацевт! )))

Оригинал https://github.com/ValveSoftware/steam-for-linux/issues/3671 

Найдено на просторах http://programming.diary.ru/