夜雨聆风学习资料网

ARTICLE · 988828

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

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

文 | 无足鸟 (转载请注明出处)

关注公众号:无足鸟ICT

微信号:wuzuniao_com

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

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源

— END —

相关学习资料