गलती से हटाए गए / var / lib / apt /


10

मैंने नीचे कमांड के साथ गलती से / var / lib / apt की सामग्री हटा दी है:

sudo rm -rf /var/lib/apt/*

अब मुझे क्या करना चाहिए? क्या मैं इसे पुनर्स्थापित कर सकता हूं? क्या ये ज़रूरी हैं?


इस दुर्घटना के पीछे का कारण यह है कि मैं अपने डिस्क पर खाली जगह बनाने के लिए इसके विशाल आकार के कारण / var / lib / apt / सूचियाँ / * को निकालने की कोशिश कर रहा था ।
होसैन होसेनवंड

जवाबों:


24

फ़ोल्डर में कुछ दिलचस्प बातें शामिल हैं, विशेष रूप से वहाँ है /var/lib/apt/keyrings/किसी भी खजाने है कि आप के माध्यम से व्यवस्था करने के लिए जोड़ दिया है के लिए निर्देशिका apt-add-repository(और फिर वहाँ भी है /etc/apt/trusted.gpgऔर /etc/apt/trusted.gpg.d/) और cdroms.list जो संकुल के स्रोत के रूप स्थापना मीडिया उल्लेख होना चाहिए। हटाया /var/lib/apt/keyrings/ubuntu-archive-keyring.gpgजा सकता है के साथ पुनर्स्थापित किया जा सकता है sudo apt-get install --reinstall ubuntu-keyring

वहाँ भी है /var/lib/apt/lists, जिसमें aptअपडेट या अपग्रेड के लिए लॉक फ़ाइलें शामिल हैं , और दूरस्थ रिपॉजिटरी में संकुल की सूची। उस निर्देशिका में आइटम कभी-कभी साफ़ किए जाते हैं या हटाए जाते हैं जैसे कि इस पोस्ट में । आपके दौड़ने के बाद इसे फिर से बनाना चाहिए apt-get update

संक्षेप में, मैं इसके बारे में ज्यादा चिंता नहीं करता। बस चलाएं sudo apt-get updateऔर इसे वापस होना चाहिए, हालांकि अगर आपने रिपॉजिटरी को जोड़ा है apt-add-repositoryजिसके माध्यम से जीपीजी कुंजी की आवश्यकता हो सकती है, तो आप उस कुंजी को फिर से जोड़ना या अस्थायी रूप से उस रिपॉजिटरी को हटा सकते हैं /etc/apt/sources.list.d

हालाँकि यह इस मामले में बहुत बड़ा मुद्दा नहीं है, जैसा कि लाइटनेस ने टिप्पणियों में उल्लेख किया है , इस मुद्दे का मूल आकस्मिक उपयोग हैrm -rf। एक उपयोगकर्ता को पूरी जिम्मेदारी का एहसास होना चाहिए जब वे आदेशों को मिटा देते हैं जो उनके सिस्टम को नुकसान पहुंचा सकता है। AskUbuntu और अन्य StackExchange साइटों पर अनगिनत उदाहरण हैं जहां उपयोगकर्ता कोर सिस्टम घटकों के स्वामित्व को हटाते हैं या बदलते हैं। नए उपयोगकर्ताओं के दृष्टिकोण से यह समझा जा सकता है कि नए उपयोगकर्ता इस बात से परिचित नहीं हैं कि कितना नुकसान हो सकता है, हालाँकि यह नए उपयोगकर्ता को ज़िम्मेदारी से मुक्त नहीं करता है। कमांड या उपयोगकर्ता की निंदा करने का कोई मतलब नहीं है, लेकिन सही तरीका कमांड लाइन या अन्य जगहों पर अपने खुद के कदमों को सत्यापित करने की आदतें होनी चाहिए। यह केवल उबंटू पर लागू नहीं होता है, बल्कि सामान्य रूप से गणना करता है, और अनुभव के साथ आता है और अक्सर वास्तव में गलतियां करता है और आपके सिस्टम को केवल इसे सुधारने और फिर से तोड़ने के लिए तोड़ता है।


9
आप यह भी समीक्षा करना चाहेंगे कि पहली बार में त्रुटि कैसे हुई थी, क्योंकि एक अनपेक्षित निर्देशिका नाम के बाद बाहर लिखना इसके sudoबाद आपके दिमाग को कुछ ऐसा करने की अनुमति नहीं होनी चाहिए। भविष्य में बहुत अधिक खराब समस्याओं से बचने के लिए सुधारात्मक कार्रवाई / व्यवहार में बदलाव की आवश्यकता हो सकती है। rm -rf*
ऑर्बिट में

1
@LightnessRacesinOrbit मुझे लगता है कि यह टिप्पणी ओपी के प्रश्न के तहत रखी जानी चाहिए, लेकिन मैं सहमत हूं - उपयोगकर्ता को यह जानना होगा कि वे क्या टाइप करते हैं और rm -rfबिना जांच किए और यह सुनिश्चित करने से बचते हैं कि वे सही चीज़ को हटा दें।
सेर्गी कोलोडियाज़नी

1
वैसे मुझे लगता है कि इसे उत्तर में जोड़ा जाना चाहिए कि मैंने इसे यहां क्यों रखा है :) सवाल के तहत टिप्पणियाँ प्रश्न के स्पष्टीकरण के लिए होनी चाहिए
कक्षा में

1
@ कैस्पर थ्रीस्ट्रुप केरस्टेंसन सहमत। अक्सर आप यह भी देख सकते हैं कि echoआप वाइल्डकार्ड या अन्य विनाशकारी कमांड के साथ चलने का इरादा रखते हैं। उदाहरण के लिए, echo rm /tmp/*बात का प्रकार
सर्जियो कोलोडियाज़नी

1
वह हाजिर है, धन्यवाद। बेशक ऐसा नहीं है कि मैंने कभी ऐसी गलती नहीं की है, लेकिन मैंने तुरंत त्रुटि की समीक्षा की और अपनी प्रथाओं को समायोजित किया, जैसे कि मैंने इसे फिर कभी नहीं बनाया :) जब तक आप इससे सीखते हैं यह एक प्रारंभिक अनुभव है।
ऑर्बिट
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.