কম্পিউটার

CentOS এবং RHEL-এ YUM প্যাকেজ ম্যানেজার ব্যবহার করা

এই নিবন্ধে, আমরা 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

CentOS এবং RHEL-এ YUM প্যাকেজ ম্যানেজার ব্যবহার করা

একটি প্যাকেজ ইনস্টল করতে, yum install ব্যবহৃত হয়. অ্যাপাচি ওয়েব সার্ভার ইনস্টল করতে, এই কমান্ডটি চালান:

yum install httpd

আপনি যদি দেখেন “ট্রেসব্যাক (সর্বশেষ কল শেষ):thread.error:নতুন থ্রেড শুরু করা যাচ্ছে না কোনো yum কমান্ড চালানোর সময় ত্রুটি, সম্ভবত আপনার সার্ভারে পর্যাপ্ত RAM নেই। কিছু RAM যোগ করার চেষ্টা করুন বা yum প্লাগইনগুলি নিষ্ক্রিয় করুন ( 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

CentOS এবং RHEL-এ YUM প্যাকেজ ম্যানেজার ব্যবহার করা

একটি প্যাকেজ এর নাম বা বর্ণনা দ্বারা খুঁজে পেতে:

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"

CentOS এবং RHEL-এ YUM প্যাকেজ ম্যানেজার ব্যবহার করা

চেক করার পরে আমরা দেখতে পাই যে একটি ওয়েব সার্ভারের জন্য প্যাকেজ এবং পরিষেবাগুলির সেট ইনস্টল করা হবে৷

এখানে আরেকটি দরকারী গ্রুপ তালিকা রয়েছে – “সিস্টেম অ্যাডমিনিস্ট্রেশন টুলস”:

yum groupinfo "System Administration Tools”

CentOS এবং RHEL-এ YUM প্যাকেজ ম্যানেজার ব্যবহার করা

আপনি দেখতে পাচ্ছেন, তালিকায় মনিটরিং এবং ডিবাগিং টুল রয়েছে।

আপনি এই কমান্ডটি ব্যবহার করে গ্রুপ তালিকা ইনস্টল করতে পারেন:

yum groupinstall "System Administration Tools"

ইনস্টল করা প্যাকেজগুলি একটি পৃথক ব্লকে প্রদর্শিত হবে ("ইনস্টল করা গোষ্ঠী"):

CentOS এবং RHEL-এ YUM প্যাকেজ ম্যানেজার ব্যবহার করা

YUN ইতিহাস কমান্ড ব্যবহার করা

আপনি ব্যবহার করে yum ইনস্টলেশন ইতিহাস (লেনদেনের তালিকা) প্রদর্শন করতে পারেন:

yum history list

আউটপুট 5টি কলাম নিয়ে গঠিত, প্রথমটি লেনদেন আইডি দেখায় যা আপনি লেনদেনের বিবরণ দেখতে ব্যবহার করতে পারেন (ইনস্টল করা প্যাকেজ, নির্ভরতা)।

যেমন:

yum history info 10

CentOS এবং RHEL-এ YUM প্যাকেজ ম্যানেজার ব্যবহার করা

তাছাড়া, আপনি কমান্ড ব্যবহার করে লেনদেন পূর্বাবস্থায় ফেরাতে পারেন:

yum history undo 10

আমার ক্ষেত্রে, 4টি প্যাকেজ সরানো হবে:

CentOS এবং RHEL-এ YUM প্যাকেজ ম্যানেজার ব্যবহার করা

আপনি /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

CentOS এবং RHEL-এ YUM প্যাকেজ ম্যানেজার ব্যবহার করা

আপনি যদি একটি প্লাগইন ব্যবহার করতে না চান, তাহলে আপনি 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

এটি পরীক্ষা করার জন্য, আমি একটি জার্মান পাবলিক প্রক্সি সার্ভারের ঠিকানা উল্লেখ করেছি, এবং ইনস্টলেশনের সময় দ্রুততম মিরর প্লাগইনটি ট্রিগার হয়েছিল এবং এটি দ্রুততম গতির আয়নাগুলি খুঁজে পেয়েছে:

CentOS এবং RHEL-এ YUM প্যাকেজ ম্যানেজার ব্যবহার করা

আপনি যদি শুধুমাত্র কিছু সংগ্রহস্থলের জন্য প্রক্সি ব্যবহার করতে চান, তাহলে আপনাকে /etc/yum.conf ফাইলে পরিবর্তন করতে হবে না। আপনি সংগ্রহস্থল কনফিগারেশন ফাইল /etc/yum.repos.d/your_config.repo এ প্রক্সি সার্ভার সেটিংস নির্দিষ্ট করতে পারেন পরিবর্তে।

তাই আমরা Linux CentOS/RHEL-এ yum, RPM প্যাকেজ ম্যানেজার-এর মৌলিক বৈশিষ্ট্য বিবেচনা করেছি। পরবর্তী নিবন্ধে, আমরা আরও বিস্তারিতভাবে YUM/DNF সংগ্রহস্থলগুলি কীভাবে পরিচালনা করতে হয় তা দেখাব৷


  1. উবুন্টু অ্যাপটি আয়ত্ত করা এবং একজন উপযুক্ত গুরু হয়ে উঠুন

  2. RHEL, CentOS এবং Fedora এর মধ্যে পার্থক্য

  3. CentOS/RHEL-এ Bash Auto Completion কিভাবে ইনস্টল এবং সক্ষম করবেন

  4. Windows 10