1 YUM简介

1.1 YUM简介

CentOS使用yum和dnf 解决rpm的包依赖关系。

YUM:rpm的前端程序,可解决软件包相关依赖性,可在多个库之间定位软件包,up2date的替代工具,CentOS 8 使用dnf代替了yum,不过保留了和yum的兼容性,配置也是通用的。

YUM 的前身是 YUP(Yellow dog Updater,Yellow dog Linux 的软件更新器),最初由 TSS 公司(Terra Soft Solutions,INC.)使用 Python 语言开发而成,后来由杜克大学(Duck University)的 Linux 开发队伍进行改进,命名为 YUM(Yellow dog Updater,Modified)。 要成功使用 YUM 机制来更新系统和软件,需要有一个包含各种 rpm 安装包文件及其依 赖软件的软件仓库(repository),提供软件仓库的服务器也称为“源”服务器。在客户机中只 要正确指定软件仓库的地址等信息,就可以通过对应的“源”服务器来安装或更新软件。

YUM(Yellow dog Updater,Modified):

基于RPM包构建的软件更新机制

可以自动解决依赖关系

所有软件包由集中到YUM软件仓库提供

1.2 yum工作原理

yum依赖于环境,依赖于服务端和客户端,允许跨网络。

Yum基于C/S模式:

yum 服务器存放rpm包和相关包的元数据

yum客户端访问yum服务器进行安装或查询等

Yum实现过程:

先在yum服务器上创建 yum repository(仓库),在仓库中事先存储了众多rpm包,以及包的相关的元数据文件(放置于特定目录repodata下),当yum客户端利用yum/dnf工具进行安装时包时,会自动下载repodata中的元数据,查询远数据是否存在相关的包及依赖关系,自动从仓库中找到相关包下载并安装。

服务器(RPM包和元数据缺一不可):

  • RPM包 (存放在包文件夹Packages中)
  • 元数据(存放在元数据文件夹repodata中,其中包含:目录(软件的目录),软件的依赖关系,软件的分组)

本地仓库类型:

  • 光盘的仓库(基本仓库)
  • epel 扩展仓库

1.3 如何实现安装服务

2 yum客户端配置

yum客户端配置文件

2.1 yum主配置文件

位置:/etc/yum.conf

2.2 yum仓库配置文件

2.2.1 仓库配置文件说明

