Steamインストールは私の家を消すことができます。それを防ぐ方法は?


14

Steamスクリプトを使用しているときにユーザーがシステムを失ったという、Valveに関する不穏なトピックを読みました。reddit.linuxreddit / steamで議論があります。

これは、システムに関するあらゆる種類の構成を変更するため、一般的な問題ではない可能性があります。問題のスクリプトは、本当にばかげた方法で何かを実行しますが、おそらくすべてのシステムで失敗シナリオを引き起こすわけではありません...

元のバグ:

何が起こったのか分かりません。タイトル内のフォルダを、新しい場所の下にマウントされ/media/user/BLAH、シンボリックリンクされたドライブに移動しました/home/user/.local/steam

蒸気を発射しました。起動しませんでしたが、閲覧できるようになりましたが、新しい場所を指しても見つけることができませんでした。Steamがクラッシュしました。再起動しました。

再インストールされ、すべてが素晴らしく見えました。見て、steamがルートディレクトリからユーザーが所有するすべてのものを再帰的に削除していたことがわかりました。3TBの外部ドライブを含め、/ mediaの下にマウントされたものまですべてバックアップします。

大部分の重要なものはすべてクラウドにありました。これは大きな手間ですが、災害ではありません。スチームフォルダーを移動すると、ディレクトリツリー内のすべてが再帰的に削除される可能性がある場合、他のものを指すのではなく、エラーをスローする必要があります。または、Windowsのように最初にインストールディレクトリを選択できるようにします。

私のシステムはubuntu 14.04であり、移動先のドライブはNTFSでした。

回答:


14

問題は、スクリプト「steam.sh」の行19から始まります。

STEAMROOT="$(cd "${0%/*}" && echo $PWD)"
STEAMDATA="$STEAMROOT"

$STEAMROOT作る効果的にここに空になることができますrm -rf "$STEAMROOT/"*と同じスクリプトに、さらに rm -rf "/"*.


パッチが表示されており、このスクリプトには多くの問題があります。変更するのが最も簡単で、少なくともファイルを削除しないようにしてください...

rm -rf "$STEAMROOT/"*

に...

[[ -n $STEAMROOT && $STEAMROOT =~ 'steam' ]] && rm -rf $STEAMROOT

STEAMDATA設定直後に出口を追加することもできます。

STEAMROOT="$(cd "${0%/*}" && echo $PWD)"
STEAMDATA="$STEAMROOT"
if [ -z "$STEAMROOT" ]; then
    echo "stop script otherwise files are deleted from /."
    exit 1
fi

そこに誰かがrootとしてSteamをインストールした場合、警告が表示されます:それはあなたの完全なディスクを削除します。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.