【RHCA+】yum源配置(软件仓库)

" 目录:RHCA+ -> 6 软件仓库 -> 35 yum源配置(软件仓库) "

yum,英文全称Yellow dog Updater, Modified,专门为自动解决包的依赖关系而存在的软件包管理器

C/S架构

yum在服务器端存放所有RPM包,并将各个包之间的依赖关系记录在文件中;当管理员使用yum安装RPM包时,yum会先从服务器端下载包的依赖性文件,通过分析此文件从服务器端一次性下载所有相关的RPM包并进行安装

yum源:存放RPM软件安装包的文件夹;本质:源代码和安装规则的集合;目的:降低安装难度;访问方式:http、ftp、file

yum与dnf(yum v4)软件仓库的配置文件是通用的;建议在RHEL 8中使用dnf作为软件的安装命令,它效率更高,支持多线程同时安装,解决了yum分析不准确、内存占用高等问题

使用时将yum替换成dnf即可;例:dnf install 软件包名称

yum源配置文件在/etc/yum.repos.d/目录下,文件扩展名:*.repo;只有此扩展名才能作为yum源,所以想让其失效可以添加个额外的扩展名

若需要自己创建yum源;可在存放软件包服务器上安装createrepo软件,执行# createrepo 软件包目录 进行创建

|-----------|------------------------------------------------------------------------|
| 动作 | 作用 |
| clean | all:清除所有仓库缓存 packages:清理RPM包 headers:head信息 metadata:元数据文件 dbcache:库缓存 |
| makecache | 生成仓库缓存 |

零、安装工具

root@wuzuniao \~# rpm -q yum #查询yum是否安装

yum-3.4.3-118.el7.noarch

root@wuzuniao \~#

一、网络yum源

需要所配置的服务器通过网络能访问到配置的源

root@wuzuniao \~# cd /etc/yum.repos.d/

root@wuzuniao yum.repos.d# ll #默认有CentOS-Base.repo文件,要提前做好备份;这里只做演示,因为自己的实验系统是红帽的

total 12

-r--r--r--. 1 root root 108 May 7 2014 packagekit-media.repo

-r--r--r--. 1 root root 108 May 7 2014 packagekit-media.repo.bak

-rw-r--r--. 1 root root 74 Oct 3 2022 wuzuniao.repo

root@wuzuniao yum.repos.d# wget -O /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-vault-8.5.2111.repo #下载阿里镜像源参考;使用此源需联网

--2023-04-06 22:22:29-- https://mirrors.aliyun.com/repo/Centos-vault-8.5.2111.repo

Resolving mirrors.aliyun.com (mirrors.aliyun.com)... 119.0.95.244, 36.103.213.210, 125.72.141.227, ...

Connecting to mirrors.aliyun.com (mirrors.aliyun.com)|119.0.95.244|:443... connected.

HTTP request sent, awaiting response... 200 OK

Length: 2495 (2.4K) application/octet-stream

Saving to: '/etc/yum.repos.d/CentOS-Base.repo'

100%========================================\> 2,495 --.-K/s in 0s

2023-04-06 22:22:29 (569 MB/s) - '/etc/yum.repos.d/CentOS-Base.repo' saved 2495/2495

root@wuzuniao yum.repos.d# vim CentOS-Base.repo #查看源的配置

base #名称唯一,一定要放在\[\]中

name=CentOS-8.5.2111 - Base - mirrors.aliyun.com #说明,可以随便写

baseurl=http://mirrors.aliyun.com/centos-vault/8.5.2111/BaseOS/$basearch/os/

http://mirrors.aliyuncs.com/centos-vault/8.5.2111/BaseOS/$basearch/os/

http://mirrors.cloud.aliyuncs.com/centos-vault/8.5.2111/BaseOS/$basearch/os/ #yum源服务器的地址

gpgcheck=0 #1表示RPM数字证书生效,需要验证;0表示RPM数字证书不生效,不验证

gpgkey=http://mirrors.aliyun.com/centos/RPM-GPG-KEY-CentOS-Official #数字证书的公钥文件保存位置

#additional packages that may be useful

root@wuzuniao yum.repos.d#

二、RHEL7版本创建本地yum源

无法联网时用本地光盘作为yum源;软件包通常在Packages目录中

root@wuzuniao \~# cd /etc/yum.repos.d/ #进入/etc/yum.repos.d/目录中(因为该目录存放着软件仓库的配置文件)

