सवाल आप पैकेज को पूरी तरह से कैसे हटा सकते हैं?


मैं एक साफ स्थापित करने की कोशिश कर रहा हूँ octave3.2 पैकेज।

ऐसा करने के लिए, मैंने इसे हटा दिया, फिर इसे पुनः स्थापित करने का प्रयास किया।

जब मैंने पुनर्स्थापित किया, तो एक त्रुटि हुई। यह पैकेज में एक बग हो सकता है, लेकिन मैं यह सुनिश्चित करना चाहता हूं कि मेरे पास सब कुछ हटा दिया गया है ताकि मैं एक साफ इंस्टॉल कर सकूं।

क्या ऐसा करने के लिए पर्याप्त है?

sudo apt-get --purge remove octave3.2

160
2018-06-17 02:31


मूल


क्या कोई पैकेज को पुनर्स्थापित कर सकता है और पैकेज या निर्भरता सूची पर ध्यान दे सकता है ..? - user309924
के लिए अनुशंसित यात्रा  इस - Pandya


जवाब:


आम तौर पर पैकेज को शुद्ध करने के प्रभावों के बारे में सवाल का यह एक सामान्य जवाब है। आपकी स्थिति के लिए विशिष्ट सलाह के लिए, आपको अतिरिक्त जानकारी शामिल करने के लिए अपना प्रश्न संपादित करना होगा - विशेष रूप से, आपको प्राप्त होने वाले त्रुटि संदेश का पूर्ण और सटीक पाठ।

पैकेज को हटा रहा है sudo apt-get purge ... या sudo apt-get --purge remove ... उन्हें और उनके सभी वैश्विक (यानी, सिस्टमवाइड) कॉन्फ़िगरेशन फ़ाइलों को हटा देगा। आम तौर पर लोगों का क्या मतलब होता है जब वे पैकेज को पूरी तरह हटाने के बारे में बात करते हैं।

लेकिन इसका मतलब यह नहीं है कि आपका सिस्टम वही है जैसा पैकेज स्थापित होने से पहले था। विशेष रूप से:

  • यह उन पैकेजों को नहीं हटाता है जो निर्भरता के रूप में स्थापित किए गए थे, जब आपने उस पैकेज को स्थापित किया था जिसे आप अभी हटा रहे हैं। मान लें कि उन संकुल किसी भी अन्य संकुल की निर्भरता नहीं हैं, और आपने उन्हें मैन्युअल रूप से स्थापित नहीं किया है, आप निर्भरताओं को हटा सकते हैं sudo apt-get autoremove या (यदि आप अपनी सिस्टमव्यापी कॉन्फ़िगरेशन फ़ाइलों को भी हटाना चाहते हैं) sudo apt-get --purge autoremove

  • यह गैर-सिस्टमव्यापी कॉन्फ़िगरेशन फ़ाइलों को नहीं हटाता है। विशेष रूप से, यह उपयोगकर्ता-विशिष्ट कॉन्फ़िगरेशन को नहीं हटाता है:

    • यह उपयोगकर्ताओं की होम निर्देशिकाओं में स्थित कॉन्फ़िगरेशन फ़ाइलों और निर्देशिकाओं को हटा नहीं देता है (या में .config उनके घर निर्देशिका की उपनिर्देशिका), पैकेज द्वारा प्रदान किए गए सॉफ़्टवेयर द्वारा बनाई गई है।

      • अगर इन फाइलों / फ़ोल्डर्स में संग्रहित नहीं हैं .config, वे आमतौर पर एक के साथ शुरू करते हैं . खुद को। किसी भी तरह से, आप उन्हें देख सकते हैं ls का उपयोग करके -a या -A ध्वज, और आप उन्हें नॉटिलस और अन्य फाइल ब्राउज़र / प्रबंधकों को दबाकर देख सकते हैं Ctrl+एच या जा रहा है राय > छिपी फ़ाइलें देखें
    • यह मौजूदा उपयोगकर्ता-विशिष्ट कॉन्फ़िगरेशन फ़ाइलों में किए गए परिवर्तनों को उलट नहीं करता है।

    • यह नया नहीं हटाता है gconf या dconf चाबियाँ, या किसी भी रिवर्स gconf या dconf विन्यास में बदलाव

  • का उपयोग करते हुए purge या --purge remove के बजाय remove अन्य संकुल द्वारा प्रदान की गई मौजूदा सिस्टमव्यापी कॉन्फ़िगरेशन फ़ाइलों में परिवर्तन को उलट नहीं करता है या उपयोगकर्ता द्वारा मैन्युअल रूप से बनाया गया है। हालांकि, कभी-कभी ऐसे परिवर्तन पैकेज को अनइंस्टॉल करके पूर्ववत कर दिए जाते हैं (चाहे वह एक है या नहीं purge इसके बजाय remove)।


