चलो इसे तोड़ दो।
सबसे पहले, कैसे apt-get install
(और अधिकांश अन्य apt-get
तर्कों पर) कुछ नोट्स काम करते हैं:
आप कई पैकेज नाम इनपुट कर सकते हैं:
sudo apt-get install foobar spamegg
पैकेज के नाम वास्तव में नियमित अभिव्यक्ति (ERE) (चेक विस्तारित कर रहे हैं man 7 regex
) पैटर्न तो एक पैकेज का नाम foo.bar
किसी भी पैकेज का नाम उस के साथ शुरू होता है सबस्ट्रिंग है इसका मतलब है कि foo
के साथ और समाप्त होता है bar
के बीच किसी भी एक वर्ण के साथ foo
और bar
। संभावना f.*r
किसी भी पैकेज नाम को सबस्ट्रिंग कि है होता है इसका मतलब है f
और r
बीच में कुछ भी अर्थात वर्णों की संख्या के साथ। पूरे पैकेज का नाम मिलान करने के लिए, उदाहरण के लिए स्टार्ट एंड एंड का उपयोग करें ^foo.bar$
। यदि आप चाहते हैं कि किसी भी रेगेक्स टोकन का शाब्दिक रूप से इलाज किया जाए, तो आपको टोकन के साथ भागने की जरूरत है \
जैसे कि foo.bar
शाब्दिक रूप से इलाज करने के लिए , आपको आवश्यकता है:
sudo apt-get install 'foo\.bar'
यहां एकल उद्धरण पैटर्न की खोल व्याख्या को एक ग्लोबिंग पैटर्न के रूप में रोकने के लिए है, इस मामले में आवश्यक नहीं है, लेकिन पैटर्न के लिए उदाहरण के लिए आवश्यक है foo.*bar
यदि आपके पास वर्तमान निर्देशिका में एक फ़ाइल है जैसे उदा foo.bar
।
पैकेज नाम विचार पर एक पकड़ है। यदि पैटर्न से मेल खाने वाला कोई पैकेज है, तो पैटर्न का शाब्दिक उपचार किया जाएगा और रेगेक्स की व्याख्या नहीं की जाएगी। उदाहरण के लिए, एक पैकेज पैटर्न के लिए g++
, यह g++
रेगेक्स टोकन के बावजूद पैकेज से मेल खाएगा +
। यदि g++
परिभाषित रिपॉजिटरी में कोई पैकेज नहीं था , तो इसे ईआरई पैटर्न माना जाएगा।
अब, आपने आदेश दिया है:
sudo apt-get install g++ 5.0
इसका मतलब है की:
आप दो पैटर्न प्रदान पैकेज g++
और अर्थात् स्थापित करना चाहते हैं5.0
g++
g++
ऊपर उल्लिखित शाब्दिक मेटा-पैकेज से मेल खाता है
शेष भाग में 5.0
रेगेक्स टोकन है, .
अर्थात कोई भी एकल वर्ण। तो यह किसी भी पैकेज नाम से मेल खाएगा जिसमें शामिल है 5<any_character>0
। इसलिए मैच के लिए चुने गए सभी पैकेजों को स्थापित करने के लिए चुना गया है और संभवतया virtualbox-5.0
इस प्रक्रिया में भी चुना गया है।
संभवतः आप g++
संस्करण स्थापित करना चाहते हैं 5
, इसलिए निम्न कार्य करना ( पहले से ही इस उत्तर में उल्लिखित है ); मेटा-पैकेज, संस्करण 5 g++-5
के नवीनतम उपलब्ध मामूली जारी पैकेज का संदर्भ देगा g++
:
sudo apt-get install g++-5
कॉन्फ़िगर किए गए रिपॉजिटरी के भीतर किसी भी पैकेज की खोज करने के लिए, उपयोग करें apt-cache
(ईआरई की तरह उपयोग करता है apt-get
):
apt-cache search 'g\+\+-[0-9]+'
यदि आप इसे Regex-ify नहीं करना चाहते हैं, तो less
बड़ी सूची को नीचे स्क्रॉल करने के लिए उपयोग करें:
apt-cache search g++ | less
ऐसा कुछ भी स्थापित करने से पहले जिसके बारे में आप निश्चित नहीं हैं, उसका उपयोग न करें -y
( --assume-yes
) विकल्प और पहले -s
( --simulate
/ --dry-run
) के साथ उसका परीक्षण करें :
sudo apt-get install --dry-run foobar
apt-get
उपयोगकर्ता से पुष्टिकरण पूछेगा, ताकि आप बस सम्मिलित कर सकेंn
और वर्चुअलबॉक्स स्थापित करने से बच सकें ... इसके अलावा उबंटू के भंडार की जांच की जाती है, इसलिए कोई भी मैलवेयर पैकेज नहीं होना चाहिए जिसे आप पहली बार में स्थापित कर सकते हैं। यदि आप यादृच्छिक PPA जोड़ते हैं तो ऐसा हो सकता है लेकिन ऐसा इसलिए है क्योंकि आपने Ubuntu को एक अविश्वसनीय स्रोत से एप्लिकेशन इंस्टॉल करने के लिए कहा था।