क्या मुझे APT में कार्यस्थल, कार्यों का उपयोग करना चाहिए या नियमित रूप से रूपक स्थापित करना चाहिए?


37

टास्केल या सादे एप्ट?

अतीत में मैंने हमेशा taskselतथाकथित "कार्यों" को स्थापित करने के लिए उपयोग किया है। हालांकि, ऐसा लगता है कि यह APT में एकीकृत किया गया है:

apt-cache dumpavail | grep ^Task
[...] snip
Task: lamp-server
[...]

और यह कि मैं इस तरह के "कार्य" को एक कैरेट ( ^) में जोड़कर स्थापित कर सकता हूं :

sudo apt-get install lamp-server^

क्या यह निम्नलिखित के बराबर है?

sudo tasksel install lamp-server

और जो पसंद किया जाता है?

Metapackages

इसके अतिरिक्त, यहाँ मेटाफ़ेकेज़ कैसे खेलते हैं? कुछ कार्यों में एक बदलाव नहीं हुआ है, जबकि अन्य हैं:

apt-cache show lamp-server
N: Unable to locate package lamp-server

apt-cache show kubuntu-desktop
Package: kubuntu-desktop
[...]
Task: kubuntu-desktop

तो, अंतिम उदाहरण का उपयोग करके, स्थापित करने के लिए निम्नलिखित तीन संभावित तरीकों में क्या अंतर है?

  • sudo apt-get install kubuntu-desktop
  • sudo apt-get install kubuntu-desktop^
  • sudo tasksel install kubuntu-desktop

2
apt-get install -s lubuntu-desktopबनाम के आउटपुट को देखें apt-get install -s lubuntu-desktop^। उत्तरार्द्ध में, आपको कुछ इस तरह दिखाई देगा: नोट, कार्य के लिए 'पॉलिसीकीट-1-सूक्ति' का चयन करना, कार्य के लिए 'लुबंटू-डेस्कटॉप' / नोट, कार्य के लिए 'सूक्ति-कीरिंग' का चयन करना 'नोट-लुबंटू-डेस्कटॉप' / नोट का चयन करना 'libplist1' कार्य के लिए 'lubuntu-desktop' / नोट, कार्य के लिए 'aspell-en' का चयन करते हुए, 'lubuntu-desktop' / नोट के लिए, 'libsdl1.2debian' कार्य के लिए 'lubuntu-desktop / / So' का चयन करते हुए, इस विशेष मामले में , मुझे यकीन नहीं है कि "गाजर" एक बेहतर है।

यहाँ और अधिक पढ़ें: askubuntu.com/a/249373/25656

1
# काम के बारे में जानकारी: कार्यों को हटाने के लिए इसका इस्तेमाल कभी न करें - लॉन्चपैड पर बग रिपोर्ट
guntbert

जवाबों:


36

संक्षेप में: वहाँ है tasksel और कार्यों की apt-get स्थापना की प्रक्रिया के बीच एक अंतर।

अपने उदाहरण को देखते हुए:

उपयुक्त तरीका है

sudo apt-get install 'lamp-server^' निम्नलिखित करने के लिए मूल्यांकन करेगा:

  1. सभी "कार्य:" फ़ील्ड के लिए कैश (पैकेज सूची फ़ाइलें) खोजें और "दीपक-सर्वर" के साथ सभी प्राप्त करें।
  2. उन पैकेजों को मानक तरीके से स्थापित करें:

    sudo apt-get install package1 package2...
    

कार्यस्थल का तरीका