root@wuzuniao yum.repos.d# mv packagekit-media.repo packagekit-media.repo.bak #移除并备份原repo文件(此命令仅演示如何备份)

root@wuzuniao yum.repos.d# vim wuzuniao.repo #创建新的repo文件(文件名称可随意,但后缀必须为.repo)

wuzuniao #仓库名称:唯一标识,不和其他软件仓库名冲突;

name=wuzuniao #描述信息(name):注明软件仓库用途

baseurl=file:///media/cdrom #仓库位置(baseurl、mirrorlist):软件包的获取方式;可使用FTP、HTTP或本地文件(需要在后面添加file参数)

enabled=1 #是否启用(enabled):设置此源是否可用;1为可用,0为禁用。不写表示启用

gpgcheck=0 #是否校验(gpgcheck):设置此源是否校验文件;1为校验,0为不校验。

#公钥位置(gpgkey):若上面的参数开启了校验功能,则此处为公钥文件位置。若没有开启,则省略不写。

root@wuzuniao yum.repos.d# mkdir -p /media/cdrom #创建挂载点

root@wuzuniao yum.repos.d# mount /dev/cdrom /media/cdrom #这种方式iso文件通过光驱挂载给服务器(临时挂载)

mount: /dev/sr0 is write-protected, mounting read-only

root@wuzuniao yum.repos.d# mount -o loop -t iso9660 /opt/tools/CentOS-6.7-x86_64-bin-DVD1.iso /mnt/vcdrom #这种挂载方法文件在Linux服务器上,当前演示未使用(临时挂载)

root@wuzuniao yum.repos.d# vim /etc/fstab #设置成开机自动挂载(永久挂载)

/dev/cdrom /media/cdrom iso9660 defaults 0 0

root@wuzuniao yum.repos.d# mount -a #配置成永久后,立即挂载

root@wuzuniao yum.repos.d# yum clean all #等同于 yum cleanheaders、yum cleanpackages

Loaded plugins: langpacks, product-id, subscription-manager

This system is not registered to Red Hat Subscription Management. You can use subscription-manager to register.

Cleaning repos: wuzuniao

Cleaning up everything

root@wuzuniao yum.repos.d# yum makecache #将服务器上的软件包信息在本地缓存,以提高搜索安装软件的速度

Loaded plugins: langpacks, product-id, subscription-manager

This system is not registered to Red Hat Subscription Management. You can use subscription-manager to register.

wuzuniao | 4.1 kB 00:00:00

(1/5): wuzuniao/group_gz | 134 kB 00:00:00

(2/5): wuzuniao/filelists_db | 3.0 MB 00:00:00

(3/5): wuzuniao/primary_db | 3.4 MB 00:00:00

(4/5): wuzuniao/other_db | 1.3 MB 00:00:00

(5/5): wuzuniao/productid | 1.6 kB 00:00:00

Metadata Cache Created

root@wuzuniao yum.repos.d#

三、RHEL8版本配置本地源

root@wuzuniao-1 \~# mkdir -p /media/cdrom #创建挂载目录

root@wuzuniao-1 \~# vim /etc/fstab #修改挂载配置文件,让重启后也生效

/dev/cdrom /media/cdrom iso9660 defaults 0 0

root@wuzuniao-1 \~# mount -a #重新挂载,立即生效配置

root@wuzuniao-1 \~# cd /etc/yum.repos.d/ #进入仓库源配置文件所在目录

root@wuzuniao-1 yum.repos.d# vim wuzuniao.repo #创建仓库配置文件(文件名称可随意,但后缀必须为.repo)

8版本要同时添加BaseOS、AppStream,缺一不可

BaseOS #仓库名称:唯一标识,不和其他软件仓库名冲突;

name=BaseOS #描述信息(name):注明软件仓库用途

baseurl=file:///media/cdrom/BaseOS #仓库位置(baseurl):软件包的获取方式;可使用FTP、HTTP或本地文件(需要在后面添加file参数)

enabled=1 #是否启用(enabled):设置此源是否可用;1为可用,0为禁用。不写表示启用

gpgcheck=0 #是否校验(gpgcheck):设置此源是否校验文件;1为校验,0为不校验。

#公钥位置(gpgkey):若上面的参数开启了校验功能,则此处为公钥文件位置。若没有开启,则省略不写。

AppStream #仓库名称:唯一标识,不和其他软件仓库名冲突;

name=AppStream #描述信息(name):注明软件仓库用途

