Рубрики Блоги

Перемещение папки Steam на Linux удаляет все файлы пользователя на компьютере

Опубликовал Андрей Белокриницкий

Кто-то из разработчиков Steam для Linux сделал не самую лучшую в своей жизни правку кода, в результате чего Steam удаляет все файлы пользователя в системе, начиная с корня, при перемещении родительской папки.

Пользователь сообщил об этой ошибке два дня назад. После перемещения папки Steam ~/.local/share/steam клиент Valve запустился с ошибкой, упал и после автоматической переустановки заработал нормально, за исключением того, что удалил все файлы принадлежащие пользователю, начиная с корня, и включая примонтированные внешние диски.

Пользователи уже обнаружили проблему в 468 строке скрипта:

  • rm -rf «$STEAMROOT/»*

Поскольку значение STEAMROOT становится неопределенным, то скрипт читается как

  • rm -rf /*

Что приводит к рекурсивному удалению всех файлов без подтверждения.

Нечто похожее есть и в Windows версии Steam. Valve давно предупреждает пользователей о том, что при установке Steam в корень другой директории, например Program Files, после деинсталляции клиента происходит полное удаление содержимого этой папки.

P.S. Буквально в процессе написания текста в описании ошибки появилось дополнение, из которого следует что она воспроизводится не в 100% случаев.