sudo tasksel install lamp-serverइसके विन्यास फाइल में से एक में "लैम्प-सर्वर" नामक कार्य की तलाश करेंगे /usr/share/tasksel/**/*.desc:

  1. "टास्क:" फ़ील्ड के लिए "लैंप-सर्वर" नामक कॉन्फ़िगरेशन फ़ाइलों को खोजें।
  2. जांचें कि क्या सभी पूर्वापेक्षाएँ उपलब्ध हैं ("कुंजी:" फ़ील्ड) और यदि स्थापित नहीं हैं तो उन्हें याद रखें।
  3. पैकेज चुनने के लिए विधि चुनें ("पैकेज:" फ़ील्ड)। यदि यह "सूची" है तो बस नाम से निम्नलिखित पैकेज स्थापित करें।
  4. सभी निम्नलिखित पैकेज नामों को पढ़ें और पैकेज नामों को उत्पन्न करने के लिए इसे पहले से चयनित विधि से पास करें।
  5. के लिए देखो /usr/lib/tasksel/info/lamp-server.preinst। यदि यह मौजूद है तो इस स्क्रिप्ट को निष्पादित करें।
  6. निम्नलिखित आदेश का उपयोग करके apt-get के साथ संकुल स्थापित करें:

    debconf-apt-progress -- apt-get -q -y -o APT::Install-Recommends=true -o APT::Get::AutomaticRemove=true install package1 package2 ...
    
  7. के लिए देखो /usr/lib/tasksel/info/lamp-server.postinst। यदि यह मौजूद है तो इस स्क्रिप्ट को निष्पादित करें।

निष्कर्ष

कार्यस्थल प्रसंस्करण और कार्यों के चयन में अधिक शक्तिशाली है। यह कार्यों की स्थापना / हटाने से पहले / बाद में अतिरिक्त स्क्रिप्ट निष्पादित कर सकता है। और सबसे बड़ा लाभ: आप कार्यों को संशोधित कर सकते हैं और बहुत आसानी से नए बना सकते हैं। कमियां (वैध हस्ताक्षर) के बिना आधिकारिक पैकेज सूची फ़ाइल को संपादित करना संभव नहीं है।

अपने पहले प्रश्न पर वापस जाएं:
आपके विशेष मामले में दोनों कमांड लगभग बराबर हैं (माना जाता है कि आपने दोनों को सक्षम किया है APT::Install-Recommendsऔर APT::Get::AutomaticRemove)। केवल अंतर mysql-serverऔर apache2निर्भरता की विस्तारित पैकेज स्थिति है (सादे एपेट के साथ "मैन्युअल रूप से स्थापित" पर सेट)।

और रूपक के बारे में क्या?

यदि आप कार्य के चयन (विशेष रूप से स्थापना के समय सहायक) और कुछ कार्य खंडों से पहले और बाद में अतिरिक्त आदेशों को निष्पादित करने जैसे कार्यस्थल की सुविधाओं का उपयोग नहीं करते हैं, तो एक कार्य एक रूपक के समान है। अंतर यह है: APT कैश में एक कार्य पैकेज के रूप में पंजीकृत नहीं है।
इसलिए यदि आप एक कार्य-निर्भरता की स्थापना रद्द करते हैं, तो अन्य कार्य-डिपो को स्वतः स्थापित के रूप में चिह्नित नहीं किया जाता है क्योंकि वे विस्फोटक रूप से स्थापित थे। यदि आप किसी मेटापेज को अनइंस्टॉल करते हैं तो निर्भरताएं हटा दी जाती हैं autoremoveक्योंकि उनकी विस्तारित पैकेज स्थिति "ऑटो इंस्टॉल" है (यदि मैन्युअल रूप से स्थापित नहीं है)।
नोट: डेबियन में सभी वितरित कार्यों को एक मेटापैकेज नाम दिया गया है task-TASKNAME

अपना उदाहरण देते हुए:

  1. sudo apt-get install kubuntu-desktop
    • रूपक स्थापित करेगा kubuntu-desktop। निर्भरताएं "ऑटो स्थापित" हैं।
  2. sudo apt-get install kubuntu-desktop^
    • कार्य "कुबंटू-डेस्कटॉप" के साथ टैग किए गए सभी पैकेजों का चयन करेंगे। वे सभी रूपक की निर्भरता हैं kubuntu-desktop। वे सभी "मैन्युअल रूप से स्थापित" के रूप में चिह्नित हैं।
  3. sudo tasksel install kubuntu-desktop
    • सुनिश्चित करें कि टास्क के पैकेज स्थापित करने से पहले X स्थापित किया गया है।
    • रूपक स्थापित करेगा kubuntu-desktop। निर्भरताएं "ऑटो स्थापित" हैं।
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.