আসুন এটি ভেঙে দিন।
প্রথমত, 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$
। আপনি আক্ষরিক যেকোনো Regex টোকেন আচরণ হতে চান আপনার সাথে টোকেন অব্যাহতি প্রয়োজন \
চিকিত্সার জন্য যেমন 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
(ERE এর মতো ব্যবহার করুন apt-get
):
apt-cache search 'g\+\+-[0-9]+'
আপনি যদি এটি রিজেক্স-ইফাই করতে না চান less
তবে বরং আরও বড় তালিকাতে স্ক্রোল করতে ব্যবহার করুন :
apt-cache search g++ | less
এছাড়াও আপনি যে বিষয়ে নিশ্চিত নন এমন কোনও কিছু ইনস্টল করার আগে -y
( --assume-yes
) বিকল্পটি ব্যবহার করবেন না এবং এটি প্রথমে -s
( --simulate
/ --dry-run
) দিয়ে পরীক্ষা করুন :
sudo apt-get install --dry-run foobar
apt-get
ব্যবহারকারীর কাছ থেকে নিশ্চিতকরণ জিজ্ঞাসা করবে, সুতরাং আপনি কেবলn
ভার্চুয়ালবক্সটি সন্নিবেশ করানো এবং ইনস্টল করা এড়াতে পারবেন ... এছাড়াও উবুন্টুর সংগ্রহস্থলটি চেক করা হয়েছে, সুতরাং এমন কোনও ম্যালওয়্যার প্যাকেজ নেই যা আপনি প্রথম স্থানে ইনস্টল করতে পারেন। আপনি যদি এলোমেলো পিপিএ যুক্ত করেন তবে এটি ঘটতে পারে তবে আপনি উবুন্টুকে একটি অবিশ্বস্ত উত্স থেকে অ্যাপ্লিকেশন ইনস্টল করতে বলেছিলেন that's