Linux——yum

yum 是 Red Hat 软件包管理器,RH8中被dnf取代,查询、安装、卸载、下载、更新软件包,更新系统。

一、yum命令

查询更新
[root@master ~]# yum check-update
更新包
[root@master ~]# yum update rpm
要更新所有包及和依赖项
[root@master ~]# yum update
更新安全相关的包
[root@master ~]# yum update --security
仅更新到包涵最新安全更新版本
[root@master ~]# yum update-minimal --security
搜索包
[root@master ~]# yum search vim
[root@master ~]# yum search all vim
列出所有包
[root@master ~]# yum list all
列出相关的包
[root@master ~]# yum list abrt-addon* abrt-plugin*
列出以 “krb” 开头的所有已安装软件包
[root@master ~]# yum list installed “krb?-*”
列出可用的包
[root@www ~]# yum list available gstreamer*\plugin*
列出库
[root@master ~]# yum repolist
指定安装库
[root@master ~]# yum install ----enablerepo=
查看所有版本的包
[root@master ~]# yum list --showduplicates
列出库详细信息
[root@master ~]# yum repolist -v
Find what package provides the given value
[root@master ~]#yum provides
要列出启用库
[root@master ~]# yum repolist enabled
列出禁用库
[root@master ~]# yum repolist disabled
显示包信息
[root@master ~]# yum info httpd
与 rpm -q --info httpd类似,只不过后者是要在安装后才能查看。

[root@master ~]#yumdb info package_name
使用 yumdb 命令查看有关包的其他信息,包括包的校验和(以及用于生成它的算法,如SHA-256),在命令行上给出用于安装包的命令(如果有)以及在系统上安装软件包的原因(user 表示它是用户安装的,并且 dep 表示它是作为依赖项引入的)
这个命令提供了额外的信息,包括包的校验和(算法用于生产,如sha - 256),在命令行上给出的命令被调用安装包(如果有的话),reason=user表明它是由用户安装,reason=dep意味着它被引入作为一个依赖项
[root@master ~]#yumdb search reason dep
List all the packages which were installed as dependencies
安装单个包
[root@master ~]# yum install httpd
安装多个包
[root@master ~]# yum install httpd nginx
安装其他CPU架构的包
[root@master ~]# yum install sqlite.i686
安装所有相似的插件
[root@master ~]# yum install audacious-plugins=*
安装二进制文件
[root@master ~]# yum install /usr/sbin/named
查找提供者
[root@master ~]# yum provides “bin/named"
安装本地的软件包
[root@master ~]# yum localinstall 路径
删除包
[root@master ~]# yum remove httpd
查看事务记录
[root@master ~]# yum history list
所有历史数据都存储在/var/lib/yum/history/目录中的历史DB中。
显示最近20个事务的列表
[root@master ~]# yum history list
显示所有事务记录
[root@master ~]# yum history list al
要显示第五条到第十条事务记录
[root@master ~]# yum history list 5…10
同步 rpmdb 或 yumdb数据库内容
[root@master ~]# yum history sync
显示事务使用的统计信息
[root@master ~]# yum history stats
显示事务的摘要
[root@master ~]# yum history summary
显示给定范围内的事务摘要
[root@master ~]# yum history summary 5…10
显示指定软件的事务记录
[root@master ~]# yum history package-list httpd
显示单个摘要
[root@master ~]# yum history summary 5
查看特定的事务详细信息
[root@master ~]# yum history info 5
查看特定范围的事务详细信息
[root@master ~]# yum history info 1…5
查看特定事务的附加信息
[root@master ~]# yum history addon-info last
显示所选类型的附加信息
[root@master ~]# yum histor addon-info 5 config-main
要还原事务
[root@master ~]# yum history undo ID
只下载不安装
[root@master ~]#yum install --downloadonly --downloaddir=
指定源安装
[root@master ~]#yum install nginx --enablerepo=epel
本地安装
[root@master ~]#yum -y localinstall mysql57-community-release-el7-8.noarch.rpm
检查mysql源是否安装成功
[root@master ~]#yum repolist enabled |grep "mysql.
-community.*”
重复特定事务
[root@master ~]# yum history redo ID
这两个命令还接受last关键字来撤销或重复最新的事务
在管理多个相同的系统时,yum还允许您在其中一个系统上执行事务,将事务详细信息存储在文件中,经过一段时间的测试后,在其余系统上重复相同的事务。要将事务详细信息存储到文件。
[root@master ~]# yum -q history addon-info id saved_tx > file_name
将此文件复制到目标系统后,可以使用以下命令重复该事物
[root@master ~]# yum load-transaction file
启动新的事务记录
[root@master ~]# yum history new
这将在 /var/lib/yum/history/ 目录中创建一个新的空数据库文件,旧的事务历史记录将保留,但只要目录中存在较新的数据库文件,就无法访问。

