अप्रचलित पैकेज बनाम अनाथ पैकेज


18

अप्रचलित और अनाथ पैकेज के बीच अंतर क्या है? अधिक विशेष रूप से, यह deborphanउत्पादन क्यों करता है :

dave@ubuntu:~$ deborphan
libbind9-80
libllvm3.1
libgrail5
libpython3.2
libsvga1
libarchive12
libdirectfb-1.2-9
gcalctool
liblwres80
libqpdf8
libkms1
libnux-3.0-0

... जबकि aptitude search '~o'यह उत्पादन:

dave@ubuntu:~$ aptitude search '~o'
idA libarchive12                                 - Multi-format archive and compression library (shared li
i   libbind9-80                                  - BIND9 Shared Library used by BIND                      
i   libdns81                                     - DNS Shared Library used by BIND                        
i   libdrm-nouveau1a                             - Userspace interface to nouveau-specific kernel DRM serv
idA libgrail5                                    - Gesture Recognition And Instantiation Library          
i   libisc83                                     - ISC Shared Library used by BIND                        
i   libisccc80                                   - Command Channel Library used by BIND                   
i   libisccfg82                                  - Config File Handling Library used by BIND              
i   liblwres80                                   - Lightweight Resolver Library used by BIND              
idA libnux-3.0-0                                 - Visual rendering toolkit for real-time applications - s
idA libnux-3.0-common                            - Visual rendering toolkit for real-time applications - c
idA libpython3.2                                 - Shared Python runtime library (version 3.2)            
idA libqpdf8                                     - runtime library for PDF transformation/inspection softw
i   libudev0                                     - udev library                                           
i A linux-headers-3.5.0-27                       - Header files related to Linux kernel version 3.5.0     
i A linux-headers-3.5.0-27-generic               - Linux kernel headers for version 3.5.0 on 32 bit x86 SM
i   linux-image-3.5.0-27-generic                 - Linux kernel image for version 3.5.0 on 32 bit x86 SMP 
i   linux-image-extra-3.5.0-27-generic           - Linux kernel image for version 3.5.0 on 32 bit x86 SMP 
i   python3.2                                    - Interactive high-level object-oriented language (versio
i   python3.2-minimal                            - Minimal subset of the Python language (version 3.2)

बोनस प्रश्न: apt-get autoremoveऔर भी अलग है। क्यों?

dave@ubuntu:~$ sudo apt-get --purge autoremove
[sudo] password for dave: 
Reading package lists... Done
Building dependency tree       
Reading state information... Done
The following packages will be REMOVED:
  gksu* libarchive12* libdirectfb-1.2-9* libgksu2-0* libgnome-menu2* libgrail5* libllvm3.1*
  libnux-3.0-0* libnux-3.0-common* libpython3.2* libqpdf8* libsvga1* libts-0.0-0* libx86-1*
  mobile-broadband-provider-info* python-imaging* python-imaging-compat* python-    oauth* tsconf*
0 upgraded, 0 newly installed, 19 to remove and 0 not upgraded.
After this operation, 33.8 MB disk space will be freed.
Do you want to continue [Y/n]? n
Abort.

यदि कोई जानना चाहता है, तो 13.04 में अपग्रेड किया गया है।


मैंने व्यक्तिगत रूप से उन सभी को हटा दिया लेकिन पुरानी गुठली क्योंकि मेरी मशीन के साथ नई गिरी थोड़ी छोटी है
झटके वाली दीवार

जवाबों:


26

संक्षेप में, अप्रचलित पैकेज आपकी सूची में अब किसी भी भंडार में नहीं हैं। अनाथ पैकेज स्वचालित निर्भरताएं हैं जिनके "आश्रित" सभी की स्थापना रद्द कर दी गई है। और apt-get autoremoveकेवल अनाथ पैकेजों पर विचार करता है जो aptनिर्भरता को हल करने के लिए स्थापित किए गए थे ।

अप्रचलित पैकेज

जैसा कि आप शायद जानते हैं, aptरिपॉजिटरी की एक सूची रखता है जिससे यह पैकेज प्राप्त कर सकता है। लेकिन कभी-कभी, भंडार भंडार से हटा दिए जाते हैं। हो सकता है कि कोई भी (किसी भी) पैकेज का ध्यान न रखता हो, और (बहुत) पुराना अंतिम उपलब्ध संस्करण सुरक्षा जोखिम बन गया हो। या हो सकता है कि कार्यक्रम ने अपना नाम बदल दिया हो, पैकेज के नाम तदनुसार बदल दिए गए थे और पुराने नाम के तहत पुराने पैकेज हटा दिए गए थे। अन्य संभावित कारण हैं कि पैकेज को रिपॉजिटरी से क्यों हटाया जाता है, साथ ही साथ।

यदि आपके सिस्टम पर एक पैकेज स्थापित किया गया है, लेकिन अब आपके aptद्वारा अपनी सूची में मौजूद किसी भी रिपॉजिटरी में नहीं पाया जा सकता है , तो उस पैकेज को "अप्रचलित" माना जाता है।

अनाथ पैकेज

जैसा कि आप शायद जानते हैं, aptपैकेज के बीच निर्भरता का प्रबंधन कर सकते हैं। उदाहरण के लिए, "ग्रेटप्रोग्राम" नामक एक प्रोग्राम को काम करने के लिए "ग्रेटलाइड्स" नामक एक पुस्तकालय की आवश्यकता होती है। तो, greatlibrary वाले पैकेज को greatprogram वाले पैकेज के एक स्वचालित निर्भरता के रूप में चिह्नित किया जा सकता है। जब तक कि बहुत पहले से स्थापित (या एक ही कमांड के साथ स्थापित नहीं किया जाएगा) आप ग्रेटप्रोग्राम पैकेज को स्थापित करने में सक्षम नहीं होंगे।

लेकिन क्या होगा अगर आप एक बाद के दिन पर greatprogram को अनइंस्टॉल कर देते हैं और greatlibrary को पीछे छोड़ देते हैं? उस मामले में, एक बार कम से कम एक अन्य पैकेज पर निर्भरता के रूप में महानुभावों की आवश्यकता होती है, लेकिन अब कोई भी पैकेज किसी भी लंबे समय तक नहीं करता है। उन "पीछे" पैकेजों को "अनाथ पैकेज" कहा जाता है।

apt-get autoremove

फिर भी एक और तथ्य जो आप शायद जानते हैं, वह यह है कि aptआप के लिए निर्भरताएँ स्वतः हल हो सकती हैं। मान लें कि आप पहले बताए गए महाप्रबंधक को स्थापित करना चाहते हैं, लेकिन अभी तक बहुत बढ़िया स्थापित नहीं हैं। apt-get"नोटिस" कि एक असंतुष्ट निर्भरता है और साथ ही साथ आपको बहुत बढ़िया सुविधाएं स्थापित करने की पेशकश करता है।

apt-get autoremoveआपको किसी भी अनाथ पैकेज को हटाने की पेशकश करता है जो एक निर्भरता को हल करने के लिए इस तरह से स्थापित किया गया है । अन्य तरीकों से स्थापित किए गए अनाथ पैकेज ऑटोरेमोव की सूची में नहीं हैं। अगर, कहते हैं, आपने महानप्रोग्राम स्थापित करने से पहले अपने आप को बहुत बढ़िया स्थापित किया है, और बाद के दिनों में महाप्रकार को अनइंस्टॉल कर दिया है, तो भी अब भी अनाथ हो जाएंगे। लेकिन ऑटोरेमोव इसका ध्यान नहीं रखेगा, क्योंकि यह एक संकल्पित निर्भरता के परिणामस्वरूप स्वचालित रूप से स्थापित नहीं किया गया है।


1
महान विवरण के लिए धन्यवाद। जिज्ञासु हालांकि: deborphanसब कुछ पर क्यों नहीं autoremoveकरता है? मैं समझता हूं कि यह दूसरे तरीके से काम क्यों नहीं करता है।
डेविड केनेडी
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.