162
2018-06-17 02:38





आदेश का प्रयोग करें:

sudo apt-get purge --auto-remove packagename

यह उन पैकेजों के साथ स्थापित निर्भरताओं के साथ आवश्यक संकुल को शुद्ध करेगा। --auto-remove विकल्प इसी तरह काम करता है sudo apt-get autoremove


40
2017-09-16 20:01





एक स्थापित करते समय अतिरिक्त निर्भरता पैकेजों का बेहतर ट्रैक रखें।

The following extra packages will be installed: 
    libgssglue1 libnfsidmap2 libtirpc1 nfs-common rpcbind

यदि आप केवल मूल पैकेज को हटाते हैं, तो निर्भरता पैकेज बना सकता है।

तो आपको प्रत्येक का उपयोग करके मैन्युअल रूप से हटा देना होगा

apt-get purge package_name

3
2017-07-18 08:46



यदि मेरा कंसोल काफी दूर तक स्क्रॉल नहीं करता है तो मैं इन पैकेजों की सूची कैसे प्राप्त कर सकता हूं - Luke Taylor
@LukeTaylor apt-get install package_name > output      फिर less output  स्क्रॉलिंग के साथ सभी आउटपुट देखने के लिए। - Harikrishnan


स्वतः इंस्टॉल किए गए आश्रित संकुल मैन्युअल रूप से हटाने के बजाय, निम्न का उपयोग करें:

zanfilip @ zanfilip-VPCEB3L0E: ~ / jp / eclipse $ sudo apt-get --purge autoremove
    पैकेज सूची पढ़ना ... हो गया
    बिल्डिंग निर्भरता पेड़
    राज्य की जानकारी पढ़ना ... हो गया
    निम्नलिखित पैकेज हटा दिए जाएंगे
      libupstart1 * लिनक्स-हेडर-3.16.0-30 * लिनक्स-हेडर-3.16.0-30-जेनेरिक *
      लिनक्स-छवि-3.16.0-30-जेनेरिक * लिनक्स-छवि-अतिरिक्त-3.16.0-30-जेनेरिक *
    0 अपग्रेड करने के लिए, 0 को नए इंस्टॉल करने के लिए, 5 को हटाने के लिए और 23 अपग्रेड नहीं करना है।
    इस ऑपरेशन के बाद, 279 एमबी डिस्क स्पेस मुक्त हो जाएगा।
    क्या आप जारी रखना चाहते हैं? [Y n]


2
2018-05-07 21:46





यदि आप कुछ विशिष्ट पैकेजों को हटाना चाहते हैं तो आप इन आदेशों का उपयोग कर सकते हैं:

dpkg --get-selections | grep PACKAGE_NAME | awk '{ print $1}'| xargs apt-get -y --purge autoremove

"-y" स्विच को न भूलें क्योंकि अन्यथा apt-get व्यक्तिगत संकुल को हटाने के बारे में पूछता रहता है और कुछ भी नहीं हटाएगा।


2
2017-10-29 00:58



यह उपयोगी हो सकता है लेकिन विनाशकारी भी हो सकता है: यह आसानी से उस पैकेज से मेल खा सकता है जिसे आप वास्तव में हटा नहीं चाहते थे, और पुष्टि के बिना इसकी कॉन्फ़िगरेशन हटा दें! सौभाग्य से पैकेज नामों में कभी भी कोई स्थान नहीं होता है, इसलिए हम इसे चारों ओर बदल सकते हैं और छोड़ सकते हैं -y: apt-get --purge autoremove $(dpkg --get-selections | grep PACKAGE_NAME | awk '{ print $1}')। यह कुछ हद तक सुरक्षित होगा। - joeytwiddle
हो सकता है कि कमांड को चलाने के लिए सुरक्षित रहें: dpkg --get-selects | grep PACKAGE_NAME | awk '{print $ 1}' सबसे पहले और फिर इसे xargs के साथ चलाएं एक बेहतर अभ्यास है ताकि उपयोगकर्ता देख सके कि कमांड के परिणामस्वरूप क्या हटाया जाएगा। - Kerem Ersoy


आप पहले उस पैकेज के नाम की जांच करें जिसे आप निकालना चाहते हैं:

dpkg --list

फिर दिए गए पैकेज को हटा दें

sudo apt-get remove package_name

किसी भी संबंधित कोड को पर्ज करें

sudo apt-get purge package_name

फिर Autoremove

sudo apt-get autoremove

अंत में, एक साफ करें ताकि आप जांच सकें कि सब ठीक से हटा दिया गया है

sudo apt-get clean

आप संकुल सूची में जांचना चाहते हैं कि जिसे आप निकालना चाहते हैं वह अब सूचीबद्ध नहीं है, लेकिन यह वैकल्पिक है।

आपका दिन शुभ हो,


2
2018-01-31 19:10