yum命令在Centos系统中应用能过非常便捷的解决我们安装rpm包时存在的依赖关系问题。
以下是个人学习当中的一些总结,如有错误还希望各位大神帮忙指点一下,万分感谢。
1.yum仓库设置,yum的仓库可以使用本地DVD当做yum源,也可以使用网上提供的yum源,在服务器可以联网的情况下有限推荐使用网上的yum源。
2.Centos系统默认情况下会自带一些yum仓库,仓库所在的目录为/etc/yum.repos.d/下,yum仓库配置文件必须已repo为结尾。默认情况下Centos会自动生成一个本地yum的挂载名和几个自带的网上的yum源,不过自带的网络的yum源均是国外的网站,在国内访问效率会比较慢甚至可能无法访问,建议可以自行更改成国内的一些知名的yum源,yum源可以自行百度。这里提供一个Centos 8系列系统的阿里云的yum源(http://mirrors.aliyun.com/repo/Centos-8.repo)
3.根据2中的情况,我们要设置yum仓库就要更改yum仓库的配置文件,在更改我们就要了解下yum仓库中配置的内容及格式。以下已自带的一个网络yum仓库配置文件进行说明
[appstream] //容器名称,必须要是用英文状态下的方括号括起来。
name=CentOS Linux $releasever - AppStream //容器别名name=是固定格式,后面随意填写
mirrorlist=http://mirrorlist.centos.org/release=$releasever&arch=$basearch&repo=AppStream&infra=$infra //仓库地址镜像,等同于baseurl
#baseurl=http://mirror.centos.org/$contentdir/$releasever/AppStream/$basearch/os/ //仓库地址,默认情况下推荐使用该地址,需要将#去掉。base=是固定地址,后面跟着仓库的地址,改地址也可以是本地文件格式为file://+本地文件的绝对目录。
gpgcheck=1 //数字证书校验是否开启,0为不开启,1为开启,默认不填写该项时是不开启状态。
enabled=1 //仓库是否生效,0为不生效,1为生效,默认不填写是为1生效状态。
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-centosofficial //数字证书校验文件的文件路径。该项只有在gpgcheck=1时才需要配置。
根据上述描述最精简的仓库配置格式为:
[容器名称]
name=容器别名
baseurl=仓库地址
示例:已Centos8的光盘做为例,Centos8系统中Packages包分为Appsteam和BaseOS两个目录了,设置仓库时需要设置两个地址。设置光盘为本地yum仓库时,首先需要挂载光盘到本地,我这里在/mnt/dvd/目录下挂载本地光盘,以此为例进展配置本地yum仓库。
在/etc/yum.repos.d/目录下创建local.repo文件,内容如下:
[baseos-dvd]
name=BaseOS-DVD
baseurl=file:///mnt/dvd/BaseOS/
enabled=1
#此项可不填写,建议填写。
gpgcheck=0
#此项可不填写,建议填写。
[appstream-dvd]
name=AppStream-DVD
baseurl=file:///mnt/dvd/AppStream/
enabled=1
#此项可不填写,建议填写。
gpgcheck=0
#此项可不填写,建议填写。
编写完成以上配置后保存退出即可,可以使用yum repolist -v命令验证yum仓库是否有效。验证成功效果如下。会显示仓库中安装包数量,安装包大小,安装包路径等详细信息。
4.yum常用命令
(1)yum list
#列出yum仓库中所有可用的安装包
(2)yum list installed
#列出计算机中已安装的所有的软件包
(3)yum list updates
#将计算机中已安装的所有软件升级可用的升级列表。
(4)yum grouplist
#列出yum仓库中所有软件包组
(5)yum groupinstall "group-name"
#安装软件包组
(6)yum repolist
#列出yum仓库信息
(7)yum repolist -v
#加载yum仓库,并进行验证内容,如第3节中的图片所示。
(8)yum search 关键字
#搜索关键字,主要搜索软件包名和软件包简介中的关键字。
(9)yum provides "关键字"
#搜索关键字属于哪个软件包,类似rpm -qf命令。搜索某个命令属于哪个软件包时可用yum provides "*/ifconfig"进行搜索,ifconfig是可以替换内容,此处已ifconfig命令进行示例。
(10)yum whatprovides "关键字"
#个人理解此命令等同于 yum provides命令,如有大神还请指点下区别。
(11)yum check-update 安装包名
#检查某安装包可用的更新。
(12)yum update
#更新计算机中已安装的所有软件包,并保有原有rpm包。
(13)yum upgrade
#更新计算机中已安装的所有软件包,并删除原有rpm包。
(14)yum info 软件包名
#查看软件包详细信息
(15)yum install 软件包名
#安装软件包,此命令安装软件包时需要手动输入Y进行确定,如不需要手动确认可以使用yum -y install 软件包名命令进行安装。
(16)yum remove
#卸载/移除软件包,软件包名此命令卸载软件包时需要手动输入Y进行确定,如不需要手动确认可以使用yum -y remove 软件包名命令进行卸载。
(17)yum history
#查看yum的历史操作。
(18)yum history info 历史操作序号
#查看历史操作详细信息
(19)yum history rollback 序号
#进行yum回滚操作。
(20)yum clearn packages
#清除yum缓存rpm包
(21)yum clearn headers
#清除yum缓存rpm包头文件
(22)yum clearn oldheaders
#清除yum缓存中旧的rpm包的头文件
(23)yum clearn或 yum clearn all
#清除yum所有的缓存文件,包含了rpm包和rpm包头文件等。
#yum缓存目录为/var/cache/yum/,Centos8系列系统为/var/cache/dnf/
(24)yum -y --downloadonly --downloaddir=/home/user1/ install 软件包名
#yum的特殊用法,只下载软件包不进行安装。
5.yum扩展知识。
(1)使用Centos计算机时,建议将默认的yum仓库文件全部移除并自己创建,或者是将原有的yum仓库文件使用mv命令移动到备份目录或者是重命名为备份文件。
(2)快速创建网络yum仓库的方法:
curl -o anliyun.repo http://mirrors.aliyun.com/repo/Centos-8.repo
#上述命令中的aliyun.repo 为本地生成的文件名可以自行更改,但结尾必须使用repo为后缀。Centos-8.repo表示为是Centos8系列系统的仓库,Centos7可缓存Centos-7.repo,http://地址为阿里云的yum仓库地址,可自行替换成其他熟知的yum仓库地址。
(3)yum设置了网络中的镜像仓库后建议进行安装epel扩展yum仓库。可以使用 yum -y instal epel-release 命令来进行安装。
(4)通过yum仓库即可进行内核的生意,但yum仓库默认情况下只能升级当前主线版本的最新版本,无法跨主线升级。如4.18.0-240.el8.x86_64只能升级到4.18.0-305.el8.x86_64版本,无法升级到5.14.0的内核版本。可以通过安装elrepo的yum仓库进行升级最新版本的内核。