首页 > 系统相关 >YUM以及yum源搭建

YUM以及yum源搭建

时间:2024-02-29 19:48:04浏览次数:26  
标签:仓库 步骤 YUM 软件包 yum 搭建

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软件仓库提供
img

1.2 yum工作原理

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

Yum基于C/S模式:

yum 服务器存放rpm包和相关包的元数据
yum客户端访问yum服务器进行安装或查询等
Yum实现过程:

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

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

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

img

本地仓库类型:

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

1.3 如何实现安装服务

img

2 yum客户端配置

yum客户端配置文件

img

2.1 yum主配置文件

位置:/etc/yum.conf

img

img

2.2 yum仓库配置文件

2.2.1 仓库配置文件说明

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

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

img

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

img

2.2.2 baseurl 指向的路径

CentOS系统的yum源

img

EPEL的yum源

img

2.3 日志文件

位置:/var/log/yum.log

img

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的软链接)

img

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

img

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

img

img

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

img

img

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

img

img

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

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

操作步骤:

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

img

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

img

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

img

4.3 http方式搭建云仓库

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

服务端:192.168.72.10

客户端:192.168.72.129

搭建步骤:

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

img

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

img

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

img

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

img

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

img

4.4 ftp方式搭建云仓库

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

服务端:192.168.72.10

客户端:192.168.72.129

搭建步骤:

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

img

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

img

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

img

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

img

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

img

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

img

img

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

在可以连外网的情况下,可以使用国外源或阿里云仓库等。
但实际工作中,公司内网常常无法连接外网,这时可以提前搭建本地epel源仓库,即在一台可连通外网的服务器中提前下载好epel源的所有软件包,编写好仓库文件后,在离线的情况下也可以使用yum安装软件包。
之后其他主机可以通过http方式或ftp方式使用服务端的epel源仓库。

操作步骤:

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

img

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

img

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

img

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

img

标签:仓库,步骤,YUM,软件包,yum,搭建
From: https://www.cnblogs.com/nwq1101/p/18045268

相关文章

  • CENTOS_7_x86_64换yum源
    1:查看当前yum源:yumrepolist2:更换yum源2-1:备份原yum源cp-a/etc/yum.repos.d/CentOS-Base.repo/etc/yum.repos.d/CentOS-Base.repo.bak2-2:下载华为云yum源wget-O/etc/yum.repos.d/CentOS-Base.repohttps://repo.huaweicloud.com/repository/conf/CentOS-7-reg.repo......
  • 如何使用 vscode 搭建 Django Restful API 开发环境 All In One
    如何使用vscode搭建DjangoRestfulAPI开发环境AllInOnevscode+Django(Python)demos(......
  • 如何搭建企业级账务系统
    本文作者所在的公司提供全链路的风控信贷服务,主要通过售卖数据产品和提供本地化系统部署服务获得盈利,这篇文章总结了他负责账务系统的工作经验和心得,希望能帮你对业财领域的产品设计提供些思路和借鉴。笔者目前就职于一家中型的互联网金服企业,公司提供全链路的风控信贷服务,主......
  • ems案例之环境搭建
    依赖引入pom.xml<?xmlversion="1.0"encoding="UTF-8"?><projectxmlns="http://maven.apache.org/POM/4.0.0"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://maven.a......
  • 基于VsCode platformio的stm32开发环境搭建
    基于VsCodeplatformio的stm32开发环境搭建背景VsCode作为当下流行的编辑器,且不单单是一个编辑器里面集成了很多插件,使用这些插件可以完成很多功能。STM32开发环境除了KEIL与IAR,其实还有很多其他的开方方式,ST官方提供了很多的开发软件,基于Eclipse也可以搭建一套,使用VsCode配合......
  • esp32 VS Code环境搭建
    1清除旧的环境1.1删除已经安装过的espressidf残留环境1.2删除环境变量2安装Python环境https://www.python.org/downloads/需要注意将python添加至环境变量3安装ESP-IDF-tool离线包以管理员权限安装此工具包,且VSCode在安装过程中不要打开!!出现下列情况为安装成功......
  • Unity xLua开发环境搭建与基础进阶
    Unity是一款非常流行的游戏开发引擎,而xLua是一个为Unity开发者提供的Lua框架,可以让开发者使用Lua语言来进行游戏开发。在本文中,我们将介绍如何搭建UnityxLua开发环境,并进行基础进阶的学习。 对啦!这里有个游戏开发交流小组里面聚集了一帮热爱学习游戏的零基础小白,也有一些正......
  • Vue3 [1] Vite + element-plus +Vue3 项目搭建、"@"别名设置
    1.环境准备node官网npm切换国内npm源镜像npmconfigsetregistryhttps://registry.npmmirror.com查看当前的镜像源npmconfiggetregistryvscode插件扩展包VueVolarextensionPack2.项目初始化本项目使用vite进行构建,vite官方中文文档参考:cn.......
  • 【Filament】Filament环境搭建
    1前言​Filament是一个实时物理渲染引擎,用于Android、iOS、Linux、macOS、Windows和WebGL平台。该引擎旨在提供高效、实时的图形渲染,并被设计为在Android平台上尽可能小而尽可能高效。Filament支持基于物理的渲染(PBR),这意味着它可以模拟光线、材质和阴影等物理效果,以......
  • ELKF日志系统搭建(二)进阶——使用 Kafka 作为日志消息缓存
    说明:在一些比较大的业务使用场景中,因为应用繁多,需要收集的日志也很多,通过filebeat或者logstash收集上来的日志如果全都直接发送给ES,那么就会对ES集群产生一定的压力,为了避免出现日志接收不过来的问题,于是引入了消息队列作为缓存,比如常见的使用Redis或Kafka作为消息缓存......