1 什么是 yum?
yum 代表 “Yellowdog Updater, Modified”。Yum 是用于 rpm 系統的自動更新程序和包安裝/卸載器。
它在安裝包時自動解決依賴關系。
2?什么是 rpm?
rpm 代表 “Red Hat Package Manager”,它是一款用于 Red Hat 系統的功能強大的包管理工具。
RPM 指的是?.rpm
?文件格式,它包含已編譯的軟件和必要的庫。
3?排除特定/某些包方式
3.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
3.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.3 使用 Yum versionlock 插件排除包
這也是與上面類似的永久方法。Yum versionlock 插件允許用戶通過?yum
?命令鎖定指定包的更新。
為此,請運行以下命令。以下命令將從?yum update
?中排除 freetype 包。
也可以直接在?/etc/yum/pluginconf.d/versionlock.list
?中添加條目。
# yum versionlock add freetypeLoaded 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 listLoaded 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