चलो इसे तोड़ दो।
सबसे पहले, कैसे 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 को एक अविश्वसनीय स्रोत से एप्लिकेशन इंस्टॉल करने के लिए कहा था।