一、yum命令配置

yum 和相关使用程序的配置信息位于/etc/yu.conf,此文件包含一个强制的 [main] 节,允许你设置具有全局效果的 yum 选项,还可以包含一个或多个 [repository] 节,允许你设置特定于库的选项,但是,建议在 /etc/yum.repos.d/ 目录中的新的或现有的 .repo 文件中定义单个库,在 /etc/yum.conf 文件的各个 [repository] 部分中定义的值将覆盖在 [main] 部分中设置的值。

1.[main]选项

assumeyes=value
该assumeyes选项确定yum是否提示确认关键操作,0/1。
cachedir=dir
缓存和数据库文件的目录,默认情况下,yum的缓存目录是 /var/cache/yum/ b a s e a r c h / basearch/ basearch/releasever。
debuglevel=value
yum生成的调试输出的详细信息,这里,value是1和10之间的整数,设置更高的debuglevel值会导致yum显示更详细的调试输出,debuglevel=2是默认值,同时debuglevel=0禁用调试输出。
exactarch=value
在更新已安装的软件包时考虑确切的体系结构。
0 - 更新包时不要考虑确切的体系结构。
1 - 在更新包时考虑确切体系结构,使用此设置,yum不会安装32位体系结构的软件包来更新已安装在具有64位体系结构的系统上的软件包。
exclude=package_name [more_package_names]
在安装或系统更新期间按关键字排除包,列出多个要排除的包可以通过引用以空格的包列表来完成,允许使用通配符(例如,*和?)的Shell glob 表达式。
gpgcheck=value
是否应对包执行 GPG 签名检查0/1。
group_command=value
使用 group_command 选项指定如何 yum group install, yum group upgrade和yum group remove 命令处理程序包组
simple - 安装软件包组的所有成员,仅升级以前安装的软件包,但不要同时安装已添加到组中的软件包。
compat - 类似于simple但yum upgrade也安装自上次升级以来添加到组中的软件包
objects - 使用此选项,yum会跟踪以前安装的组,并区分作为组的一部分安装的软件包和单独安装的软件包。
group_package_types=package_type [more_package_types]
在这里,你可以指定在调用 yum group install 命令时安装的软件包类型,optional,default,mandatory)默认情况下选择 default 和 mandatory 的包类型。
history_record=value
可以设置 yum 的记录事务历史。
0 - yum 不应该记录事务的历史记录条目
1 - yum 应该记录事务的历史记录条目,此操作占用一定数量的磁盘空间,并在事务中占用一些额外的时间,但它提供了有关过去操作的大量信息,可以使用yum history 命令显示,history_record=1是默认值。
installonlypkgs=space separated list of packages
提供一个空间分隔的包列表, yum可以安装这些报,但不会更新这些包。
如果将 installonlypkgs 指令添加到 /etc/yum.conf 中,请确保列出了所有只应安装的包,包括 yum.conf(5) 的 installonlypkgs 部分列出的包,特别是,确保内核包始终列在 installonlypkgs 中(默认情况下是这样),并且 installobly_limit始终设置为大于某个值, 2 的值以便在默认内核无法启动时备份内核始终可用。
installonly_limit=value
设置 installonlypkgs 可以同时安装指令中列出的包数,将value替换为一个整数,该整数表示可以同时为其中列出的任何单个程序包安装的最大版本数 installonlypkgs。该 installonlypkgs 指令的默认值包括几个不同的内核包,因此请注意,更改值 installonly_limit 也会影响任何单个内核包的最大安装半本数,列出的默认值 /etc/yum.conf 是 installonly_limit=3,最小可能值是installonly_limit=2。无法设置nstallonly_limit=1,因为这会使yum删除正在运行的内核,这是禁止的,如果 installonly_limit=1 使用,则yum失败。使用 installonly_limit=2 确保一个备份内核可用,但是,建议保留默认设置 installonly_limit=3,以便有两个备份内核可用。
keepcache=value
确定yum在成功安装后是否保留标头和包的缓存。 0成功安装后,不保留标头和包的缓存,1 成功安装后保留缓存。
logfile=file_name
指定日志记录输出的位置,默认情况下,yum 会记录到 /var/log/yum.log。
max_connections=number
最大并发连接数,默认值为 5
multilib_policy=value
multilib_policy如果多个体系结构版本可用于程序包安装,则该选项会设置安装行为,best 为此系统安装最佳选择架构, all始终未每个包安装每个可能的架构。
obsoletes=value
该 obsoletes 选项在更新期间其用过时的进程逻辑,当一个包在其spec文件中声明它废弃了另一个包时,后一个包在安装前一个包替换,0执行更新时禁用yum的过时处理逻辑,1 执行更新时启用yum的过时处理逻辑。
plugins=value
启用或禁用yum插件的全局开关
0 - 全局禁用所有yum插件
1 - 全局启用所有yum插件,使用plugin=1,你仍然可以通过设置enable=0该插件的配置文件来禁用特定的yum插件。
reposdir=dir
yum在返回错误之前应尝试检索文件的次数,值 0 使yum永远重试,默认值为 10

