Linux yum的实现和配置
使用yum或dnf解决rpm包的依赖关系。
YUM:Yellowdog Update Modifier。是rpm的前端程序
作用:解决软件包之间的依赖关系
yum工作原理:
yum 服务器存放rpm包和相关rpm包的元数据库(一个叫做repodata的文件夹--存放包的列表、依赖关系等信息)
yum 客户端访问yum服务器进行安装或查询等
客户端通过yum命令进行相关操作的时候,会通过客户端的配置文件连接到对应的仓库操作。
客户端会下载yum服务器的repodata到自己的缓冲区,通过对元数据检索找到对应的软件。
然后下载到客户端,按照一定要求进行安装。最后会删除掉下载的rpm包,repodata会保留下来
yum实现过程:
1.首先在yum服务器上创建仓库 -- 仓库存储相关包和元数据信息
2.客户端使用yum工具进行包的安装时,自动下载repodata中的元数据,查询是否存在依赖关系
3.从仓库中下载相关的包进行安装
yum仓库里面至少要存在两个文件:
- 存放包的目录文件
- 存放元数据信息的目录文件
centos7只有要给repodata。包和元数据都放在一起。
EPEL:额外企业级的仓库包
yum客户端配置:
想要使用yum安装软件,需要进行客户端的配置。
配置文件:
作用:告诉客户端机器yum仓库在哪儿
/etc/yum.conf #为所有仓库提供公共配置 --- 了解就行,不用修改
/etc/yum.repos.d/*.repo: #为每个仓库的提供配置文件 --- yum客户端配置文件
repo仓库配置文件基本格式义:
[repositoryID] --- #仓库的id(唯一)
name=Some name for this repository --- #仓库的描述
baseurl=url://path/to/repository/ --- #去哪儿找到仓库(仓库路径:能看到repodata) 一行可以放一个地址的路径
gpgcheck={1|0} --- #安装软件之前要不要进行校验
gpgkey=URL --- #开启校验就要指定gpgkey(不开启就不配置)
一个repo文件里面也可以放多个仓库配置信息
例:baseurl指定url
baseurl=http://mirrors.aliyun.com/epel/$releasever/Everything/$basearch
http://mirrors.huaweicloud.com/epel/$releasever/Everything/$basearch
yum服务器的baseurl支持一下四种地址形式:
file:// 使用本地路径
http:// 使用网络地址
https://
ftp://
注意:yum仓库指向的路径一定必须是repodata目录所在目录
baseurl 指向的路径
阿里云提供了写好的CentOS和ubuntu的仓库文件下载链接: http://mirrors.aliyun.com/repo/
CentOS系统的yum源:
#阿里云
https://mirrors.aliyun.com/centos/$releasever/
#腾讯云
https://mirrors.cloud.tencent.com/centos/$releasever/
#华为云
https://repo.huaweicloud.com/centos/$releasever/
#清华大学
https://mirrors.tuna.tsinghua.edu.cn/centos/$releasever/
EPEL的yum源:
#阿里云
https://mirrors.aliyun.com/epel/$releasever/x86_64
#腾讯云
https://mirrors.cloud.tencent.com/epel/$releasever/x86_64
#华为云
https://mirrors.huaweicloud.com/epel/$releasever/x86_64
#清华大学
https://mirrors.tuna.tsinghua.edu.cn/epel/$releasever/x86_64
启用和禁用仓库
方式一:直接通过在配置文件中指定:enable=1或0 0表示不启用(默认启用)
默认enable=1
方式二:yum-config-manager --disable或者 --enable 仓库名
范例:为CentOS7用系统安装光盘作的本地yum仓库
1.挂载光盘到某个目录 -- mount /dev/cdrom /mnt/cdrom
2.创建yum服务器的配置文件
vim /etc/yum.repos.d/centos7.repo
[CentOS7]
name=CentOS 7
baseurl=file:///mnt/cdrom #file:// 代表本地地址
gpgcheck=0
enabled=1
#注意:与之前的版本不同,CentOS 8 系统有两个yum 源:BaseOS和AppStream ,需要分别设置两个仓库
yum应该配置的两个基本源
- 光盘源
- epel源:存放了大量丰富的软件
epel源配置方式:
方法一:
epel源的gpgkey不是在本地
yum -y install epel-release安装这个以后就会生成epel的配置
卸载这个软件包就自动移除了epel源
方法二:
使用国内的镜像站点自己编写对应的配置文件
yum相关命令
格式: yum [option] [command] [package]
选项:
-y:自动回答‘yes’
显示仓库列表:
yum repolist --- 可以查询本地配置了多少个yum源的信息(默认显示启用的仓库)
yum repolist all -- 显示系统中所有的仓库

选项:
-v: 显示yum源的详细信息
显示程序包:
yum list --- 列出当前仓库中所有的程序包
yum list available -- 只列出没有装好的程序包
yum list installed --- 只列出装好了的程序包
yum list xxxx ---查看指定的包是否存在yum源中
yum info xxx --- 查看软件包的相关信息
安装程序包:
yum install package
只下载不安装:yum -y install --downloadonly --downloaddir=xxx packagename
卸载程序包:
yum remove package
升级程序包:
yum update
查询:
查看指定的特性(可以是某文件)是由哪个程序包所提供:
yum provides | whatprovides feature1 [feature2] [...]
通过名字获取没有安装的包的信息(比如包的信息)

(有的时候不一定能查到,因为没有写路径)
解决方法:yum provides | whatprovides */filename --- 写通配符解决
使用rpm -ql 只能查询列出所有已经被安装的rpm package
仓库缓存
清除:
清除目录/var/cache/yum/缓存
yum clean all -- 清除所有的仓库缓存
构建缓存
yum makecache
安装升级本地软件包
yum localinstall|install rpmfile1
yum localupdate|update rpmfile1
软件包组(多个软件包的集合)
前面加上group就行了
比如:yum groupinstall group1
Linux yum的实现和配置的更多相关文章
- Linux yum源配置
Linux yum源配置 本文介绍Red Hat下yum源配置方法,Redhat使用yum网络源需要购买服务,但是本地yum源不会收费. CentOS用户自带yum源,并且yum不收费. 准备工具: ...
- Linux yum的配置 , python环境管理, nginx搭建简单学习
Linux yum的配置 , python环境管理, nginx搭建简单学习 一丶配置yum的数据仓库 ### yum 工具, 方便,自行解决软件之间的依赖关系. # 配置yum源仓库 (可以使用,清 ...
- Linux安装MySql5.7及配置(yum安装)
Linux安装MySql5.7及配置(yum安装) [root@xld ~]# rpm -q centos-release centos-release-7-7.1908.0.el7.centos.x ...
- Linux挂载iso镜像、配置本地yum源
Linux挂载iso镜像.配置本地yum源 1.备份原yum源配置文件 [root@localhost ~]# ll /etc/yum.repos.d/ [root@localhost ~]# mkd ...
- Linux YUM 配置源
Linux Yum 简介 YUM是交互式的以rpm为基础的软件包管理工具.YUM可以根据仓库的元数据信息,去自动的实现系统更新,包括依赖性分析,过期软件包处理.我们也可以利用yum来进行软件安装,删除 ...
- 【转载】Linux 通过mount -o loop 配置本地.iso镜像为yum源(yum仓库)
原文地址:https://www.jb51.net/os/RedHat/2682_all.html 如果拷贝到本地,可以使用mount mount fileName mountPoint -o loo ...
- Linux Yum仓库源配置
Yum概念:Yum软件仓库的作用是为了进一步简化RPM管理软件的难度以及自动分析所需软件包及其依赖关系的技术 Yum配置仓库源放置位置:/etc/yum.repo.d/ :配置文件需以 .repo 结 ...
- Linux FTP的安装与配置
Linux FTP的安装与配置 ftp安装部分,操作步骤如下: 可以使用yum命令直接安装ftp # yum install vsftpd ftp服务的开启与关闭命令: 开启:# service ...
- [Linux] yum和apt-get用法及区别
一般来说著名的linux系统基本上分两大类: 1.RedHat系列:Redhat.Centos.Fedora等 2.Debian系列:Debian.Ubuntu等 RedHat 系列 1 常见的安装包 ...
随机推荐
- 关于Jupyter Notebook无法自动补全(Autocompletion),报错TypeError: __init__() got an unexpected keyword argument 'column' 的解决方案
关于Jupyter Notebook无法自动补全(Autocompletion),报错TypeError: __init__() got an unexpected keyword argument ...
- ArcGIS建筑物简化和建筑物群聚合算法实验
一.下载OSM数据 首先从OpenStreetMap官网下载我们需要的实验数据,这里我选择清华和北大校园作为本次实验数据 二.数据处理 将我们下载的实验数据导入ArcGIS.由于OSM数据是.osm格 ...
- Kafka生成消息时的3种分区策略
摘要:KafkaProducer在发送消息的时候,需要指定发送到哪个分区, 那么这个分区策略都有哪些呢? 本文分享自华为云社区<Kafka生产者3中分区分配策略>,作者:石臻臻的杂货铺. ...
- JavaWeb之如何把请求数据转成实体类
JavaWeb之如何把请求数据转成实体类 自己写个工具类加入下面两个静态方法 自定一个注解类DateTimeFormatting 调用方式User user = util.ObjectFromMap( ...
- nginx + nginx-rtmp-module搭建直播流服务器实现推流实时直播功能
业务需求 最近公司在做养老相关的业务,现在需要子女从小程序端对家里的老人通过家庭终端交互屏进行实时看护. 解决方案 第三方的一些现成的服务:腾讯音视频通话.直播功能; 阿里的音视频通信;两者都挺好的, ...
- SmartIDE v0.1.16 已经发布 - 支持阿里&蚂蚁开源的国产 IDE OpenSumi
SmartIDE v0.1.16 (Build 3137) 已经在2022年4月19日发布到稳定版通道,我们在这个版本中增加了阿里和蚂蚁发布的国产IDE OpenSumi的支持,以及其他一些改进.Sm ...
- 【题解】2021CSP-J2T3网络连接
目录 题目链接 题目分析 是否重复 读入提取数 非法情况判断 参考代码 题目链接 题目分析 map不会冲突!!不一定要like代码中那样加-号! 模拟,算不上大, 首先,我们想想整个流程: 现在,我们 ...
- java高级用法之:JNA中的回调
目录 简介 JNA中的Callback callback的应用 callback的定义 callback的获取和应用 在多线程环境中使用callback 总结 简介 什么是callback呢?简单点说 ...
- Dart 2.17 正式发布
文/ Michael Thomsen, Google Dart 团队产品经理,2022 年 5 月 12 日发表于 Dart 官方博客 随着 Flutter 3 在本次 I/O 大会的发布,我们也同时 ...
- zabbix 线路质量监控自定义python模块,集成ICMP/TCP/UDP探测,批量监控线路质量自定义阈值联动mtr保存线路故障日志并发送至noc邮箱
互联网故障一般表现为丢包和时延增大,持续性故障不难排查,难的是间歇性或凌晨故障,后者往往来不及等我们测试就已经恢复正常,得不到异常时的mtr无法判断故障点在哪里 故此有了根据丢包率和时延变换联动mtr ...