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源为阿里源,分别用67展示;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      // 查看命令跟哪个包有关
posted @   梵高de画笔  阅读(66)  评论(0编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律
点击右上角即可分享
微信分享提示