從 Yum 更新中排除特定/某些包的三種方法
![](https://linuxstory.org/wp-content/uploads/2024/06/145817rj7khqkbqwqx7sb9-800x400.jpg)
作為系統更新的一部分,你也許需要在基於 Red Hat 系統中由於應用依賴排除一些軟體包。
如果是,如何排除?可以採取多少種方式?有三種方式可以做到,我們會在本篇中教你這三種方法。
包管理器是一組工具,它允許用戶在 Linux 系統中輕鬆管理包。它能讓用戶在 Linux 系統中安裝、更新/升級、刪除、查詢、重新安裝和搜索軟體包。
對於基於 Red Hat 的系統,我們使用 yum 包管理器 和 rpm 包管理器 進行包管理。
什麼是 yum?
yum 代表 「Yellowdog Updater, Modified」。Yum 是用於 rpm 系統的自動更新程序和包安裝/卸載器。
它在安裝包時自動解決依賴關係。
什麼是 rpm?
rpm 代表 「Red Hat Package Manager」,它是一款用於 Red Hat 系統的功能強大的包管理工具。
RPM 指的是 .rpm
文件格式,它包含已編譯的軟體和必要的庫。
你可能有興趣閱讀以下與本主題相關的文章。如果是的話,請進入相應的鏈接。
- 如何檢查 Red Hat(RHEL)和 CentOS 系統上的可用安全更新
- 在 Red Hat(RHEL)和 CentOS 系統上安裝安全更新的四種方法
- 在 Redhat(RHEL)和 CentOS 系統上檢查或列出已安裝的安全更新的兩種方法
方法 1:手動或臨時用 yum 命令排除包
我們可以在 yum 中使用 --exclude
或 -x
開關來阻止 yum 命令獲取特定包的更新。
我可以說,這是一種臨時方法或按需方法。如果你只想將特定包排除一次,那麼我們可以使用此方法。
以下命令將更新除 kernel 之外的所有軟體包。
要排除單個包:
# yum update --exclude=kernel
或者
# yum update -x 'kernel'
要排除多個包。以下命令將更新除 kernel 和 php 之外的所有軟體包。
# yum update --exclude=kernel* --exclude=php*
或者
# yum update --exclude httpd,php
方法 2:在 yum 命令中永久排除軟體包
這是永久性方法,如果你經常執行修補程序更新,那麼可以使用此方法。
為此,請在 /etc/yum.conf
中添加相應的軟體包以永久禁用軟體包更新。
添加後,每次運行 yum update
命令時都不需要指定這些包。此外,這可以防止任何意外更新這些包。
# 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=3
exclude=kernel* php*
方法 3:使用 Yum versionlock 插件排除包
這也是與上面類似的永久方法。Yum versionlock 插件允許用戶通過 yum
命令鎖定指定包的更新。
為此,請運行以下命令。以下命令將從 yum update
中排除 freetype 包。
或者,你可以直接在 /etc/yum/pluginconf.d/versionlock.list
中添加條目。
# yum versionlock add freetype
Loaded plugins: changelog, package_upload, product-id, search-disabled-repos, subscription-manager, verify, versionlock
Adding versionlock on: 0:freetype-2.8-12.el7
versionlock added: 1
運行以下命令來檢查被 versionlock 插件鎖定的軟體包列表。
# yum versionlock list
Loaded plugins: changelog, package_upload, product-id, search-disabled-repos, subscription-manager, verify, versionlock
0:freetype-2.8-12.el7.*
versionlock list done
運行以下命令清空該列表。
# yum versionlock clear
via: https://www.2daygeek.com/redhat-centos-yum-update-exclude-specific-packages/
作者:Magesh Maruthamuthu 選題:lujun9972 譯者:geekpi 校對:wxy
本文轉載來自 Linux 中國: https://github.com/Linux-CN/archive