08Linux yum管理器
一、yum介绍
Yum(全称为 Yellow dogUpdater, Modified)是一个在Fedora和RedHat以及CentOS中的Shell前端软件包管理器。基于RPM包管理,能够从指定的服务器自动下载RPM包并且安装,可以自动处理依赖性关系,并且一次安装所有依赖的软件包,无须繁琐地一次次下载、安装。yum提供了查找、安装、删除某一个、一组甚至全部软件包的命令,而且命令简洁而又好记。
yum 解决依赖的原理
yum 解决依赖关系问题,自动下载软件包。yum是基于C/S架构。C指的是客户端, S指的是服务器,像ftp,http,file一样;关于yum为什么能解决依赖关系:所有的Yum 源里面都有repodata,它里面是有XML格式文件,里面有说明需要什么包。
二、yum常用命令
1、 yum清空缓存列表
yum clean packages # 清除缓存目录下的软件包,清空的是(/var/cache/yum)下的缓存
yum clean headers # 清除缓存目录下的 headers
yum clean oldheaders # 清除缓存目录下旧的 headers
yum clean, yum clean all (= yum clean packages; yum clean oldheaders) # 清除缓存目录下的软件包及旧的headers
yum 安装一个软件的时候会把软件包下载到本地指定的目录中,所以为了节省磁盘空间,可以用上述命令清空缓存
2、yum显示信息
yum list # yum list显示所有已经安装和可以安装的程序包
yum list <package_name> # 显示安装包信息rpm,显示installed ,这里是包名,版本和仓库名
yum list repolist all #查询所有的yum仓库
yum info <package_name> #显示安装包rpm的详细信息
yum groupinfo <group_name> #显示程序组group信息
3、yum搜索、查看
yum search string #根据关键字string查找安装包
yum deplist <package_name> # 仅仅 查看程序rpm依赖情况
yum provides */命令 # 查看命令是由哪个包提供的(这个命令很有帮助)
4、yum安装
yum -y install <package_name> #不加-y则会询问是否安装,想控制哪些包安装,则不要加-y,想自动安装不进行交互,则加-y
yum install --downloadonly --downloaddir=/xx/xxx/xx/ #只下载软件但不安装
5、yum删除、卸载程序
yum remove <package_name> # 卸载程序包,此卸载命令会yum或rpm安装的包生效,如果是编译安装的,则不受yum控制
yum groupremove <group_name> # 删除程序组group
6、yum包的升级、降级
yum check-update #检查可更新的软件有哪些
yum update #更新升级所有软件包
yum update <package_name> #更新指定程序包package,
yum upgrade <package_name> #升级指定程序包package
#有时候需要将高版本的依赖降级到低版本,降级命令如下
yum downgrade <package_name> #降级,对于有依赖的,yum不会自动降级,需要手动降级依赖项
三、安装epel扩展源
以上我们安装的网络yum源基本都是基础的yum源,有些软件不一定能在其找得到,而epel源是一个扩展源,里面有很多软件,所以安装epel扩展源是一个很好的选择,安装如下:
yum install -y epel-release
四、习题
1.如何自建软件源?
- 在服务器上安装Apache2或Nginx等Web服务器。
- 在服务器上安装apt-mirror软件:sudo apt-get install apt-mirror。
- 配置apt-mirror,编辑/etc/apt/mirror.list文件。
- 运行apt-mirror:sudo apt-mirror。
- 将生成的软件源文件放到Web服务器的根目录下。
- 在客户端上配置软件源,编辑/etc/apt/sources.list文件。
- 更新软件源:sudo apt-get update。
2.如何进行yum签名检查?
rpm软件提供组织redhat在构建rpm包时, 使用其私钥private key对 rpm进行签名
客户端在使用rpm为了验证其合法性, 可以使用redhat提供的公钥public key进行签名检查
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· SQL Server 2025 AI相关能力初探
· 单线程的Redis速度为什么快?
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码