ইয়াম, আরপিএম, অ্যাপ্ট, ডিপিকিজি, অ্যাপিটিচিউড এবং জিপার সহ লিনাক্স প্যাকেজ ম্যানেজমেন্ট - পার্ট 9


গত আগস্টে লিনাক্স ফাউন্ডেশন এলএফসিএস শংসাপত্র ঘোষণা করেছিল ( লিনাক্স ফাউন্ডেশন সার্টিফাইড সিসাদমিন ), সিস্টেম প্রশাসকদের সর্বত্র পারফরম্যান্স-ভিত্তিক পরীক্ষার মাধ্যমে প্রদর্শন করার এক চকচকে সুযোগ, লিনাক্স সিস্টেমগুলির জন্য সামগ্রিক অপারেশনাল সাপোর্টে সাফল্য অর্জন করতে সক্ষম। একটি লিনাক্স ফাউন্ডেশন সার্টিফাইড সিসাদমিনের ইঞ্জিনিয়ারিং সহায়তা দলগুলিতে কার্যকরভাবে সহায়তা সহায়তা, প্রথম স্তরের সমস্যা সমাধান এবং পর্যবেক্ষণ সহ শেষ পর্যন্ত এস্কেলেশন ইস্যু করা সহ দক্ষতা রয়েছে।

নিম্নলিখিত ভিডিওটি দেখুন যা লিনাক্স ফাউন্ডেশন শংসাপত্র প্রোগ্রাম সম্পর্কে ব্যাখ্যা করে।

এই নিবন্ধটি 10 টি টিউটোরিয়াল দীর্ঘ সিরিজের একটি অংশ 9, আজ এই নিবন্ধে আমরা আপনাকে লিনাক্স প্যাকেজ ম্যানেজমেন্ট সম্পর্কে গাইড করব, যা এলএফসিএস শংসাপত্র পরীক্ষার জন্য প্রয়োজনীয়।

প্যাকেজ পরিচালনা

কয়েকটি কথায়, প্যাকেজ পরিচালনা হ'ল সিস্টেমে সফ্টওয়্যার ইনস্টল ও রক্ষণাবেক্ষণের একটি পদ্ধতি (যার মধ্যে আপডেট এবং সম্ভবত অপসারণ অন্তর্ভুক্ত)।

লিনাক্সের প্রথম দিনগুলিতে প্রোগ্রামগুলি কেবল প্রয়োজনীয় কোড পৃষ্ঠা, প্রয়োজনীয় কনফিগারেশন ফাইল এবং আরও অনেক কিছু সহ সোর্স কোড হিসাবে বিতরণ করা হত। আজকাল, বেশিরভাগ লিনাক্স ডিস্ট্রিবিউটর পূর্বনির্ধারিত পূর্বনির্ধারিত প্রোগ্রামগুলি বা প্যাকেজ নামক প্রোগ্রামগুলির সেটগুলির সাহায্যে ব্যবহার করেন যা ব্যবহারকারীরা সেই বিতরণে ইনস্টলেশনের জন্য প্রস্তুত থাকে। যাইহোক, লিনাক্সের অন্যতম বিস্মিততা এখনও অধ্যয়ন, উন্নত ও সংকলিত কোনও প্রোগ্রামের উত্স কোড পাওয়ার সম্ভাবনা।

একটি নির্দিষ্ট প্যাকেজের যদি একটি নির্দিষ্ট সংস্থান যেমন ভাগ করা লাইব্রেরি, বা অন্য প্যাকেজের প্রয়োজন হয় তবে এটির নির্ভরতা বলে মনে করা হয়। সমস্ত আধুনিক প্যাকেজ পরিচালন সিস্টেম প্যাকেজ ইনস্টল হওয়ার পরে, তার সমস্ত নির্ভরতাও ইনস্টল করা হয়েছে তা নিশ্চিত করার জন্য নির্ভরতা সমাধানের কিছু পদ্ধতি সরবরাহ করে।

একটি আধুনিক লিনাক্স সিস্টেমে ইনস্টল করা প্রায় সকল সফ্টওয়্যারই ইন্টারনেটে পাওয়া যাবে। এটি হয় কেন্দ্রীয় ভান্ডারগুলির মাধ্যমে বিতরণ বিক্রেতা দ্বারা সরবরাহ করা যেতে পারে (যার মধ্যে কয়েক হাজার প্যাকেজ থাকতে পারে, যার প্রতিটি নির্দিষ্টভাবে তৈরি করা হয়েছে, পরীক্ষা করা হয়েছে, এবং বিতরণের জন্য রক্ষণাবেক্ষণ করা হয়েছে) বা সোর্স কোডে উপলভ্য যা ম্যানুয়ালি ডাউনলোড এবং ইনস্টল করা যেতে পারে ।