位置:/etc/yum.repos.d/*.repo

系统内默认的yum仓库,是centos官方的yum源(国外源),需要连通外网才可以使用。

yum仓库配置文件中baseurl的几种形式:

2.2.2 baseurl 指向的路径

CentOS系统的yum源

EPEL的yum源

2.3 日志文件

位置:/var/log/yum.log

3 yum命令详解

包组:

小贴士:

当使用 “yum remove 软件名” 未将软件包卸载干净时,可以使用“yum history undo 序号”进行卸载,可以完整卸载整个软件包,没有残留。

4 yum仓库搭建方式软件仓库的提供方式:

本地目录:file://绝对路径

FTP服务:ftp://ip地址/站点里的路径

HTTP服务:http://域名或者ip地址/站点里的路径

4.1 搭建本地yum仓库

搭建步骤:

步骤1、挂载光盘(/dev/sr0或/dev/cdrom都可以,/dev/cdrom是/dev/sr0的软链接)

注意:mount命令是一次性挂载,退出当前终端或重启后就不存在了。永久挂载需要修改配置文件/etc/fstab。

步骤2、切换到 /etc/yum.repo.d/目录,将自带的仓库文件移走。

步骤3、新建yum仓库文件。

步骤4、清理缓存并安装软件。

4.2 搭建阿里云仓库(http方式外网环境)

默认的仓库文件是国外云仓库,速度比较慢,可以使用阿里云仓库代替。

操作步骤:

步骤1、切换到 /etc/yum.repo.d/目录,将自带的仓库文件移走。

步骤2、新建阿里云仓库。

步骤3、清理缓存并安装软件。

4.3 http方式搭建云仓库

http方式搭建云仓库,在外网和内网的环境下都可以使用,但多用于内网。

服务端:192.168.72.10

客户端:192.168.72.129

搭建步骤:

步骤1、服务端安装hhtpd服务程序。

步骤2、服务端切换到/var/www/html/ 目录,新建子目录centos7,并将光驱挂载到centos7目录下(也可以将光驱中的所有软件包拷贝到该目录下)。

步骤3、服务端关闭防火墙和selinux,启动httpd服务。

步骤4、客户端切换到/etc/yum.repos.d/目录,新建文件夹,将默认的yum仓库文件移动到该目录下。编写新的仓库文件

步骤5、清理yum缓存,重新建立元数据。并测试使用yum能否成功安装软件包。

4.4 ftp方式搭建云仓库

ftp方式搭建云仓库,在外网和内网的环境下都可以使用,但多用于内网。

服务端:192.168.72.10

客户端:192.168.72.129

搭建步骤:

步骤1、服务端安装vsftpd服务程序。

步骤2、服务端切换到 /var/ftp/ 目录下新建一个子目录centos,并将光驱挂载到centos目录下(也可以将光驱内的所有文件包复制到centos目录下)。

步骤3、服务端开启vsftpd服务,关闭防火墙和selinux。

步骤4、客户端安装ftp程序,测试ftp服务是否正常。

步骤5、客户端编写yum仓库文件。

步骤6、清理yum缓存,重新建立元数据。并测试使用yum能否成功安装软件包。

4.5 搭建本地epel源仓库

本地epel源仓库的应用场景:

在可以连外网的情况下,可以使用国外源或阿里云仓库等。

但实际工作中,公司内网常常无法连接外网,这时可以提前搭建本地epel源仓库,即在一台可连通外网的服务器中提前下载好epel源的所有软件包,编写好仓库文件后,在离线的情况下也可以使用yum安装软件包。

之后其他主机可以通过http方式或ftp方式使用服务端的epel源仓库。

操作步骤:

步骤1、安装epel源,并下载epel源的所有软件包。

步骤2、安装createrepo命令(建立元数据的命令),之后使用createrepo命令建立元数据。

步骤3、切换到/etc/yum.repos.d目录,移走默认仓库文件,编写新的仓库文件。

其他主机如果想使用这台机器中的epel仓库,可以在本地使用http或ftp方式搭建:

YUM以及yum源搭建的更多相关文章

  1. yum局域网软件源搭建

    之前的Demo算是告一段落了,期末的各种考试报告也结束了. 暑假的一项任务就是和其他几个同学一起,在若干台服务器上安装openstack,虚拟出更多的机器,对各种分布式/并行数据分析平台进行测试. 目 ...

  2. 基于VSFTP的本地YUM源及光盘YUM源搭建

    基于VSFTP的本地YUM源及光盘YUM源搭建  一.yum环境的本地源搭建(基于VSFTP):  1)安装vsftp;     *********************************** ...

  3. Linux 本地yum源搭建和网络yum源搭建

    一.本地yum源搭建 首先挂载上光盘 [root@www /]# mount /dev/cdrom /media/cdrom/ 系统默认已经安装了可使用yum的软件包,所以可以直接配置: [root@ ...

  4. Linux学习——yum学习和光盘yum源搭建

    在rmp安装的时代,rpm包依赖让安装人员头大,而且头疼,有了yum后整个的安装更加简单和方便. yum源文件 1.yum源的介绍: 将所有的软件包放到官方服务器上,当进行yum在线安装时,可以自动解 ...

  5. yum仓库源搭建

    本地yum源搭建 cd源 mount /dev/sr0 /mnt vim  /etc/yum.repos.d/base.repo [centos-base]name=centos7#baseurl=f ...

  6. 【Linux】YUM源搭建

    YUM是什么? YUM是什么 基于rpm但更胜于rpm的软件管理工具: YUM有服务端和客户端: 如果服务端和客户端在同一台机器,这是本地YUM: 如果服务端和客户端不在同一台机器,这是网络YUM. ...

  7. [How to]基于本地镜像的yum镜像源搭建

    1.简介 本文介绍如何在封闭环境(无外网)下安装离线安装本地镜像与基于本地镜像的yum镜像源. 2.环境版本交代: OS:CentOS-6.7-x86_64-minimal yum: yum-3.2. ...

  8. 在centos中搭建基于nginx的apt源服务器,整合yum源和apt源在一台服务器

    1.首先关闭防护墙或者设置规则通过且关闭selinux 2.nginx-1.14.2版本(编译安装)-自定义安装路径 3.开启nginx目录浏览 以上步骤请参考前文:https://www.cnblo ...

  9. Linux下 本地yum源搭建

    第1章 关于yum源 1.1 什么是yum源 yum(Yellow dog Updater, Modified)是一个在 Fedora 和 RedHat 以及 CentOS 中的 Shell 前端软件 ...

  10. 本地yum源搭建

    2021/07/15 1.挂载 # 创建挂载目录 mkdir /mnt/cdrom # 挂载 mount -t iso9660 /dev/cdrom /mnt/cdrom 2.修改 yum 源配置# ...

随机推荐

  1. 【Flink入门修炼】1-2 Mac 搭建 Flink 源码阅读环境

    在后面学习 Flink 相关知识时,会深入源码探究其实现机制.因此,需要现在本地配置好源码阅读环境. 本文搭建环境: Mac M1(Apple Silicon) Java 8 IDEA Flink 官 ...

  2. .NET 云原生架构师训练营(模块二 基础巩固 RabbitMQ 业务场景详解)--学习笔记

    2.6.5 RabbitMQ -- 业务场景详解 异步处理 应用解耦 流量削锋 日志处理 异步处理 串行方式 并行方式 异步方式 串行方式 _userRepo.Add(user); _emailSer ...

  3. NC20325 [SDOI2009]HH的项链

    题目链接 题目 题目描述 HH有一串由各种漂亮的贝壳组成的项链. HH相信不同的贝壳会带来好运,所以每次散步完后,他都会随意取出一 段贝壳,思考它们所表达的含义. HH不断地收集新的贝壳,因此他的项链 ...

  4. 【Unity3D】2D动画

    1 图片处理 ​ 通过 PS 软件将以下 gif 文件中的黑色背景删除,并将其中的 18 个图层分别保存为 png 格式图片. 2 游戏对象 ​ 1)游戏对象层级结构 ​ 2)Transform组件参 ...

  5. Java操作EasyExcel实现导入导出入门

    介绍 EasyExcel是阿里巴巴开源的一个excel处理框架,以使用简单.节省内存著称.EasyExcel能大大减少占用内存的主要原因是在解析Excel时没有将文件数据一次性全部加载到内存中,而是从 ...

  6. oracle中使用自定义函数解析指定分隔符的字符串

    1.创建字符串表类型 create type tab_varchar is table of varchar2(2000); 2.创建管道函数 create or replace function g ...

  7. 责任链模式与spring容器的搭配应用

    背景 有个需求,原先只涉及到一种A情况设备的筛选,每次筛选会经过多个流程,比如先a功能,a功能通过再筛选b功能,然后再筛选c功能,以此类推.现在新增了另外一种B情况的筛选,B情况同样需要A情况的筛选流 ...

  8. ASP.NET 读取FTP文件流

    参考资料 ASP.NET 上传文件到共享文件夹 工具类代码 /// <summary> /// 读取ftp文件流 /// </summary> /// <param na ...

  9. Taurus.MVC WebMVC 入门开发教程4:数据列表绑定List<Model>

    前言: 在本篇 Taurus.MVC WebMVC 入门开发教程的第四篇文章中, 我们将学习如何实现数据列表的绑定,通过使用 List<Model> 来展示多个数据项. 我们将继续使用 T ...

  10. JAVA对象的生命周期(二)-对象的创建

    目录 对象创建的几种方式 类加载检查. 内存分配 初始化零值 设置对象头 执行init方法 对象创建的几种方式 new clone newInstance 反序列化 String s = " ...