스팀 설치로 집을 지울 수 있습니다. 그것을 방지하는 방법?


14

Steam 스크립트를 사용할 때 사용자가 시스템을 잃어버린 Valve 에 대한 혼란스러운 주제를 읽었습니다 . reddit.linuxreddit / steam 에 대한 토론이 있습니다 .

시스템에 대한 모든 종류의 구성을 변경하기 때문에 이것은 일반적인 문제가 아닐 수 있습니다. 문제의 스크립트는 정말 어리석은 방식으로 무언가를 수행하지만 모든 시스템에 대해 실패 시나리오를 트리거하지는 않습니다.

오리지널 버그 :

무슨 일이 있었는지 잘 모르겠습니다. 제목의 폴더를 아래에 마운트되어 새 위치에 /media/user/BLAH연결된 드라이브로 옮겼습니다 /home/user/.local/steam.

나는 증기를 시작했다. 시작되지 않았으며 찾아 볼 수 있도록 제공했지만 새 위치를 가리킬 때 찾을 수 없었습니다. 스팀이 추락했습니다. 나는 그것을 다시 시작했다.

그것은 다시 설치되었고 모든 것이 멋지게 보였습니다. 내가보고 스팀이 사용자가 소유 한 모든 것을 루트 디렉토리에서 재귀 적으로 삭제 한 것을 볼 때까지. 내 3tb 외장 드라이브를 포함하여 / media에 마운트 된 모든 것을 백업합니다.

대부분 중요한 것은 클라우드에있었습니다. 그것은 번거롭지 만 재앙이 아닙니다. 스팀 폴더를 옮기면 디렉토리 트리의 모든 항목을 재귀 적으로 삭제할 수있는 가능성이 있다면 다른 것을 가리 키지 않고 오류를 발생시켜야합니다. 또는 사용자가 처음에 Windows에서와 같이 설치 디렉토리를 선택하도록 허용하십시오.

내 시스템은 우분투 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

만약 누군가가 루트로 스팀을 설치했다면 경고합니다 : 그것은 당신의 WHOLE 디스크를 삭제합니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.