কারণ বিভিন্ন বিতরণ পরিবারগুলি বিভিন্ন প্যাকেজিং সিস্টেম ব্যবহার করে (দেবিয়ান: * .দেব /CentOS: * .আরএম /ওপেনসুএস: * .আরএম বিশেষভাবে নির্মিত ওপেনসুএস), একটি বিতরণ করার উদ্দেশ্যে তৈরি একটি প্যাকেজ অন্য বিতরণের সাথে সামঞ্জস্যপূর্ণ হবে না। তবে, বেশিরভাগ বিতরণ এলএফসিএসের শংসাপত্রের আওতাভুক্ত তিনটি বিতরণ পরিবারের মধ্যে একটির মধ্যে পড়ার সম্ভাবনা রয়েছে।

প্যাকেজ পরিচালনার কার্য কার্যকরভাবে সম্পাদন করার জন্য আপনাকে সচেতন হওয়া দরকার যে আপনার কাছে দুটি ধরণের উপলভ্য ইউটিলিটি থাকবে: নিম্ন স্তরের সরঞ্জাম (যা ব্যাকএন্ডে আসল ইনস্টলেশন, আপগ্রেড এবং প্যাকেজ ফাইলগুলি অপসারণ) এবং উচ্চ-স্তরের সরঞ্জামগুলি (যা নির্ভরতা রেজোলিউশন এবং মেটাডেটা অনুসন্ধানের কাজগুলি - "ডেটা সম্পর্কিত ডেটা" - সম্পাদিত হয়েছে তা নিশ্চিত করার দায়িত্বে)।

আসুন নিম্ন-স্তরের এবং উচ্চ-স্তরের সরঞ্জামগুলির বিবরণ দেখতে দিন।

dpkg হ'ল ডেবিয়ান-ভিত্তিক সিস্টেমগুলির জন্য একটি নিম্ন-স্তরের প্যাকেজ পরিচালক। এটি * .দেব প্যাকেজগুলি ইনস্টল করতে, অপসারণ করতে, সরবরাহ করতে এবং তৈরি করতে পারে তবে এটি তাদের সম্পর্কিত নির্ভরতা স্বয়ংক্রিয়ভাবে ডাউনলোড এবং ইনস্টল করতে পারে না।

আরও পড়ুন : 15 dpkg কমান্ড উদাহরণ

apt-get হ'ল ডেবিয়ান এবং ডেরিভেটিভসের জন্য একটি উচ্চ-স্তরের প্যাকেজ ম্যানেজার, এবং কমান্ড লাইনটি ব্যবহার করে একাধিক উত্স থেকে নির্ভরতা রেজোলিউশন সহ প্যাকেজগুলি পুনরুদ্ধার এবং ইনস্টল করার একটি সহজ উপায় সরবরাহ করে। Dpkg এর বিপরীতে, apt-get সরাসরি * .deb ফাইলগুলির সাথে কাজ করে না, তবে প্যাকেজটির যথাযথ নাম দিয়ে।

আরও পড়ুন : 25 কমান্ডের উদাহরণগুলি গ্রহণ করুন

প্রবণতা হ'ল ডেবিয়ান-ভিত্তিক সিস্টেমগুলির জন্য অন্য একটি উচ্চ-স্তরের প্যাকেজ ম্যানেজার, এবং দ্রুত এবং সহজ উপায়ে পরিচালনা সংক্রান্ত কার্য সম্পাদন করতে (প্যাকেজ ইনস্টল, আপগ্রেড করা, এবং অপসারণ, স্বয়ংক্রিয়ভাবে নির্ভরতা রেজোলিউশন পরিচালনা করতে) ব্যবহার করা যেতে পারে । এটি অ্যাপটি-গেট এবং অতিরিক্তগুলির মতো একই কার্যকারিতা সরবরাহ করে যেমন কোনও প্যাকেজের বিভিন্ন সংস্করণে অ্যাক্সেস সরবরাহ করে।

আরপিএম হ'ল প্যাকেজ পরিচালনা সিস্টেম যা লিনাক্স স্ট্যান্ডার্ড বেস (এলএসবি) দ্বারা ব্যবহৃত হয় - প্যাকেজগুলির নিম্ন-স্তরের পরিচালনার জন্য সম্মতিযুক্ত বিতরণ। ঠিক dpkg এর মতো, এটি প্যাকেজগুলি অনুসন্ধান, ইনস্টল, যাচাই, আপগ্রেড এবং মুছে ফেলতে পারে এবং ফেডোরা-ভিত্তিক বিতরণগুলি যেমন আরএইচইএল এবং সেন্টোস দ্বারা প্রায়শই ব্যবহৃত হয়।

