使用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仓库里面至少要存在两个文件:

  1. 存放包的目录文件
  2. 存放元数据信息的目录文件

    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应该配置的两个基本源

  1. 光盘源
  2. 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的实现和配置的更多相关文章

  1. Linux yum源配置

    Linux yum源配置 本文介绍Red Hat下yum源配置方法,Redhat使用yum网络源需要购买服务,但是本地yum源不会收费. CentOS用户自带yum源,并且yum不收费. 准备工具: ...

  2. Linux yum的配置 , python环境管理, nginx搭建简单学习

    Linux yum的配置 , python环境管理, nginx搭建简单学习 一丶配置yum的数据仓库 ### yum 工具, 方便,自行解决软件之间的依赖关系. # 配置yum源仓库 (可以使用,清 ...

  3. Linux安装MySql5.7及配置(yum安装)

    Linux安装MySql5.7及配置(yum安装) [root@xld ~]# rpm -q centos-release centos-release-7-7.1908.0.el7.centos.x ...

  4. Linux挂载iso镜像、配置本地yum源

    Linux挂载iso镜像.配置本地yum源 1.备份原yum源配置文件 [root@localhost ~]# ll /etc/yum.repos.d/ [root@localhost ~]# mkd ...

  5. Linux YUM 配置源

    Linux Yum 简介 YUM是交互式的以rpm为基础的软件包管理工具.YUM可以根据仓库的元数据信息,去自动的实现系统更新,包括依赖性分析,过期软件包处理.我们也可以利用yum来进行软件安装,删除 ...

  6. 【转载】Linux 通过mount -o loop 配置本地.iso镜像为yum源(yum仓库)

    原文地址:https://www.jb51.net/os/RedHat/2682_all.html 如果拷贝到本地,可以使用mount mount fileName mountPoint -o loo ...

  7. Linux Yum仓库源配置

    Yum概念:Yum软件仓库的作用是为了进一步简化RPM管理软件的难度以及自动分析所需软件包及其依赖关系的技术 Yum配置仓库源放置位置:/etc/yum.repo.d/ :配置文件需以 .repo 结 ...

  8. Linux FTP的安装与配置

    Linux FTP的安装与配置   ftp安装部分,操作步骤如下: 可以使用yum命令直接安装ftp # yum install vsftpd ftp服务的开启与关闭命令: 开启:# service  ...

  9. [Linux] yum和apt-get用法及区别

    一般来说著名的linux系统基本上分两大类: 1.RedHat系列:Redhat.Centos.Fedora等 2.Debian系列:Debian.Ubuntu等 RedHat 系列 1 常见的安装包 ...

随机推荐

  1. 学习打卡——Mybatis—Plus

    今天看完了Mybatis-Plus的视频,在某些方面来看MP确实简化了很多操作,比如自动生成代码等等.学习过程的代码实例也到同步到了gitee和github

  2. perf性能分析工具使用分享

    @ 目录 前言 perf的介绍和安装 perf基本使用 perf list使用,可以列出所有的采样事件 perf stat 概览程序的运行情况 perf top实时显示当前系统的性能统计信息 perf ...

  3. cookie,sessionStorage,localStorage

    本文转 sessionStorage 和 localStorage 是HTML5 Web Storage API 提供的,可以方便的在web请求之间保存数据.有了本地数据,就可以避免数据在浏览器和服务 ...

  4. HTTP:聊一聊HTTPS

    一.什么是https https是http的升级,因为http是明文传输的,所以非常不安全,https在http的基础上进行了数据加密. 二.https的加密方式 1.对称加密 服务端会给客户端发送一 ...

  5. [笔记] 期望概率DP

    线性高斯消元 模型概述 转移不是 DAG 的期望 DP. 成环的转移有特殊性质,如:只总父亲/根/儿子转移,只从左右转移-- 处理方式 以只从父亲和儿子转移的期望 DP 为例: \[f(x)=p\cd ...

  6. Citus 11(分布式 PostgreSQL) 文档贡献与本地运行

    Citus 可以使用分片跨多台计算机来水平缩放查询. 其查询引擎会将这些服务器的传入 SQL 查询并行化,加快大型数据集上的响应. 它为需要比其他部署选项更大规模和更高性能的应用程序提供服务:通常,工 ...

  7. WinUI迁移到即将"过时"的.NET MAUI个人体验

    迁移的初衷 本人平时是做.net相关的工作,对于.net技术栈也有一些了解,自从新的.net能够跨平台之后,之前也有跨平台的ui框架Xamarin,现在微软推出了.NET MAUI这个说是 统一了开发 ...

  8. 使用python脚本+zabbix前端监控云联网底层TCP数据流所负载的链路质量,并在丢包时联动保存MTR记录

    背景 目前国内各家云联网跨区域数据传输,会将数据流通过哈希运算负载到不同的底层链路上,而底层链路质量差异较大,这种情况导致的现象就是,使用传统的icmp监控线路正常,但是业务一直不稳定,所以才有了使用 ...

  9. 【Java分享客栈】未来迈向高级工程师绕不过的技能:JMeter压测

    前言 因为工作需要,久违的从自己的有道云笔记中去寻找压测相关的内容,翻开之后发现还不错,温故一遍后顺便整理出来分享给大家. 题外话,工作8年多,有道云笔记不知不觉都6G多了,扫一眼下来尽是云烟过往,竟 ...

  10. 【动态UAC权限】无盾程序(win32&cmd)

    可以看到两种不同的提权方式,注意是动态,用代码提权,而不是用清单文件提前处理. 函数都写好了,这里不多做解释. win32程序: 首先需要这俩头文件,第二个我忘了啥函数要用了,总之出问题加上就对了:( ...