2.[repository]

[repository]部分,其中repository是唯一的repository id,例如 my_personal_repo (不允许使用空格),允许你定义单个yum库,为了避免冲突,自动以库不应使用 Red Hat 库使用的名称。

以下是一个部分采用的形式的最小例子:
[repository]
name = repository_name
baseurl = repository_url
将 repisitory_url 替换为库的 repodata 目录所在目录的URL:
http://path/to/repo
ftp://path/to/repo
file:///path/to/repo
如果特定的在线库需要基本的 HTTP 身份验证,你可以通过将其作为前缀添加到 URL 来指定你的用户名和密码,例如,如果http://www.example.com/repo/上的库需要用户名“user”和密码“password”则可以将链接指定为。http://user:password@www.example.com/repo/。
enabled=value
这是告诉 yum 使用或忽略特定库的简单方法,0执行更新和安装时,1将此库包含为包源。
打开和关闭库也可以通过将–enablerepo=repo-name或者–disablerepo=repo-name选项传递给yum或通过packagekit实用程序的“添加/删除软件”窗口来执行。
async=value
控制库包的并行下载, auto如果可能,实用并行下载, on为库启用了并行下载,off - 为库禁用了并行下载。

3.使用yum变量

你可以在yum命令和所有yum配置文件(即目中的/etc/yum.conf所有.repo文件)中使用和引用内置变量/etc/yum.repos.d/:
r e l e a s e v e r 你 可 以 使 用 此 变 量 来 引 用 R e d H a t E n t e r r p i s e L i n u x 的 发 行 版 本 , Y u m 从 / e t c / y u m . c o n f 配 置 文 件 的 d i s t o r v o r p k g = v a l u e 行 中 获 取 releasever 你可以使用此变量来引用 Red Hat Enterrpise Linux 的发行版本,Yum 从 /etc/yum.conf 配置文件的 distorvorpkg=value行中获取 releasever使RedHatEnterrpiseLinuxYum/etc/yum.confdistorvorpkg=valuereleasever的值。
a r c h 你 可 以 使 用 此 变 量 来 引 用 在 调 用 P y t h o n o s . u n a m e ( ) 函 数 返 回 的 系 统 C P U 体 系 结 构 , arch 你可以使用此变量来引用在调用Python os.uname()函数返回的系统 CPU 体系结构, arch使Pythonos.uname()CPUarch包含的有效值:i586,i686和x86_64。
b a s e a r c h 你 可 以 使 用 basearch 你可以使用 basearch使basearch来引用系统的基本体系结构,例如,i686和i586机器都有基本架构i386,而AMD64和Intel64计算机的基本体系结构时x86_64。
Y U M 0 − 9 这 十 个 变 量 每 个 都 被 替 换 为 具 有 相 同 名 称 的 任 何 s h e l l 环 境 变 量 的 值 , 如 果 引 用 其 中 一 个 变 量 ( 例 如 / e t c / y u m . c o n f ) 并 且 不 存 在 具 有 相 同 名 称 的 s h e l l 环 境 变 量 , 则 不 替 换 配 置 文 件 变 量 。 设 置 自 定 义 变 量 要 定 义 自 定 义 变 量 或 覆 盖 现 有 变 量 的 值 , 请 在 / e t c / y u m . c o n f 目 录 中 创 建 与 变 量 名 同 名 的 文 件 ( 不 带 “ YUM0-9 这十个变量每个都被替换为具有相同名称的任何 shell 环境变量的值,如果引用其中一个变量(例如/etc/yum.conf)并且不存在具有相同名称的 shell 环境变量,则不替换配置文件变量。 设置自定义变量 要定义自定义变量或覆盖现有变量的值,请在/etc/yum.conf目录中创建与变量名同名的文件(不带“ YUM09shell/etc/yum.confshell/etc/yum.conf”符号),并在其第一行添加所需的值。
例如,库描述通常包括操作系统名称,要定义一个名为KaTeX parse error: Expected 'EOF', got '#' at position 93: …[root@master ~]#̲ echo 'Red Hat …osname $releasever

二、 yum-config-manager 的使用
1.查看当前配置

显示全局 yum 选项的当前值(即文件 /etc/yum.conf 的[main] 部分中指定的选项)
[root@master ~]# yum-config-manager
要列出不同配置节的内容
[root@master ~]# yum-config-manager main

2.添加yum库

在/etc/yum.conf文件中添加一个[repository]部分,也可以在/etc/yum.repo.d/目录中添加一个.repo文件,yum读取此目录具有.repo文件扩展名的所有文件,建议你在此处添加,而不是在/etc/yum.conf中定义库。
yum库通常提供自己的.repo文件,要将此类库添加到系统并启用它
[root@master ~]# yum-config-manager --add-repo http://exaple.com/example.repo

3.启用yum库

[root@master ~]# yum-config-manager --enable example*
启用所有库
[root@master ~]# yum-config-manager --enable *

4.禁用yum库

[root@master ~]# yum-config-manager --disable example*
禁用所有库
[root@master ~]# yum-config-manager --disable *

5.创建yum库

安装 createrepo 包
[root@master ~]# yum install createrepo
将新库的所有包复制到一个目录中
[root@master ~]# cp /your/Packages/*.rpm /tmp/local_repo/
要创建库运行
[root@master ~]# createrepo /tmp/local_repo/
库已准备好由yum使用,此库可以通过HTTP和FTP协议共享,也可以直接从本地计算机引用。

6.更新已创建的yum库

将新包复制到库目录,例如 /tmp/local_repo/
[root@master ~]# cp /your/Packages/*.rpm /tmp/local_repo
更新yum db元数据中新添加的包
[root@master ~]# createrepo --update /tmp/local_repo/
使用任何yum命令和新更新的存储
[root@master ~]# yum clean expire-cache

四、Yum插件

Yum 提供扩展和增强其操作的插件,默认情况下会安装某些插件,当你调用任何 yum 命令时,yum总会通知你哪些插件(如果有)已加载并处于活动状态。
[root@master ~]# yum info yum
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
Loaded plugins后面的插件名称 是–disableplugin=value中的value
1.启用配置和禁用Yum插件
vim /etc/yum.con
[main]
plugins=1
插件配置文件在/etc/yum/pluginconf.d/目录下。插件配置文件与 /etc/yum.conf文件类似,插件配置文件始终包含一个[main]部分,其中该enabled=1选项控制在运行yum命令时是否启用插件,如果缺少此选项,则可以手动将其添加到文件中
yum命令禁用所有yum插件,请使用该–noplugins选项。
yum命令禁用一个或多个yum插件,–disableplugin=plugin_name
[root@master ~]# yum update --disableplugin=aliases
通过用逗号分隔名称来禁用多个插件,此外,你可以使用glob表达式匹配多个插件名称或缩短长插件名称。
[root@master ~]# yum update --disableplugin=aliases,lang*
2.安装其他Yum插件
yum 插件通常遵循yum-plugin-plugin_name包命名约定,安装yum-aliases插件。
[root@master ~]# yun install yum-plugin-aliases
3. 使用Yum插件
提供了几个有用的yum插件的说明。
search-disabled-repos(订阅管理员)
该search-disabled-repos可以让你暂时或永久启用已禁用的库,以帮助解决依赖关系。启用此插件后,当yum由于依赖项解析失败而无法安装软件包时,它会暂时启用已禁用的库并重试。如果安装成功,yum还提供永久启用使用的库。请注意,该插件仅适用于由subscription-manager管理的库,而不适用于自定义库。
kabi(kabi-yum-plugins)
该 kabi 插件检查驱动程序更新包是否与官方红帽符合内核应用程序二进制接口(kabi),启用此插件后,当用户尝试安装使用不在白名单中的内核符号的程序包时,会像系统日志写入警告消息,此外,将插件配置为以强制模式运行可以防止安装此类软件包。
要配置 kabi 插件,编辑位于/etc/yum/pluginconf.d/kabi.conf,可在该[main]部分中使用的指令列表如下表所示

指示描述
enabled=value允许你启用或禁用插件,该value必须是1(启用)或者0(禁用),安装后,默认情况下启用插件
whitelists=dir允许你指定支持内核符号的文件所在的directory,默认情况下,kabi 插件使用 kernel-abi-whitelists包(即/usr/lib/modules/kabi-rhel70/目录)提供的文件
enforce=value允许你启用或禁用强制模式,该value必须是1或0,默认情况下,此选项已注释掉,kabi插件仅显示警告信息

product-id(订阅管理员)
该 product-id 插件管理从内容分发网络安装的产品的产品表示证书,该 product-id 插件是默认安装的。
langpacks(yum-langpacks)
该 langpacks 插件用于搜索对每个已安装的软件包所选语言环境软件包,该 langpacks 插件默认安装的。
aliases(yum-plugin-aliases
aliases 插件添加alias命令行选项使配置和使用别名。
yum-changelog(yum-plugin-changelog)
所述yum-changelog 插件添加的–changlog使得能够更新前后观看包更改日志的命令行选项。
yum-tmprepo(yum-plugin-tmprepo)
该 yum-tmprepo 插件添加的–tmprepo需要一个库文件,下载的URL并使其只有一个交易命令行选项,此插件尝试确保安全临时使用库,默认情况下,它不允许禁用gpg检查。
yum-verify(yum-plugin-verify)
所述 yum-verify 插件添加的verify,verify-rpm和verify-all用于在系统上观看的验证数据的命令行选项。
yum-versionlock(yum-plugin-versionlock)
该 yum-versionlock 插件排除选定的软件包,这使得能够保护包由新版本更新的其他版本,使用versionlock命令行选项,你可以查看和编辑锁定的包列表。

五、 自动刷新数据库并使用Yum-cron下载更新

该 yum-cron服务自动检查和下载更新,yum-cron安装yum-cron软件包后,服务提供的 cron 作业立即生效,该yum-cron服务还可以自动安装下载的更新。
使用默认设置,yum-cron服务: 每小时更新yum缓存中的元数据一次, 每天下载一次对yum缓存的包更新,如果库中有新报,则会发送电子邮件。
该yum-cron服务有两个配置文件:
/etc/yum/yum-cron.conf - 对于日常任务
/etc/yum/yum-cron-hourly.conf - 每小时任务
1.启用自动安装更新
要启用下载更新的自动安装,请通过设置以下apply_updates选项编辑每日安装的每日配置文件或每小时安装的每小时配置文件
apply_updates=yes
2.设置可选的电子邮件通知
默认情况下,该yum-cron服务用于cron发送包含已执行命令输出的电子邮件,此电子邮件根据cron配置发送,通常发送给本地超级用户并存储在/var/spool/mail/root文件中。
你可以使用影响所有cron作业的设置不同的特定电子邮件配置,但是,此电子邮件配置不支持 TLS,整体电子邮件内置逻辑非常基本。
启用 yum-cron 内置电子邮件通知
打开特定的yum-cron配置文件
/etc/yum/yum-cron.conf - 对于日常任务
/etc/yum/yum-cron-hourly.conf - 每小时任务
在该[emitters]部分中,设置以下选项
emit_via=email
设置email_from,email_to,email_host所需的选项
3.启用或禁用特定库
在yum-cron不支持库的具体配置,置于启用或禁用特定仓库的解决方法
在系统的任何位置创建一个空的库配置目录,将所有配置从/etc/yum.repos.d/目录复制到此新创建的目录,在其中的相应.repo配置文件中/etc/yum.repos.d/,设置enabled选项如下:
enabled=1 - 要启用库
enabled=0 - 要禁用库
在所选yum-cron配置文件的末尾添加选项,该选项指向新创建的库目录
reposdir=/path/to/new/reposdir
4.测试Yum-cron设置
打开选定的yum-cron`配置文件
/etc/yum/yum-cron.conf - 对于日常任务
/etc/yum/yum-cron-hourly.conf - 每小时任务
random_sleep在所选配置文件中,设置选项
random_sleep=0
运行配置文件
yum-cron /etc/yum/yum-cron.conf
yum-cron /etc/yum/yum-cron-hourly.conf
5.用 Yum-cron 消息
该 yum-cron 消息不能完全禁用,但可被限制为仅具有临界优先级的消息,限制消息:
打开选定yum-cron配置文件
/etc/yum/yum-cron.conf - 对于日常任务
/etc/yum/yum-cron-hourly.conf
在配置文件的[base]部分中设置以下选项
debuglevel=4
6.自动清理包
该yum-cron服务不支持任何用于删除与yum clean all命令类似的包的配置新选项,要自动清理包,可以将cron 作业创建为可执行shell脚本:
在/etc/cron.daily/包含以下内容的目录中创建shell脚本:
#! /bin/bash
yum clean all
使脚本可执行
chmod +x /etc/cron.daily/script-name.sh

————Blueicex 2020/2/3 23:56 blueice1980@126.com

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值