YUM (Yellow dog Updater, Modified) , RHEL8 中默认使用的软件批量管理工具由原版本的 yum 换成了速度更快的
dnf ( DNF = Dandified YUM ),原有的 yum 命令仅为 dnf 的软链接,当然依旧可以使用。
[root@kongd ~]# ll `which yum` lrwxrwxrwx. 1 root root 5 2月 14 2019 /usr/bin/yum -> dnf-3
( 1 ) YUM/DNF 功能
在线下载、 安装、 卸载、 升级 rpm 软件包
自动查找并解决 rpm 包之间的依赖关系,一次性安装所有具有依赖关系的 rpm 包,而无需管理员逐个、 手工地
去安装每一个 rpm 包
( 2 )如何实现 yum/DNF 安装
系统会去读取 /etc/yum.repos.d/ 目录下的 .repo 结尾的文件,从该文件中读取以下内容实现装包:
包含各种 rpm 安装文件的软件仓库( rhel8 有两个仓库, rhel7 只有一个仓库)
BaseOS 存储库:提供一套核心的底层操作系统功能,为基础软件安装库
AppStream 存储库:包括额外的用户空间应用程序、运行时语言和数据库
软件仓库的地址信息
( 3 )配置 .repo 文件,即 yum 源
建立本地源
[root@kongd ~]# mkdir /media/cdrom
# 将本地光盘挂载至本地目录 /media/cdrom 下
[root@kongd ~]# mount /dev/cdrom /media/cdrom
[root@kongd ~]# cat /etc/yum.repos.d/rhel8.repo
[RHEL8-BaseOS]
name=RHEL8-BaseOS
baseurl=file:///media/cdrom/BaseOS
gpgcheck=0
#gpgcheck=1 # 如果 gpgcheck 为 1 ,需要写秘钥文件路径
#gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-rockyofficial
[RHEL8-Appstream] name=RHEL8-Appstream
baseurl=file:///media/cdrom/AppStream
gpgcheck=0
#gpgcheck=1
#gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-rockyofficial
[root@kongd ~]# yum repolist
# 验证能否装包成功
[root@master ~]# yum install bind-utils -y
建立网络源( Redhat9 暂时无公开的网络源,暂不可配置,其他发行版本可自行选择对应网源仓库)
阿里云网络源, aliyun 的镜像站点为 https://mirrors.aliyun.com/
# 此处以 redhat8.5 为例
[root@master ~]# cat /etc/redhat-release
Rocky Linux release 8.5 (Green Obsidian)
注:此处先查看自己的发行版本信息,选择相应的仓库。
# 仓库文件可以自己写也可以从 aliyun 网站下载
[root@master ~]# cat /etc/yum.repos.d/aliyun.repo
[appstream]
name=appstream
baseurl=https://mirrors.aliyun.com/rockylinux/8.5/AppStream/x86_64/os/
gpgcheck=0
#gpgcheck=1 # 如果 gpgcheck 为 1 ,需要写秘钥文件路径
#gpgkey=https://mirrors.aliyun.com/rockylinux/RPM-GPG-KEY-rockyofficial
[baseos]
name=baseos
baseurl=https://mirrors.aliyun.com/rockylinux/8.5/BaseOS/x86_64/os/
gpgcheck=0
#gpgcheck=1
#gpgkey=https://mirrors.aliyun.com/rockylinux/RPM-GPG-KEY-rockyofficial
- 清华源镜像站点为 https://mirrors.tuna.tsinghua.edu.cn/
- 中国科技大学镜像站点 https://mirrors.ustc.edu.cn/
- 网易开源镜像站 http://mirrors.163.com/
- …… 等等很多大学开源镜像站点 ……
( 4 ) yum/dnf 工具管理软件包
```bash
# 查看包、包组相关信息
yum repolist [all] # 查看系统中 yum 资源库配置信息
yum list all # 列出仓库里所有可安装的软件包
yum list installed [ 包名 ] # 列出己经安装的所有的或指定的 rpm 包 ( 包名中可使用匹配符 )
yum info 包名 # 查看指定软件包的详细信息
yum grouplist # 查看仓库里而所有包组
yum groupinfo 包组名 # 查看指定包组里而的详细信息
# 安装、更新包和包组
yum install [-y] 包名 # 安装指定的软件包, -y 则在工作过程中需要使用者响应, 这个选个参数可以直接回答 yes
yum update [-y] 包名 # 升级指定的软件包或主机中所有已安装的软件包
yum groupinstall 包组名 # 安装指定包组里面的所有包 # 卸载软件包
yum remove [-y] 包名 # 卸载已经安装在系统中的指定的软件包
# 搜索文件由哪个包产生
yum provides 文件名 # 查找指定的文件属于哪个包
yum whatprovides /etc/fstab # 查看这个文件是由那个包提供的
# 模糊搜索包名
yum search 模糊包名 # 查看模糊包名的软件包
# 清空缓存
yum clean packages all # 清除下载到本机的指定的软件包或所有软件包的 yum 源缓存