क्या Is एप्ट-गेट ’को पदावनत किया जाता है?


54

हाल ही में, मैंने कई लोगों को उपयोग करते देखा है

sudo apt

के बजाय

sudo apt-get

इसके अलावा, उबंटू मुझे चीजों को स्थापित करने के लिए कहता रहता है sudo apt

The program 'foo' is currently not installed. You can install it by typing:
sudo apt install foo

(याद रखें, फू प्लेसहोल्डर है, ऐप नहीं)

इसलिए, aptइसके बजाय समुदाय में इस लोकप्रियता का उपयोग करने के बाद apt-get, मैं यह सोचना शुरू कर रहा हूं कि एप्ट-गेट को हटा दिया गया है और अब मेरे बैश कार्यक्रमों में उपयोग नहीं किया जा सकता है।

मेरे बैश कार्यक्रमों में,

  • क्या मुझे सभी apt-getआदेशों को बदलना होगा apt?
  • है apt-getखतरनाक?
  • क्या मेरे कार्यक्रम अभी भी काम करेंगे?

7
इस संबंधित पोस्ट देखें: askubuntu.com/q/445384/295286
सर्जियो कोलोडियाज़नी


2
कुछ उपयोगकर्ताओं (जैसे स्वयं) का उपयोग करने aptका कारण यह है क्योंकि यह इससे छोटा है apt-get। कम कीस्ट्रोक्स, कम समय बिताया। मैं हालांकि apt-getजैसी चीजों के लिए उपयोग करता हूं check
गैलिफ्रेयन

जवाबों:


36

apt-getनिचले स्तर और पीछे संगत है। aptअंत उपयोगकर्ताओं के लिए बेहतर है और इसमें मौजूद कुछ अतिरिक्त सुविधाओं की आवश्यकता नहीं है या इसमें शामिल नहीं हैं apt-get

दोनों बिल्कुल ठीक हैं। apt-getपदावनत नहीं किया जाता है, लेकिन आपकी 15.10 स्थापना है :)

संपादित करें: apt के आदमी पृष्ठ से (8)

उपयुक्त कमांड अंत उपयोगकर्ताओं के लिए सुखद होने के लिए है और इसे apt-get (8) की तरह पिछड़े संगत होने की आवश्यकता नहीं है।

Edit2: aptकुछ मूलभूत निर्भरता खामियों को ठीक करने के लिए डिज़ाइन किया गया था apt-get। जैसा कि यह एक आवरण है, aptइसलिए उच्च स्तर है, और कुछ पिछड़ी हुई संगतता और स्क्रिप्टिंग सुविधाओं को भी खो देता है।


19
क्या सुविधाएँ उपयुक्त नहीं हैं-उपयुक्त नहीं हैं? और अंत उपयोगकर्ता के लिए उपयुक्त कैसे है?
अनवर

4
फिर से, apt-get apt से निचला स्तर नहीं है। यह एक भ्रामक जानकारी है। apt-get और apt के रूप में apt समान स्तर पर है, apt-get और apt-cache के आसपास एक आवरण के अलावा और कुछ नहीं है
Anwar

@ अनवर: मतभेद हैं। एक उदाहरण: apt upgradeapt-get upgrade, चूंकि पूर्व में नए पैकेज स्थापित होते हैं, जबकि बाद वाला नहीं होता है।
गुन्नार हेजलारसन 15

26
@ अनवर अगर aptएक रैपर है apt-getतो यह निश्चित रूप से उच्च-स्तर है।
तेवियन बार्न्स

2
@ अनवर वास्तव में "उच्च स्तर" या "निचले स्तर" होने की परिभाषा है। apt उच्च स्तर है क्योंकि यह apt-get को लपेटता है। एक प्रकार का परीक्षण यह है कि यदि आपका एप्टिट्यूड दूषित हो गया है, तो एप्टीट्यूड अभी भी काम करेगा- लेकिन इसके विपरीत नहीं।
सर रॉबर्ट

47

नहीं, apt-getपदावनत नहीं किया जाता है। बनाम (और ) के aptबारे में कहने के लिए इस आदमी के पेज :aptapt-getapt-cache

SCRIPT उपयोग और अन्य उपकरणों से अन्य उपकरण

Apt (8) कमांडलाइन को एंड-यूज़र टूल के रूप में डिज़ाइन किया गया है और यह संस्करणों के बीच व्यवहार को बदल सकता है। हालांकि यह पिछड़ी अनुकूलता को न तोड़ने की कोशिश करता है लेकिन इसकी गारंटी नहीं दी जाती है यदि कोई परिवर्तन इंटरैक्टिव उपयोग के लिए फायदेमंद लगता है।

