অপ্রচলিত প্যাকেজ বনাম এতিম প্যাকেজগুলি


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প্যাকেজগুলির মধ্যে নির্ভরতা পরিচালনা করতে পারেন। উদাহরণস্বরূপ বলুন, "গ্রেটপ্রগ্রাম" নামে একটি প্রোগ্রামটির কাজ করার জন্য "গ্রেটলিবারি" নামে একটি লাইব্রেরি প্রয়োজন। সুতরাং, গ্রেটলিব্রিযুক্ত প্যাকেজটিকে গ্রেটপ্রগ্রামযুক্ত প্যাকেজের স্বয়ংক্রিয় নির্ভরতা হিসাবে চিহ্নিত করা যেতে পারে। গ্রেটলিবারি ইতিমধ্যে ইনস্টল না করা থাকলে (বা একই কমান্ডের সাথে ইনস্টল করা হবে) আপনি গ্রেটপ্রগ্রাম প্যাকেজ ইনস্টল করতে পারবেন না।

তবে আপনি যদি পরের দিন গ্রেটপ্রগ্রামটি আনইনস্টল করেন এবং গ্রেটলিব্রিটি পিছনে রেখে যান তবে? সেক্ষেত্রে একবার অন্তত অন্য একটি প্যাকেজের নির্ভরতা হিসাবে গ্রেটলিবারি দরকার ছিল, তবে এখন আর কোনও প্যাকেজ আর কাজ করে না। "পিছনে" প্যাকেজগুলিকে "অনাথ প্যাকেজ" বলা হয়।

apt-get autoremove

আপনি সম্ভবত জানেন যে আরও একটি সত্য যা aptআপনার জন্য স্বয়ংক্রিয়ভাবে নির্ভরতা সমাধান করতে পারে। বলুন আপনি উল্লিখিত গ্রেটপ্রগ্রামটি ইনস্টল করতে চান তবে এখনও গ্রেটলিবারি ইনস্টল করবেন না। apt-get"বিজ্ঞপ্তি" যে এখানে একটি অসম্পৃক্ত নির্ভরতা রয়েছে এবং আপনাকে গ্রেটলিবারিও ইনস্টল করার প্রস্তাব দেয়।

apt-get autoremoveনির্ভরতা সমাধানের জন্য আপনাকে যে কোনও অনাথ প্যাকেজ ইনস্টল করা হয়েছে তা সরানোর প্রস্তাব দেয় । অনাথ প্যাকেজগুলি যা অন্য উপায়ে ইনস্টল করা হয়েছে সেগুলি অটোরেমোভের তালিকায় নেই। যদি বলে, আপনি গ্রেটগ্রোগ্রাম ইনস্টল করার আগে নিজেকে গ্রেটলিব্রিটি ইনস্টল করেছেন এবং পরের দিন গ্রেটগ্রোগ্রাম আনইনস্টল করেন তবে গ্রেটলিবারি এখনও অনাথ হবে। তবে স্বতঃসংশ্লিষ্ট এটি এর যত্ন নেবে না, কারণ এটি একটি নির্ভরযোগ্য নির্ভরতার ফলে স্বয়ংক্রিয়ভাবে ইনস্টল করা হয়নি।


1
দুর্দান্ত ব্যাখ্যার জন্য ধন্যবাদ। যদিও কৌতূহল: কেন deborphanসবকিছু autoremoveকরে না? আমি বুঝতে পারি কেন এটি অন্যভাবে কাজ করে না।
ডেভিড কেনেডি
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.