baseurl=file:///media/cdrom/AppStream #仓库位置(baseurl):软件包的获取方式;可使用FTP、HTTP或本地文件(需要在后面添加file参数)

enabled=1 #是否启用(enabled):设置此源是否可用;1为可用,0为禁用。不写表示启用

gpgcheck=0 #是否校验(gpgcheck):设置此源是否校验文件;1为校验,0为不校验。

#公钥位置(gpgkey):若上面的参数开启了校验功能,则此处为公钥文件位置。若没有开启,则省略不写。

EPEL #仓库名称:唯一标识,不和其他软件仓库名冲突;添加红帽的扩展包,可选

name=EPEL #描述信息(name):注明软件仓库用途

baseurl=https://dl.fedoraproject.org/pub/epel/8/Everything/x86_64 #仓库位置(baseurl):软件包的获取方式;可使用FTP、HTTP或本地文件(需要在后面添加file参数)

enabled=1 #是否启用(enabled):设置此源是否可用;1为可用,0为禁用。不写表示启用

gpgcheck=0 #是否校验(gpgcheck):设置此源是否校验文件;1为校验,0为不校验。

#公钥位置(gpgkey):若上面的参数开启了校验功能,则此处为公钥文件位置。若没有开启,则省略不写。

root@wuzuniao-1 yum.repos.d# yum clean all #清理缓存,默认没有

Updating Subscription Management repositories.

Unable to read consumer identity

This system is not registered to Red Hat Subscription Management. You can use subscription-manager to register.

0 文件已删除

root@wuzuniao-1 yum.repos.d# yum makecache #建立缓存

Updating Subscription Management repositories.

Unable to read consumer identity

This system is not registered to Red Hat Subscription Management. You can use subscription-manager to register.

AppStream 539 MB/s | 5.3 MB 00:00

BaseOS 365 MB/s | 2.2 MB 00:00

元数据缓存已建立。

root@wuzuniao-1 yum.repos.d#

四、EPEL

1、安装EPEL源(RHEL8)

root@Server_8_200 \~# cd /etc/yum.repos.d/ #进入yum源目录

root@Server_8_200 yum.repos.d# mv wuzuniao.repo wuzuniao.repo.back #备份原先yum源

root@Server_8_200 yum.repos.d# yum install -y https://mirrors.aliyun.com/epel/epel-release-latest-8.noarch.rpm #下载安装阿里云的epel配置包

root@Server_8_200 yum.repos.d# sed -i 's|^#baseurl=https://download.example/pub\|baseurl=https://mirrors.aliyun.com\|' /etc/yum.repos.d/epel* #替换repo配置中地址为阿里云地址

root@Server_8_200 yum.repos.d# sed -i 's|^metalink|#metalink|' /etc/yum.repos.d/epel* #替换repo配置中地址为阿里云地址

root@Server_8_200 yum.repos.d# yum clean all #清理缓存

root@Server_8_200 yum.repos.d# yum makecache #建立缓存

2、安装EPEL源(RHEL7)

root@Client_7_100 \~# wget -O /etc/yum.repos.d/epel.repo https://mirrors.aliyun.com/repo/epel-7.repo #安装epel

3、CentOS直接yum安EPEL源

root@wuzuniao \~# yum -y install epel-release #下载安装epel源

root@wuzuniao \~# dnf -y install epel-release #下载安装epel源

相关推荐
0+1111 小时前
Linux --IP分片和组装
linux·网络·tcp/ip
dk_tjy1 小时前
迪康加密系统技术解析:驱动层透明加密的机制、策略与工程权衡
运维·安全·网络安全·终端安全管理·数据防泄漏
Kira Skyler1 小时前
CVE-2026-99999 deferred-metadata trust inversion 原理分析.md
linux
Initialize-le2 小时前
服务器时间不准?NTP 时钟同步五步排查
运维·服务器
AR-26710-2 小时前
Linux Day24——TCP/IP分层与封装
linux·运维
该逃避避2 小时前
如何利用代理IP进行更好广告验证?
linux·服务器·网络
m0_617493942 小时前
昇腾 NPU Docker 部署实战:解决 stub library 报错并实现模型正常加载
运维·docker·容器
小羊没烦恼!2 小时前
.NET 11 Runtime Async 详解
java·运维·开发语言·javascript·python
水饺编程2 小时前
第2章:Linux 基础,重启命令
linux·c语言·汇编