ປິດການອັບເດດບາງຊຸດໂດຍໃຊ້ YUM ໃນ RHEL/CentOS/Fedora


YUM (Yellowdog Updater Modified) ແມ່ນລະບົບການຄຸ້ມຄອງແພັກເກດເລີ່ມຕົ້ນທີ່ເປີດໃຊ້ ສຳ ລັບຫລາຍລົດຊາດຂອງ Linux ເຊັ່ນ RHEL (Red Hat Enterprise Linux), CentOS (System Enterprise Operating System) ແລະ Fedora. ຜົນປະໂຫຍດຂອງ YUM ຖືກ ນຳ ໃຊ້ໃນການຕິດຕັ້ງ, ຍົກລະດັບ, ເອົາຊຸດ rpm ທີ່ອີງໃສ່ຫໍສະ ໝຸດ ແຈກຢາຍຢູ່ໃນລະບົບຕ່າງໆ.

ແຕ່ບາງຄັ້ງພວກເຮົາບໍ່ຕ້ອງການປັບປຸງບາງຊຸດເຊັ່ນ Apache Server (HTTP), MySQL, PHP ແລະໂປແກຼມ ສຳ ຄັນອື່ນໆ, ເພາະວ່າຖ້າມີການປັບປຸງດັ່ງກ່າວອາດຈະເປັນອັນຕະລາຍຕໍ່ການ ນຳ ໃຊ້ web application ໃນ server ຫຼືທ່ານອາດຈະຢຸດການອັບເດດຈົນກວ່າ application ຈະຖືກເພີ້ມຂື້ນ ມີການປັບປຸງ ໃໝ່.

ໃນບົດຄວາມນີ້ພວກເຮົາຈະສະແດງວິທີທີ່ພວກເຮົາສາມາດຍົກເວັ້ນ (ປິດການໃຊ້ງານ) ການປັບປຸງບາງຊຸດໂດຍໃຊ້ YUMtool. ພວກເຮົາສາມາດຍົກເວັ້ນຫຼືປິດການອັບເດດບາງຊຸດຈາກຫໍສະ ໝຸດ ຂອງບຸກຄົນທີສາມ. syntax ຍົກເວັ້ນຈະເປັນດັ່ງຕໍ່ໄປນີ້.

exclude=package package1 packages*

syntax ຂ້າງເທິງນີ້ຈະຍົກເວັ້ນ“ package”,“ package1” ແລະລາຍຊື່“ package” ການປັບປຸງຫລືຕິດຕັ້ງ. ແຕ່ລະ ຄຳ ສຳ ຄັນຄວນແຍກອອກຈາກບ່ອນຫວ່າງ ສຳ ລັບການຍົກເວັ້ນການຫຸ້ມຫໍ່.

ວິທີການຍົກເວັ້ນການຫຸ້ມຫໍ່ໃນ 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”“ php” ແລະ“ mysql”. ລອງທົດລອງຕິດຕັ້ງຫຼືປັບປຸງ ໜຶ່ງ ໃນນັ້ນໂດຍໃຊ້ ຄຳ ສັ່ງ 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 Repo

ເພື່ອຍົກເວັ້ນການຕິດຕັ້ງການຕິດຕັ້ງຫລືການປັບປຸງຈາກຫໍສະ ໝຸດ 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

ຕອນນີ້ພະຍາຍາມປັບປຸງເອກະສານທີ່ລະບຸໄວ້ຂ້າງເທິງຈາກຫໍໄຕ EPEL ໂດຍໃຊ້ ຄຳ ສັ່ງ YUM.

# 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

ວິທີນີ້ທ່ານສາມາດຍົກເວັ້ນການປັບປຸງ ສຳ ລັບທຸກໆຊຸດທີ່ທ່ານຕ້ອງການ. ມີຫລາຍວິທີອື່ນທີ່ທ່ານສາມາດເຮັດໄດ້, ຍົກຕົວຢ່າງ, ເມື່ອບໍ່ດົນມານີ້ພວກເຮົາໄດ້ລວບລວມບົດຂຽນກ່ຽວກັບ 4 ວິທີທີ່ເປັນປະໂຫຍດໃນການບລັອກ/ປິດການໃຊ້ງານຫລືລັອກບາງແພັກເກດໂດຍໃຊ້ ຄຳ ສັ່ງ yum ໃນ Linux, ທ່ານຄວນອ່ານທີ່ນີ້: