এই নিবন্ধে, আমরা YUM বিবেচনা করব প্যাকেজ ম্যানেজার যা প্রোগ্রাম (RPM প্যাকেজ) ইনস্টলেশন, অপসারণ এবং আপডেট, স্বয়ংক্রিয়ভাবে নির্ভরতা সমাধান এবং অতিরিক্ত সংগ্রহস্থল পরিচালনা করতে দেয়। এই নিবন্ধটি লিনাক্স প্রশাসকদের জন্য একটি yum চিট শীট হিসাবে দরকারী হবে।
ইম (Yellowdog Updater Modified) হল RPM প্যাকেজ (RedHat Package Manager) এর উপর ভিত্তি করে Linux distros-এর জন্য একটি কনসোল প্যাকেজ ম্যানেজার। এর মধ্যে রয়েছে RedHat, CentOS, Fedora, Oracle Linux, Scientific Linux এর মতো জনপ্রিয় ওএস।
YUM ব্যবহার করে প্যাকেজ ইনস্টল করা, আপডেট করা এবং অপসারণ করা
কি দিয়ে শুরু করবেন? অন্য যেকোনো ক্ষেত্রের মতো, আসুন সাহায্য দিয়ে শুরু করি:
yum help
- yum-এ সম্পূর্ণ সাহায্য
আমি সবচেয়ে জনপ্রিয় yum কমান্ড হাইলাইট করব:
yum clean all
– সমস্ত প্যাকেজের ক্যাশে পরিষ্কার করে (যদি কোনো সমস্যা হলে সাধারণত ব্যবহৃত হয়)
yum makecache
- প্যাকেজ ক্যাশে পুনরায় তৈরি করে
yum repolist
– সমস্ত সংযুক্ত সংগ্রহস্থলের তালিকা প্রদর্শন করে, আউটপুটটি এইরকম দেখায়:
Loaded plugins: fastestmirror Loading mirror speeds from cached hostfile * base: * extras: * updates: repo id repo name status base/7/x86_64 CentOS-7 - Base 10,019 extras/7/x86_64 CentOS-7 - Extras 435 updates/7/x86_64 CentOS-7 - Updates 2,500 repolist: 12,954
আমার সিস্টেমে শুধুমাত্র স্ট্যান্ডার্ড CentOS 7 সংগ্রহস্থল ইনস্টল করা আছে:বেস, এক্সট্রা এবং আপডেট।
yum list available
- ইনস্টলেশনের জন্য উপলব্ধ সমস্ত প্যাকেজের তালিকা প্রদর্শন করে৷
yum list installed
- সিস্টেমে ইনস্টল করা সমস্ত প্যাকেজের তালিকা দেখায়৷
yum list kernel
– লিনাক্স কার্নেলের সাথে সম্পর্কিত প্যাকেজের তালিকা প্রদর্শন করে।
আপনার CentOS সার্ভারে একটি নির্দিষ্ট প্যাকেজ ইনস্টল করা আছে কিনা তা আপনি পরীক্ষা করতে পারেন (উদাহরণস্বরূপ, অ্যাপাচি প্যাকেজের স্থিতি পরীক্ষা করুন):
yum list installed httpd
Installed Packages httpd.x86_64 2.4.6-89.el7.centos.1 @updates
আপনি একটি নির্দিষ্ট প্যাকেজ সম্পর্কে বিস্তারিত তথ্য পেতে পারেন। উদাহরণস্বরূপ, আসুন MariaDB প্যাকেজ সম্পর্কে আরও তথ্য পান:
yum info mariadb
একটি প্যাকেজ ইনস্টল করতে, yum install
ব্যবহৃত হয়. অ্যাপাচি ওয়েব সার্ভার ইনস্টল করতে, এই কমান্ডটি চালান:
yum install httpd
plugins=0
উল্লেখ করুন /etc/yum.conf
-এ ) একটি প্যাকেজ ইনস্টল করার আগে, আপনি কমান্ড ব্যবহার করে এর নির্ভরতা পরীক্ষা করতে পারেন:
yum deplist httpd
আপনি যদি একটি প্যাকেজ ইনস্টল করতে চান, কিন্তু আপনি তার পুরো নাম ভুলে গেছেন, আপনি *
ব্যবহার করতে পারেন ওয়াইল্ডকার্ড যেমন:
yum install epel-*
Resolving Dependencies --> Running transaction check ---> Package epel-release.noarch 0:7-11 will be installed --> Finished Dependency Resolution Install 1 Package Total download size: 15 k Installed size: 24 k Is this ok [y/d/N]:
যদি আপনি শুধু লিখুন:
yum install epel
No package epel available. Error: Nothing to do৷
আপনি উপলব্ধ কোনো প্যাকেজ দেখতে পাবেন না.
Yum একসাথে একাধিক প্যাকেজ ইনস্টল করতে পারে:
yum install httpd php wget rsyslog
একটি প্যাকেজ পুনরায় ইনস্টল করতে:
yum reinstall proftpd
yum-এর সাথে একটি ইনস্টল করা প্যাকেজ অপসারণ করতে, রিমুভ প্যারামিটার ব্যবহার করা হয়:
yum remove httpd
আপনি কোনো প্যাকেজ মুছে ফেলার আগে, এটির নির্ভরতা পরীক্ষা করার পরামর্শ দেওয়া হয় (এমন কিছু প্যাকেজ আছে যা অন্য কিছু প্যাকেজ অপসারণের চেষ্টা করলে সেগুলিকে সরিয়ে দেয়)।
yum deplist proftpd
একটি প্যাকেজ এর নাম বা বর্ণনা দ্বারা খুঁজে পেতে:
yum search nginx
প্রদান বিকল্পটি ব্যবহার করে, আপনি নির্দিষ্ট ফাইল ধারণকারী প্যাকেজগুলি খুঁজে পেতে পারেন, উদাহরণস্বরূপ:
yum provides */squid.conf
প্রদান করে
সমস্ত ইনস্টল করা প্যাকেজ আপডেট করতে, এই কমান্ডটি চালান:
yum update
আপনি একটি প্যাকেজ এর নাম দিয়ে আপডেট করতে পারেন:
yum update php
আপনি নিম্নলিখিত কমান্ডের মাধ্যমে আপনার সিস্টেমের জন্য উপলব্ধ কোনো আপডেট আছে কিনা তা পরীক্ষা করতে পারেন:
yum check-update
উপলব্ধ নিরাপত্তা আপডেট সম্পর্কে তথ্য পেতে:
yum updateinfo list security
কিছু ক্ষেত্রে, আপনি একটি প্যাকেজ বা পরিষেবা আপডেট করার পরে সমস্যা হতে পারে। উদাহরণস্বরূপ, আপনি php সংস্করণ আপডেট করার পরে আপনার সাইটটি কাজ করা বন্ধ করে দিয়েছে। আপনি yum:
ব্যবহার করে আগের প্যাকেজ সংস্করণে ফিরে যেতে পারেন
yum downgrade php
আপনি গ্রুপলিস্ট এর সাথে প্যাকেজগুলির গ্রুপ ইনস্টলেশনও ব্যবহার করতে পারেন . সংগ্রহস্থলে বিভিন্ন প্রোগ্রাম সেট সহ কিছু পূর্বনির্ধারিত প্যাকেজ গ্রুপ রয়েছে। আপনি এই দলের তালিকা প্রদর্শন করতে পারেন:
yum grouplist
আসুন দেখি কিভাবে এটি "বেসিক ওয়েব সার্ভার" তালিকার উদাহরণে কাজ করে। গ্রুপ এবং এর প্যাকেজ সম্পর্কে আরও জানতে:
yum groupinfo "Basic Web Server"
চেক করার পরে আমরা দেখতে পাই যে একটি ওয়েব সার্ভারের জন্য প্যাকেজ এবং পরিষেবাগুলির সেট ইনস্টল করা হবে৷
এখানে আরেকটি দরকারী গ্রুপ তালিকা রয়েছে – “সিস্টেম অ্যাডমিনিস্ট্রেশন টুলস”:
yum groupinfo "System Administration Tools”
আপনি দেখতে পাচ্ছেন, তালিকায় মনিটরিং এবং ডিবাগিং টুল রয়েছে।
আপনি এই কমান্ডটি ব্যবহার করে গ্রুপ তালিকা ইনস্টল করতে পারেন:
yum groupinstall "System Administration Tools"
ইনস্টল করা প্যাকেজগুলি একটি পৃথক ব্লকে প্রদর্শিত হবে ("ইনস্টল করা গোষ্ঠী"):
YUN ইতিহাস কমান্ড ব্যবহার করা
আপনি ব্যবহার করে yum ইনস্টলেশন ইতিহাস (লেনদেনের তালিকা) প্রদর্শন করতে পারেন:
yum history list
আউটপুট 5টি কলাম নিয়ে গঠিত, প্রথমটি লেনদেন আইডি দেখায় যা আপনি লেনদেনের বিবরণ দেখতে ব্যবহার করতে পারেন (ইনস্টল করা প্যাকেজ, নির্ভরতা)।
যেমন:
yum history info 10
তাছাড়া, আপনি কমান্ড ব্যবহার করে লেনদেন পূর্বাবস্থায় ফেরাতে পারেন:
yum history undo 10
আমার ক্ষেত্রে, 4টি প্যাকেজ সরানো হবে:
আপনি /var/log/yum.log-এ yum প্যাকেজ ইনস্টলেশন/রিমুভাল সম্পর্কে তথ্য দেখতে পারেন :
cat /var/log/yum.log
উপযোগী YUM কমান্ড বিকল্প
ইয়ামের কিছু দরকারী বিকল্প রয়েছে যা আপনাকে প্রায়শই প্যাকেজগুলি পরিচালনা করতে হতে পারে। -y ব্যবহার করুন ত্রুটি ব্যতীত সমস্ত yum আউটপুট দমন করার বিকল্প। যেমন:
yum update -y yum install httpd -y
না বলার জন্য অনুরোধ করতে, এই বিকল্পটি ব্যবহার করুন:
--assumeno
কোনো প্লাগইন ছাড়াই yum ব্যবহার করতে বা তাদের একটি নিষ্ক্রিয় করতে, প্যারামিটার ব্যবহার করুন:
--noplugins
--disableplugin=fastestmirror
একটি নিষ্ক্রিয় প্লাগইন সক্ষম করতে:
--enableplugin=fastestmirror
একটি অক্ষম রেপো ব্যবহার করতে:
yum update –enablerepo=atomic
yum-এ একটি নির্দিষ্ট সংগ্রহস্থল নিষ্ক্রিয় করতে:
yum update –disablerepo=atomic
YUM কনফিগারেশন ফাইল /etc/yum.conf
YUM কনফিগারেশন ফাইলটি হল /etc/yum.conf
.
প্রধান কনফিগার ফাইল পরামিতি হল:
- ক্যাচেডির – একটি স্থানীয় প্যাকেজ ক্যাশে (ডিফল্টরূপে, /var/cache/yum)
- লগফাইল — yum লগ ফাইলের পথ
- অপ্রচলিত — অপ্রচলিত প্যাকেজ আপডেট করবেন কিনা (1 — হ্যাঁ, 0 — না)
- gpgcheck — ইনস্টলেশনের আগে প্যাকেজ যাচাই করুন (1 — হ্যাঁ, 0 — না)
- ক্যাশে রাখুন — ক্যাশে রাখতে হবে কিনা (1 — হ্যাঁ, 0 — না)
- ক্যাচেডির — yum ক্যাশে সংরক্ষণ করার ডিরেক্টরি (ডিফল্টরূপে, /var/cache/yum)
- ডিবাগলেভেল – ডিবাগ স্তর 1-10
- প্লাগইন —ইয়ম প্লাগইনগুলি সক্ষম করুন (1 — হ্যাঁ, 0 — না)
- bugtracker_url - লিংক যেখানে yum ত্রুটি নিবন্ধিত হবে
- installonly_limit – একটি প্যাকেজের জন্য ইনস্টল করা হতে পারে এমন সংস্করণের সর্বাধিক সংখ্যা
উপযোগী YUM প্লাগইন
কেন আপনি yum মধ্যে প্লাগইন প্রয়োজন? সব জায়গার মত, তারা আমাদের কাজ সহজ করে তোলে।
এখানে কিছু জনপ্রিয় প্লাগইন এবং তাদের বিবরণ রয়েছে:
yum-plugin-fastestmirror - আয়নার গতি পরিমাপ করে এবং প্যাকেজ ইনস্টল করার জন্য দ্রুততম অফার করে৷
৷yum-প্লাগইন-নিরাপত্তা — শুধুমাত্র নিরাপত্তা আপডেটের তালিকা প্রদান করে।
yum-প্লাগইন-কী — কী, কী-তথ্য, কী-ডেটা, কী-রিমুভ প্যারামিটার ব্যবহার করার অনুমতি দেয়
ডিরেক্টরি যেখানে সমস্ত প্লাগইন সংরক্ষণ করা হয় তা হল /etc/yum/ .
yum-plugin-versionlock – নির্বাচিত প্যাকেজ আপডেট হতে বাধা দেয়
উপলব্ধ yum প্লাগইনগুলির তালিকা প্রদর্শন করতে, এই কমান্ডটি চালান:
yum search yum-plugin
======================================================================= N/S matched: yum-plugin ======================================================================= PackageKit-yum-plugin.x86_64 : Tell PackageKit to check for updates when yum exits fusioninventory-agent-yum-plugin.noarch : Ask FusionInventory agent to send an inventory when yum exits kabi-yum-plugins.noarch : The CentOS Linux kernel ABI yum plugin yum-plugin-aliases.noarch : Yum plugin to enable aliases filters yum-plugin-auto-update-debug-info.noarch : Yum plugin to enable automatic updates to installed debuginfo packages yum-plugin-changelog.noarch : Yum plugin for viewing package changelogs before/after updating yum-plugin-copr.noarch : Yum plugin to add copr command yum-plugin-fastestmirror.noarch : Yum plugin which chooses fastest repository from a mirrorlist yum-plugin-filter-data.noarch : Yum plugin to list filter based on package data yum-plugin-fs-snapshot.noarch : Yum plugin to automatically snapshot your filesystems during updates yum-plugin-keys.noarch : Yum plugin to deal with signing keys yum-plugin-list-data.noarch : Yum plugin to list aggregate package data yum-plugin-local.noarch : Yum plugin to automatically manage a local repo. of downloaded packages yum-plugin-merge-conf.noarch : Yum plugin to merge configuration changes when installing packages yum-plugin-ovl.noarch : Yum plugin to work around overlayfs issues yum-plugin-post-transaction-actions.noarch : Yum plugin to run arbitrary commands when certain pkgs are acted on yum-plugin-pre-transaction-actions.noarch : Yum plugin to run arbitrary commands when certain pkgs are acted on yum-plugin-priorities.noarch : plugin to give priorities to packages from different repos yum-plugin-protectbase.noarch : Yum plugin to protect packages from certain repositories. yum-plugin-ps.noarch : Yum plugin to look at processes, with respect to packages yum-plugin-remove-with-leaves.noarch : Yum plugin to remove dependencies which are no longer used because of a removal yum-plugin-rpm-warm-cache.noarch : Yum plugin to access the rpmdb files early to warm up access to the db yum-plugin-show-leaves.noarch : Yum plugin which shows newly installed leaf packages yum-plugin-tmprepo.noarch : Yum plugin to add temporary repositories yum-plugin-tsflags.noarch : Yum plugin to add tsflags by a commandline option yum-plugin-upgrade-helper.noarch : Yum plugin to help upgrades to the next distribution version yum-plugin-verify.noarch : Yum plugin to add verify command, and options yum-plugin-versionlock.noarch : Yum plugin to lock specified packages from being updated
আপনি yum install
ব্যবহার করে প্লাগইনটি ইনস্টল করতে পারেন অন্য যেকোনো প্যাকেজের মতো:
yum install yum-plugin-changelog
yum -y install yum-versionlock
প্লাগইন ব্যবহার করে একটি প্যাকেজ আপডেট করা ব্লক করতে, নিম্নলিখিত কমান্ডটি চালান:
yum versionlock nginx
ব্লক করা প্যাকেজের তালিকা প্রদর্শন করতে:
yum versionlock list
ব্লক করা তালিকা থেকে একটি প্যাকেজ সরাতে:
yum versionlock delete nginx
আপনি যদি একটি প্লাগইন ব্যবহার করতে না চান, তাহলে আপনি yum কমান্ডে নিম্নলিখিত বিকল্পটি যোগ করে এটি নিষ্ক্রিয় করতে পারেন:
--disableplugin=fastestmirror
অথবা আপনি সমস্ত yum প্লাগইন নিষ্ক্রিয় করতে পারেন:
--noplugins
YUM এর জন্য কিভাবে প্রক্সি কনফিগার করবেন?
প্যাকেজ সংগ্রহস্থলের সাথে ইন্টারঅ্যাক্ট করতে Yum HTTP/1.1 প্রোটোকল ব্যবহার করছে। যদি আপনার লিনাক্স সার্ভার শুধুমাত্র HTTP প্রক্সি সার্ভারের মাধ্যমে ইন্টারনেট অ্যাক্সেস করতে পারে, তাহলে আপনি [main]
-এ প্রক্সি সার্ভারের নাম উল্লেখ করতে পারেন আপনার /etc/yum.conf ফাইলের বিভাগ:
proxy=https://proxy_server_name:3128
যদি আপনার প্রক্সি সার্ভারের প্রমাণীকরণের প্রয়োজন হয়, লাইনগুলিও যোগ করুন:
proxy_proxy_username=proxy_user proxy_password=proxy_user_passw0rd
yum একটি প্রক্সি সার্ভারের মাধ্যমে কাজ করে তা নিশ্চিত করতে, এই কমান্ডটি ব্যবহার করুন:
yum clean all && yum search nginx
এটি পরীক্ষা করার জন্য, আমি একটি জার্মান পাবলিক প্রক্সি সার্ভারের ঠিকানা উল্লেখ করেছি, এবং ইনস্টলেশনের সময় দ্রুততম মিরর প্লাগইনটি ট্রিগার হয়েছিল এবং এটি দ্রুততম গতির আয়নাগুলি খুঁজে পেয়েছে:
আপনি যদি শুধুমাত্র কিছু সংগ্রহস্থলের জন্য প্রক্সি ব্যবহার করতে চান, তাহলে আপনাকে /etc/yum.conf ফাইলে পরিবর্তন করতে হবে না। আপনি সংগ্রহস্থল কনফিগারেশন ফাইল /etc/yum.repos.d/your_config.repo এ প্রক্সি সার্ভার সেটিংস নির্দিষ্ট করতে পারেন পরিবর্তে।
তাই আমরা Linux CentOS/RHEL-এ yum, RPM প্যাকেজ ম্যানেজার-এর মৌলিক বৈশিষ্ট্য বিবেচনা করেছি। পরবর্তী নিবন্ধে, আমরা আরও বিস্তারিতভাবে YUM/DNF সংগ্রহস্থলগুলি কীভাবে পরিচালনা করতে হয় তা দেখাব৷