আরও পড়ুন : 20 আরপিএম কমান্ডের উদাহরণ

ইয়াম আরপিএম ভিত্তিক সিস্টেমে নির্ভরতা পরিচালনার সাথে স্বয়ংক্রিয় আপডেট এবং প্যাকেজ পরিচালনার কার্যকারিতা যুক্ত করে। উচ্চ-স্তরের সরঞ্জাম হিসাবে, অ্যাপটি-গেট বা অ্যাপিটিউডের মতো, ইউম সংগ্রহস্থলগুলির সাথে কাজ করে।

আরও পড়ুন : 20 ইয়াম কমান্ডের উদাহরণ

নিম্ন-স্তরের সরঞ্জামগুলির সাধারণ ব্যবহার

নিম্ন স্তরের সরঞ্জামগুলির সাহায্যে আপনি সবচেয়ে ঘন ঘন কাজগুলি হবেন:

এই ইনস্টলেশন পদ্ধতির ক্ষতিটি হ'ল কোনও নির্ভরতা রেজোলিউশন সরবরাহ করা হয় না। বিতরণের সংগ্রহস্থলগুলিতে এই জাতীয় প্যাকেজ উপলব্ধ না থাকায় আপনি সম্ভবত কোনও সংকলিত ফাইল থেকে একটি প্যাকেজ ইনস্টল করার পছন্দ করবেন এবং তাই উচ্চ-স্তরের সরঞ্জামের মাধ্যমে ডাউনলোড এবং ইনস্টল করা যাবে না। যেহেতু নিম্ন-স্তরের সরঞ্জামগুলি নির্ভরতা রেজোলিউশন সম্পাদন করে না, তাই আমরা যদি আনমেট নির্ভরতা না রেখে কোনও প্যাকেজ ইনস্টল করার চেষ্টা করি তবে তারা একটি ত্রুটি সহ প্রস্থান করবে।

# dpkg -i file.deb 		[Debian and derivative]
# rpm -i file.rpm 		[CentOS / openSUSE]

দ্রষ্টব্য: ওপেনসুস, বা তদ্বিপরীত জন্য নির্মিত একটি CentOS একটি * .rpm ফাইল ইনস্টল করার চেষ্টা করবেন না!

আবার, আপনি কেবলমাত্র কোনও ইনস্টল করা প্যাকেজটি ম্যানুয়ালি আপগ্রেড করতে পারবেন যখন এটি কেন্দ্রীয় সংগ্রহস্থলগুলিতে পাওয়া যায় না।

# dpkg -i file.deb 		[Debian and derivative]
# rpm -U file.rpm 		[CentOS / openSUSE]

আপনি যখন ইতিমধ্যে একটি ইতিমধ্যে কাজ করা সিস্টেমে আপনার হাত পাবেন, তখন আপনি কী প্যাকেজগুলি ইনস্টল করা হয়েছে তা জানতে চাইবেন।

# dpkg -l 		[Debian and derivative]
# rpm -qa 		[CentOS / openSUSE]

যদি আপনি কোনও নির্দিষ্ট প্যাকেজ ইনস্টল করা আছে কিনা তা জানতে চাইলে লিনাক্সের ফাইলগুলি - এই সিরিজের ১ ম অংশে ব্যাখ্যা করা হয়েছে, আপনি উপরের কমান্ডগুলির আউটপুটটি গ্রেপ করতে পারেন। মনে করুন আমাদের কোনও উবুন্টু সিস্টেমে mysql-common প্যাকেজ ইনস্টল করা আছে কিনা তা যাচাই করা দরকার।

# dpkg -l | grep mysql-common

প্যাকেজ ইনস্টল করা আছে কি না তা নির্ধারণের আর একটি উপায়।

# dpkg --status package_name 		[Debian and derivative]
# rpm -q package_name 			[CentOS / openSUSE]

উদাহরণস্বরূপ, আমাদের সিস্টেমে sysdig প্যাকেজ ইনস্টল করা আছে কি না তা খুঁজে বার করা যাক।

# rpm -qa | grep sysdig
# dpkg --search file_name
# rpm -qf file_name

উদাহরণস্বরূপ, কোন প্যাকেজ pw_dict.hwm ইনস্টল হয়েছে?

# rpm -qf /usr/share/cracklib/pw_dict.hwm

