Linux装配—3.yum管理
yum的工作原理
1、yum仓库(repository)
- 在仓库中保存了yum可以使用的rpm包
2、仓库中rpm包的元数据
- 1.软件包名
- 2.软件的依赖关系
- 3.验证信息
- 4.软件安装后文件列表信息
3、yum的工作过程
- 1.下载yum仓库的元数据到本地的缓存目录中
- 2.分析元数据信息(是否已经安装,是否仓库存在,软件依赖哪些其他软件)
- 3.根据分析结果,从yum仓库中下载指定的软件包和依赖软件到本地缓存目录
- 4.根据分析元数据的结果,一次安装所下载的rpm包
- 5.删除缓存中的rpm包
# 缓存文件位置在 /var/cache/yum/x86_64/7 ; centos6是6
# repodata目录存放的是元数据
4、yum仓库提供rpm包的方式
- http方式 如: http://mirrors.aliyun.com/centos/
- ftp方式
- nfs方式
- file方式
5、yum的配置文件
[root@wg ~]# vi /etc/yum.conf // 主配置文件
| [main]
| cachedir=/var/cache/yum/$basearch/$releasever // 缓存文件的保存位置
| keepcache=0 // 指定是否保留安装过的rpm包。1不保留
| debuglevel=2
| logfile=/var/log/yum.log // 指定yum操作的事务日志
| exactarch=1 // 指定是否严格匹配软件和系统版本
| obsoletes=1
| gpgcheck=1
| plugins=1
| installonly_limit=5
| bugtracker_url=http://bugs.centos.org/set_project
[root@wg ~]# vi /etc/yum.repo.d/*.repo // 子配置文件
| [repo_ID] // 指定yum仓库,随便写,必须唯一
| name=CentOS-$releasever - Base // 指定yum仓库的名称,随便写
| mirrorlist=http://...
| baseurl=http://... // 指定yum仓库的url
| enabled={1|0} // 指定是否使用该yum仓库,0不使用
| gpgcheck={1|0} // 是否检测软件的秘钥,0不使用
| gpgkey=file:///etc/pki/rpm-gpg // 指定密钥的位置
| cost=# // 指定yum的开销值,默认1000,越小优先级越高
| failovermethod={roundrobin|priority}
- 配置文件中的变量
| $releasever 系统的主发行版本号
| $basearch 显示系统的CPU架构
yum命令
yum命令格式
- yum [options] [command] [package...]
- 查询
| yum list
| yum repolist
| yum info
| yum search command // 查看命令属于哪个包
- 安装升级卸载
| yum install
| yum reinstall 覆盖安装 要指定版本可以用yum update soft-version
| yum update 升级
| yum check-update 检查可升级软件包
| yum downgrade 降级软件
| yum remove 卸载软件
| yum localinstall 老版本本地安装
[root@localhost ~]# yum reposlist // 查看yum仓库,跟all可以查看全部
[root@localhost ~]# yum -y update // 升级所有包,也升级软件和系统内核
[root@localhost ~]# yum -y upgrade // 只升级所有包,不升级软件和系统内核
yum软件组管理命令
- yum grouplist // 列出所有可用的软件组列(6和7结果不一样)
- yum groupinfo // 查看包组中有哪些软件
- yum groupinstall 软件组名 // 安装指定软件组
- yum groupremove 软件组名 // 卸载指定软件组
yum命令补充
yum clean [packages|metadata|expire-cache|rpmdb|plugins|all] 清空
yum makecache // 自动连接至每个可用仓库,下载元数据,并将其创建为缓存
yum install 软件名 --nogpgcheck // 如没关gpgcheck,跳过公钥检查安装
# @表示已经安装,anaconda表示软件时在安装系统过程自动安装的
配置z在线yum源
- 两种方式更新yum源为阿里源,分别用6和7展示;6已失效
| [root@localhost ~]# curl -o /etc/yum.repos.d/CentOS-Base.repo\
| https://mirrors.aliyun.com/repo/Centos-7.repo
| -------------------
| [root@localhost ~]# wget -o /etc/yum.repos.d/CentOS-Base.repo\
| http://mirrors.aliyun.com/repo/Centos-6.repo
配置本地yum源
- 1.将/etc/yum.repos.d/下文件全备份,保留CentOS-Media.repo
- 2.把不用的路径注释掉
- 3.相关参数说明
| enabled=1 开关 1是打开 0是关闭
| gpgcheck=1 是公钥检验,不关的话下载会失败
- 4.创建图中的路径
- 5.上传centos6镜像,我这里有两个,建两个文件夹,然后执行命令
| [root@localhost ~]# mount -o loop CentOS-6.7-x86_64-bin-DVD2.iso /mnt/dvd2
- 6.再执行yum -y install xxx就可以了
# vim /root/.bashrc 最好是把挂载镜像放到文件中,这个是折中办法
# 把挂载加到自启动中 上边是折中办法 避免破话启动文件 最好放入/etc/fstab
定制yum源
[root@localhost ~]# createrepo rpm包上层目录 // 生成yum安装包集合
[root@localhost ~]# vi yum源文件.repo
[root@localhost ~]# yum -y install 软件名
epel
EPEL的全称叫 Extra Packages for Enterprise Linux 。EPEL是由 Fedora 社区打造,为 RHEL 及衍生发行版如 CentOS、Scientific Linux 等提供高质量软件包的项目。装上了 EPEL之后,就相当于添加了一个第三方源。
yum install -y epel-release
yum-utils
- yum-utils
| utils是常用工具的意思。
| yum-utils是一个包。需要用yum来安装。
| yum install yum-utils
- yum-config-manager
| yum-config-manager是一个命令
| 包含在yum-utils这个包内。
| 安装yum-utils之后才能运行yum-config-manager命令。
| 本质是对 /etc/yum.repos.d/ 文件夹下文件的增删查改
查询所有资源库
# yum repolist all
查询已启用的资源库
# yum repolist enabled
查询禁用的资源库
# yum repolist disabled
#添加资源库
# yum-config-manager --add-repo repository_url
# yum-config-manager --add-repo https://mirrors.tuna.tsinghua.edu.cn/centos/8/BaseOS/x86_64/os/
启用资源库
# yum-config-manager --enable itemName
禁用资源库
# yum-config-manager --disable itemName
或者直接编辑/etc/yum.repos.d/下对应资源库文件
enabled=0
删除资源库
在/etc/yum.repos.d/下手动删除对应repo文件即可,这会使得该库中所有信息被删除
# 我们在更新yum源或者出现配置yum源之后,通常都会使用yum makecache 生成缓存
yum makecache fast
这个命令是将软件包信息提前在本地缓存一份,用来提高搜索安装软件的速度
yum clean all
yum 会把下载的软件包和header存储在cache中而不自动删除。如果觉得占用磁盘空间,可以使用yum clean指令清除缓存。
yum provides iostat // 查看命令属于哪个包
yum search iostat // 查看命令跟哪个包有关
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律