เมื่อสัปดาห์ก่อน (วันที่ 15 มกราคม 2015) ผู้ใช้ลินุกซ์รายหนึ่งที่ใช้ชื่อว่า keyvin ได้รายงานใน Github ว่าโปรแกรม Steam มีปัญหาร้ายแรงที่ลบข้อมูลใน Home folder ทั้งหมดเมื่อย้ายโฟลเดอร์เก็บการตั้งค่าของ Steam
ตั้งแต่เริ่มต้นติดตั้ง Steam บนลินุกซ์จะเก็บข้อมูลการตั้งค่าโปรแกรมไว้ที่ ~/.local/share/steam โดยที่ไม่มีตัวเลือกขึ้นมาให้ผู้ใช้เลือก คุณ keyvin เลยย้ายเอาเองหลังจากการติดตั้งและทำ symbolic link ชี้ไปยังโฟลเดอร์ใหม่ พอทำเสร็จ เขาก็ทดลองเปิดโปรแกรม Steam ผลปรากฏว่า Steam ไม่ยอมอ่านค่าโฟลเดอร์ตามที่ทำ symbolic link ไว้ และขั้นหน้าต่างเตือนให้เลือกหาโฟลเดอร์ ซึ่งพอเลือกแล้วก็ยังหาไม่เจออีก ในที่สุดโปรแกรมก็ล่มไป คุณ keyvin จึงทำในสิ่งที่ทุกคนทำเวลาอับจนหนทาง นั่นคือการรีสตาร์ตเครื่อง
พอเปิดเครื่องขึ้นมาใหม่ Steam ก็สร้างโฟลเดอร์ของตัวเองขึ้นมาใหม่อีกครั้งใน Home folder ตามเรื่องตามราวของมัน แต่หลังจากโล่งอกได้ไม่กี่พริบตา คุณ keyvin ก็พบว่าไฟล์อื่นๆ ใน Home folder หายเกลี้ยง แม้แต่ไฟล์ใน external harddisk ก็หายไปด้วย
ผู้ใช้อีกคนที่ชื่อ d00fy ได้ทดลองกับตัวเองด้วยการรันโปรแกรม Steam ด้วยค่าคอนฟิก STEAM_DEBUG=1 ผลก็ปรากฏว่าทุกอย่างใน Home folder หายหมดเหมือนกัน เขาและผู้ใช้อีกหลายคนใน Github สันนิษฐานว่าปัญหาน่าจะมาจากคำสั่งในไฟล์ steam.sh บรรทัดที่สั่งว่า
rm -rf "$STEAMROOT/"*
พอมันหาโฟลเดอร์ $STEAMROOT ไม่เจอ มันก็อ่านคำสั่งเป็น
rm -rf /
ซึ่งคำสั่งนี้หมายความว่าให้ลบทุกอย่างในทุก "/" ซึ่งเป็น root directory ของลินุกซ์ (การลบทั้งไดรฟ์ C:, D:, E:,... รวมถึงไดรฟ์ซีดีรอมในวินโดวส์ยังเทียบเคียงไม่ได้กับ การลบ / ในลินุกซ์ มันคือทุกอย่างจริงๆ) เผอิญว่า Steam รันด้วยสิทธิ์ของผู้ใช้ มันจึงลบเฉพาะไฟล์ที่ผู้ใช้มีสิทธิ์ลบได้ซึ่งนั่นหมายความถึง Home folder ของผู้ใช้คนนั้นและสื่อบันทึกข้อมูลทุกชิ้นที่ต่อใน login session ของผู้ใช้คนนั้น

  • หมายเหตุ: การรันคำสั่ง rm -rf / ด้วยสิทธิ์ root จะเพิ่มความบรรลัยมากกว่านี้อีกหลายสิบเท่า ผู้ใช้ลินุกซ์ควรระมัดระวัง (ยกเว้นว่าคุณจะรันบนเครื่องคนอื่นและไม่กลัวการเป็น ที่รังเกียจของสังคม)

แม้ว่าปัญหานี้จะถูกรายงานจากฝั่งผู้ใช้ลินุกซ์ แต่มีคนตั้งข้อสังเกตว่า Steam บนวินโดวส์ก็น่าจะสามารถสร้างปัญหาลักษณะเดียวกันได้ เนื่องจากในหน้า support ของ Steam เองก็เตือนไว้ว่ากรณีที่ผู้ใช้เลือกลง Steam ในโฟลเดอร์อื่นนอกจาก C:\Program Files\Steam\ ผู้ใช้ไม่ควรถอนการติดตั้ง (uninstall) โปรแกรม Steam ด้วยวิธี Add or Remove Programs แบบโปรแกรมธรรมดา แต่ควรถอนการติดตั้งด้วยวิธีแบบ manual
ที่มา - Neowin
Steam, Bug, Linux,




อ่านต่อ...