作为系统更新的一部分,由于基于Red Hat的系统中的应用程序依赖性,你可能需要排除少数软件包。如果是,那么该如何排除,可以采取多少种方式,本文通过三种方式完成,我们将在本文中教你三种方法。
前言 包管理器是一组工具,允许用户在Linux系统中轻松管理包,它允许用户在Linux系统中安装、更新/升级、删除、查询、重新安装和搜索软件包。 对于Red Hat及其版本,我们使用yum Package Manager和rpm Package Manager进行包管理。 什么是yum? yum代表Yellowdog Updater Modified,Yum是rpm系统的自动更新程序和程序包安装程序/卸载程序。它在安装包时自动解决依赖关系。参考软件包管理基础:apt,yum,dnf,pkg。 什么是rpm? rpm代表Red Hat Package Manager是一款功能强大的Red Hat系统软件包管理工具。名称RPM是指.rpm文件格式,其中包含已编译的软件和包所需的库。参考RPM包解释:依赖、解决RPM依赖关系、库、安装依赖项、DnfDragora。
方法1:手动或暂时使用yum命令排除包 我们可以使用--exclude或-x参数和yum命令来排除通过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版本锁插件排除包 这也是与上述类似的永久方法,Yum版本锁插件允许用户通过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
相关主题 |