Apt (8) के सभी फीचर्स apt-get (8) और apt-cache (8) जैसे समर्पित APT टूल्स में उपलब्ध हैं। apt (8) बस कुछ विकल्पों के डिफ़ॉल्ट मान को बदलता है (apt.conf (5) और विशेष रूप से बाइनरी गुंजाइश देखें)। इसलिए आपको अपनी स्क्रिप्ट्स में इन कमांड्स (संभवतः कुछ अतिरिक्त विकल्पों के साथ सक्षम) का उपयोग करना पसंद करना चाहिए क्योंकि वे जितना संभव हो सके पिछड़ेपन को बनाए रखते हैं।

apt एक चेतावनी भी देता है जो कहता है

WARNING: apt does not have a stable CLI interface. Use with caution in scripts.

यदि यह पता लगाता है कि एक पाइप है। उदाहरण के लिए:

$ apt show python | grep Package

WARNING: apt does not have a stable CLI interface. Use with caution in scripts.

Package: python
APT-Sources: http://us.archive.ubuntu.com/ubuntu xenial/main amd64 Packages

अपने प्रश्नों के लिए,

क्या मुझे सभी उपयुक्त-आदेशों को बदलना होगा apt?

नहीं, आप को बदलने के लिए की जरूरत नहीं है apt-getके साथ apt। इसके बजाय यदि आप इसे लिपियों में उपयोग कर रहे हैं, तो आपको apt-getस्थिर रहना चाहिए क्योंकि इसमें एक स्थिर सीएलआई एपीआई और गारंटीकृत बैकवर्ड संगतता है।

है apt-getखतरनाक?

aptजितना खतरनाक है apt-get: आपको केवल उन स्रोतों से सॉफ़्टवेयर स्थापित करना चाहिए जिन पर आप भरोसा करते हैं।

मैं aptUbuntu 15.10 में उपयोग कर सकते हैं ?

हाँ, आप कर सकते हैं। यहाँ समस्या यह है कि आप अभी भी Ubuntu 15.10 का उपयोग कर रहे हैं, जो अब असमर्थित है! कृपया 16.04 में अपग्रेड करें, जो एलटीएस संस्करण है।

क्या मेरे कार्यक्रम अभी भी काम करेंगे?

कार्यक्रमों के द्वारा, मेरा मानना ​​है कि आप स्क्रिप्ट का मतलब है। हां, वे तब भी काम करेंगे जब apt-getसे पदावनत नहीं किया जाता है। वास्तव में, आपको apt-getपिछड़े संगतता के लिए स्क्रिप्ट में उपयोग करना पसंद करना चाहिए जैसा कि aptमैन पेज द्वारा सुझाया गया है ।


7

aptऔर apt-getमूल रूप से एक ही पैकेज मैनेजर हैं, जो वे करते हैं वही है।

एक अंतर यह है कि aptउदाहरण के लिए इसमें विशेषताएं भी हैं apt-cacheऔर इसमें एक अच्छा दिखने वाला आउटपुट है।

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

आप दोनों का उपयोग कर सकते हैं, जो भी आप चाहें।


apt जोड़ा देरी के साथ उपयुक्त-कैश सुविधाएँ प्रदान करता है! उपयुक्त खोज पैकेज और उपयुक्त-कैश खोज पैकेज का उपयोग करने का प्रयास करें। नीति का उपयोग करते हुए समान
अनवर

@ अनवर मैं उपयोग करने में कोई अंतर नहीं देखता apt(-cache) policy। इसके साथ apt(-cache) search, गति में अंतर है, हाँ, लेकिन aptबदले में स्वरूपित और अच्छी तरह से स्वरूपित होता है।
बाइट कमांडर

-1

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

चूंकि apt-getइन स्थितियों में बहुत बेहतर था और इसमें कोई गिरावट नहीं थी, इसलिए मैंने हार मान ली aptऔर apt-getइसके बजाय उपयोग करना जारी रखा । यह कई साल पहले था, इसलिए यह बदल गया हो सकता है, लेकिन यदि आप एक समान स्थिति में भाग लेते हैं, तो आप दोनों को आज़माना चाहते हैं और देख सकते हैं कि कौन सा संघर्ष बेहतर तरीके से हल कर सकता है।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.