RHEL/CentOS/ফেডোরায় YUM ব্যবহার করে নির্দিষ্ট প্যাকেজ আপডেটগুলি অক্ষম করুন


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

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

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

exclude=package package1 packages*

উপরের সিনট্যাক্সটি "প্যাকেজ", "প্যাকেজ 1" এবং "প্যাকেজ" আপডেট বা ইনস্টলের তালিকা বাদ দেবে। প্রতিটি কীওয়ার্ড প্যাকেজ বাদ দেওয়ার জন্য স্থানের সাথে পৃথক করা উচিত।

YUM- এ প্যাকেজগুলি কীভাবে বাদ দেওয়া যায়

নির্দিষ্ট প্যাকেজ আপডেটগুলি বাদ দিতে (অক্ষম করতে), আপনার সম্পাদকের পছন্দ অনুসারে /etc/yum.conf নামক ফাইলটি খুলুন।

# vi /etc/yum.conf

নীচের মত বর্ণিত কীওয়ার্ড বাদ দিয়ে ফাইলের নীচে নিম্নলিখিত লাইনটি যুক্ত করুন।

[main]
cachedir=/var/cache/yum/$basearch/$releasever
keepcache=0
debuglevel=2
logfile=/var/log/yum.log
exactarch=1
obsoletes=1
gpgcheck=1
plugins=1
installonly_limit=5
bugtracker_url=http://bugs.centos.org/set_project.php?project_id=16&ref=http://bugs.centos.org/bug_report_page.php?category=yum
distroverpkg=centos-release

# This is the default, if you make this bigger yum won't see if the metadata 
# is newer on the remote and so you'll "gain" the bandwidth of not having to
# download the new metadata and "pay" for it by yum not having correct
# information.
#  It is esp. important, to have correct metadata, for distributions like
# Fedora which don't keep old packages around. If you don't like this checking
# interupting your command line usage, it's much better to have something
# manually check the metadata once an hour (yum-updatesd will do this).
# metadata_expire=90m

# PUT YOUR REPOS HERE OR IN separate files named file.repo
# in /etc/yum.repos.d

## Exclude following Packages Updates ##
exclude=httpd php mysql

উপরের উদাহরণে লাইনটি বাদ দেওয়া "httpd" "পিএইচপি" এবং "মাইএসকিএল" প্যাকেজগুলির জন্য আপডেটগুলি অক্ষম করবে। নীচে প্রদর্শিত হিসাবে YUM কমান্ড ব্যবহার করে এর মধ্যে একটি ইনস্টল বা আপডেট করার চেষ্টা করুন।

# yum update httpd
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
 * base: centos.01link.hk
 * extras: centos.01link.hk
 * updates: mirrors.hns.net.in
base                                                   | 3.7 kB     00:00
extras                                                 | 3.0 kB     00:00
updates                                                | 3.5 kB     00:00
updates/primary_db                                     | 2.7 MB     00:16
Setting up Update Process
No Packages marked for Update

কীভাবে EPEL রেপো থেকে প্যাকেজগুলি বাদ দেওয়া যায়

EPEL সংগ্রহস্থল থেকে প্যাকেজ ইনস্টল বা আপডেটগুলি বাদ দিতে, তারপরে /etc/yum.repos.d/epel.repo নামক ফাইলটি খুলুন।

# vi /etc/yum.repos.d/epel.repo

আপডেটগুলি থেকে বাদ দেওয়ার জন্য প্যাকেজগুলি নির্দিষ্ট করে বাদ দেওয়া লাইন যুক্ত করুন।

[epel]
name=Extra Packages for Enterprise Linux 6 - $basearch
#baseurl=http://download.fedoraproject.org/pub/epel/6/$basearch
mirrorlist=https://mirrors.fedoraproject.org/metalink?repo=epel-6&arch=$basearch
failovermethod=priority
enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-6
## Exclude following Packages Updates ##
exclude=perl php python

এখন YUM কমান্ড ব্যবহার করে EPEL সংগ্রহস্থল থেকে উপরে উল্লিখিত ফাইলগুলি আপডেট করার চেষ্টা করুন।

# yum --enablerepo=epel update perl php python
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
 * base: mirrors.hns.net.in
 * epel: ftp.kddilabs.jp
 * extras: mirrors.hns.net.in
 * updates: mirrors.hns.net.in
Setting up Update Process
No Packages marked for Update

সংগ্রহস্থল ফাইলগুলিতে যোগ না করে প্যাকেজ বাদ দিতে আপনি yum কমান্ড লাইন বিকল্পটি ব্যবহার করতে পারেন।

# yum --exclude=httpd update

প্যাকেজগুলির তালিকা বাদ দিতে নিম্নলিখিত কমান্ডটি ব্যবহার করুন।

# yum --exclude=mysql\* --exclude=httpd\* update

আপনি চান এমন প্যাকেজগুলির জন্য আপডেটগুলি বাদ দিতে পারেন। আপনি করতে পারেন এমন আরও অনেকগুলি উপায় রয়েছে, উদাহরণস্বরূপ, সম্প্রতি আমরা লিনাক্সে yum কমান্ড ব্যবহার করে নির্দিষ্ট প্যাকেজগুলি অবরুদ্ধ/নিষ্ক্রিয় করতে বা লক করার জন্য 4 টি কার্যকর উপায় সম্পর্কিত একটি নিবন্ধ সংকলন করেছি, আপনার এটি এখানে পড়তে হবে: