การติดตั้ง Steam สามารถลบบ้านของฉันได้ จะป้องกันได้อย่างไร?


14

ฉันได้อ่านหัวข้อที่น่ารำคาญในValveที่ผู้ใช้สูญเสียระบบเมื่อใช้สคริปต์ Steam มีการอภิปรายเกี่ยวกับการเป็นreddit.linuxและReddit / อบไอน้ำ

นี่อาจไม่ใช่ปัญหาทั่วไปเพราะฉันเปลี่ยนการกำหนดค่าทุกประเภทเกี่ยวกับระบบของฉัน สคริปต์ที่เป็นปัญหานั้นทำอะไรบางอย่างในแบบที่โง่จริงๆ แต่มันอาจไม่ก่อให้เกิดสถานการณ์ที่ล้มเหลวสำหรับทุกระบบเพราะ ...

ข้อผิดพลาดเดิม:

ฉันไม่แน่ใจว่าเกิดอะไรขึ้น ฉันย้ายโฟลเดอร์ในชื่อไปยังไดรฟ์ที่ติดตั้งภายใต้/media/user/BLAHและเชื่อมโยง/home/user/.local/steamไปยังตำแหน่งใหม่

ฉันเปิดตัวไอ มันไม่เปิดตัวมันเสนอให้ฉันค้นหาและยังหาไม่เจอเมื่อฉันชี้ไปที่ตำแหน่งใหม่ Steam ล้มเหลว ฉันรีสตาร์ทมัน

มันติดตั้งตัวเองใหม่และทุกอย่างดูดี จนกระทั่งฉันมองและเห็นว่าไอน้ำได้ลบทุกอย่างที่ผู้ใช้เป็นเจ้าของโดยเรียกซ้ำจากไดเรกทอรีราก รวมถึงไดรฟ์ภายนอก 3tb ของฉันฉันสำรองข้อมูลทุกอย่างตามที่ติดตั้งไว้ใต้ / สื่อ

ทุกสิ่งที่สำคัญส่วนใหญ่อยู่ในคลาวด์ มันเป็นความยุ่งยากอย่างมาก แต่ก็ไม่ได้เป็นหายนะ หากมีโอกาสที่การย้ายโฟลเดอร์สตีมของคุณอาจส่งผลให้เกิดการลบทุกอย่างซ้ำ ๆ ในทรีไดเรกทอรีคุณอาจจะเกิดข้อผิดพลาดแทนที่จะพยายามชี้ไปที่สิ่งอื่น หรือคุณรู้ว่าอนุญาตให้ผู้ใช้เลือกไดเรกทอรีการติดตั้งเริ่มต้นเช่นบน windows

ระบบของฉันคือ Ubuntu 14.04 และไดรฟ์ที่ฉันย้ายไปเป็น NTFS ถ้ามันคุ้มค่าอะไร

คำตอบ:


14

ปัญหาเริ่มต้นที่บรรทัดที่ 19 ในสคริปต์ "steam.sh":

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.