উচ্চ-স্তরের সরঞ্জামগুলির সাধারণ ব্যবহার

উচ্চ স্তরের সরঞ্জামগুলির সাহায্যে আপনি সবচেয়ে ঘন ঘন কাজগুলি নীচেররূপে করবেন।

প্রবণতা আপডেট উপলভ্য প্যাকেজগুলির তালিকাকে আপডেট করবে এবং প্রবণতা অনুসন্ধান প্যাকেজ_নাম এর জন্য প্রকৃত অনুসন্ধান সম্পাদন করবে।

# aptitude update && aptitude search package_name 

অনুসন্ধানের সমস্ত বিকল্পে ইউ প্যাকেজ_নাম কেবল প্যাকেজের নাম নয়, প্যাকেজ বিবরণেও অনুসন্ধান করবে।

# yum search package_name
# yum search all package_name
# yum whatprovides “*/package_name”

ধরা যাক আমাদের এমন একটি ফাইলের দরকার যাঁর নাম সিসডিগ । সেই প্যাকেজটি জানতে আমাদের ইনস্টল করতে হবে, চলুন।

# yum whatprovides “*/sysdig”

হোয়াট প্রোভাইডস প্যাকেজটি অনুসন্ধান করতে ইয়াম কে বলছে প্যাকেজ একটি ফাইল সরবরাহ করবে যা উপরের নিয়মিত অভিব্যক্তির সাথে মেলে matches

# zypper refresh && zypper search package_name		[On openSUSE]

প্যাকেজ ইনস্টল করার সময়, প্যাকেজ ম্যানেজার সমস্ত নির্ভরতা সমাধান করার পরে আপনাকে ইনস্টলেশন নিশ্চিত করার জন্য অনুরোধ করা হতে পারে। নোট করুন যে আপডেট করা বা রিফ্রেশ চালানো (প্যাকেজ ম্যানেজার হিসাবে ব্যবহৃত হচ্ছে) এর জন্য কঠোরভাবে প্রয়োজন হয় না, তবে ইনস্টলড প্যাকেজগুলি আপ টু ডেট রাখা সিকিউরিটি এবং নির্ভরতার কারণে সিসডমিন অনুশীলন।

# aptitude update && aptitude install package_name 		[Debian and derivatives]
# yum update && yum install package_name 			[CentOS]
# zypper refresh && zypper install package_name 		[openSUSE]

অপসারণ বিকল্পটি প্যাকেজটি আনইনস্টল করবে তবে কনফিগারেশন ফাইল অক্ষত রেখে দেওয়া হবে, তবে শুদ্ধি আপনার সিস্টেম থেকে প্রোগ্রামের প্রতিটি চিহ্ন মুছে ফেলবে
# প্রবণতা অপসারণ/শুদ্ধ প্যাকেজ_নাম
# ইয়ম মুছুন প্যাকেজ_নাম

---Notice the minus sign in front of the package that will be uninstalled, openSUSE ---

# zypper remove -package_name 

বেশিরভাগ (সমস্ত না থাকলে) প্যাকেজ পরিচালকগণ আপনাকে ডিফল্টরূপে অনুরোধ জানাবে, যদি আপনি বাস্তবে এটি সম্পাদন করার আগে আনইনস্টলেশন নিয়ে এগিয়ে যাওয়ার বিষয়ে নিশ্চিত হন। সুতরাং অপ্রয়োজনীয় ঝামেলা এড়াতে অনস্ক্রিন বার্তা সাবধানে পড়ুন!

নিম্নলিখিত কমান্ড জন্মদিন প্যাকেজ সম্পর্কে তথ্য প্রদর্শন করবে।

# aptitude show birthday 
# yum info birthday
# zypper info birthday

সারসংক্ষেপ

প্যাকেজ পরিচালনা এমন একটি বিষয় যা আপনি কেবলমাত্র প্রশাসক হিসাবে গালিচা করতে পারেন না। আপনার এই নিবন্ধে বর্ণিত সরঞ্জামগুলি মুহুর্তের নোটিশে ব্যবহার করতে প্রস্তুত হওয়া উচিত। আশা করি << এলএফসিএস পরীক্ষার জন্য এবং আপনার দৈনন্দিন কাজের জন্য আপনার প্রস্তুতির ক্ষেত্রে এটি দরকারী বলে মনে হয়েছে। আপনার মতামত বা প্রশ্ন নীচে ছেড়ে নির্দ্বিধায়। যত তাড়াতাড়ি সম্ভব আপনার কাছে ফিরে এসে আমরা আরও খুশি হব।