स्टीम इंस्टॉल मेरे घर को मिटा सकता है। इसे कैसे रोका जाए?


14

मैंने वाल्व पर एक परेशान विषय पढ़ा है जहां एक उपयोगकर्ता ने स्टीम स्क्रिप्ट का उपयोग करते समय अपनी प्रणाली खो दी। Reddit.linux और reddit / steam पर चर्चा चल रही है ।

यह एक सामान्य समस्या नहीं हो सकती है क्योंकि मैं अपने सिस्टम के बारे में सभी प्रकार के कॉन्फ़िगरेशन को बदल देता हूं। विचाराधीन स्क्रिप्ट वास्तव में बेवकूफ तरीके से कुछ करती है, लेकिन यह शायद हर सिस्टम के लिए असफल परिदृश्य को ट्रिगर नहीं करती है क्योंकि ...

मूल बग:

मुझे यकीन नहीं है कि क्या हुआ। मैंने शीर्षक में फ़ोल्डर को एक ड्राइव के नीचे रखा /media/user/BLAHऔर /home/user/.local/steamनए स्थान पर सहानुभूति दी।

मैंने स्टीम लॉन्च किया। यह लॉन्च नहीं हुआ, इसने मुझे ब्राउज़ करने की पेशकश की, और जब मैं नए स्थान की ओर इशारा करता था, तब भी यह नहीं मिल पाता। भाप दुर्घटनाग्रस्त हो गई। मैंने इसे फिर से शुरू किया।

इसने खुद को फिर से स्थापित किया और सब कुछ बहुत अच्छा लग रहा था। जब तक मैंने देखा और देखा कि भाप ने स्पष्ट रूप से मेरे उपयोगकर्ता के स्वामित्व वाली सब कुछ को रूट डायरेक्टरी से हटा दिया था। अपने 3tb एक्सटर्नल ड्राइव को शामिल करने के बाद, मैं सब कुछ वापस कर देता हूं जो कि / मीडिया के तहत मुहिम शुरू की गई थी।

अधिकांश भाग के लिए, सब कुछ महत्वपूर्ण था, बादल में था। यह एक बहुत बड़ी परेशानी है, लेकिन यह कोई आपदा नहीं है। यदि मौका है कि आपके स्टीम फ़ोल्डर को स्थानांतरित करने के परिणामस्वरूप निर्देशिका ट्री में सब कुछ पुनः प्राप्त किया जा सकता है, तो आपको संभवतः अन्य सामान को इंगित करने के बजाय त्रुटि को फेंकना चाहिए। या आप जानते हैं, उपयोगकर्ता को विंडोज़ पर शुरू में एक इंस्टॉलेशन डायरेक्टरी चुनने की अनुमति देता है।

मेरा सिस्टम ubuntu 14.04 है, और जिस ड्राइव को मैं ले गया था वह था ntfs अगर इसकी कीमत कुछ भी हो।

जवाबों:


14

समस्या "स्टीम.श।" स्क्रिप्ट में लाइन 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 डिस्क को हटा देगा।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.