zl程序教程

您现在的位置是:首页 >  其他

当前栏目

RHEL/CentOS yum 源问题

2023-04-18 15:21:26 时间

yum 源问题

1 RHEL本地iso设置为源

我写了个脚本,

[root@localhost ~]# cat set_redhat_isorepo.sh
#!/bin/bash
cdrom="/dev/sr0"      # 本地镜像源 设备文件
cddir="/media/cdrom"  # 准备挂载的目录
repo="/etc/yum.repos.d/redhat.repo"  # redhat repo 配置文件
# set fstab
mkdir -p ${cddir}
echo -e "${cdrom}	${cddir}	iso9660	defaults	0	0" >> /etc/fstab
mount -a
# set repo
echo -e "
[BaseOS]
name=BaseOS
baseurl=file://${cddir}/BaseOS
gpgcheck=0
enabled=1

[AppStream]
name=AppStream
baseurl=file://${cddir}/AppStream
gpgcheck=0
enabled=1" >> ${repo}

https://www.programminghunter.com/article/39032455888/

  1. 创建挂载点
[root@PC1 home]# mkdir -p /media/cdrom
  1. 进入/etc/yum.repos.d/目录,列出yum仓库配置文件:
[root@PC1 home]# cd /etc/yum.repos.d/
[root@PC1 yum.repos.d]# ls
redhat.repo
  1. 使用vim编辑器编辑redhat.repo文件,保存退出:
[root@PC1 yum.repos.d]# vim redhat.repo
[BaseOS]
name=BaseOS
baseurl=file:///media/cdrom/BaseOS
gpgcheck=0
enabled=1

[AppStream]
name=AppStream
baseurl=file:///media/cdrom/AppStream
gpgcheck=0
enabled=1
  1. 设置开启自动挂载
[root@PC1 yum.repos.d]# vim /etc/fstab       ## 最后一行增加如下内容,保存退出
/dev/cdrom      /media/cdrom    iso9660 defaults        0       0
[root@PC1 yum.repos.d]# mount -a

2 RHEL/CentOS 设置epel

在RHEL/CentOS系统下yum安装软件时报错,这是由于RHEL/CentOS系统yum源中没有对应的安装包,这时我们只需要安装Epel即可解决。
EPEL (Extra Packages for Enterprise Linux,企业版Linux的额外软件包) 是Fedora小组维护的一个软件仓库项目,为RHEL/CentOS提供他们默认不提供的软件包。这个源兼容RHEL及像CentOS和Scientific Linux这样的衍生版本。
我们可以很容易地通过yum命令从EPEL源上获取上万个在CentOS自带源上没有的软件。EPEL提供的软件包大多基于其对应的Fedora软件包,不会与企业版Linux发行版本的软件发生冲突或替换其文件。
更多关于EPEL 项目的细节可以到以下网站获取:https://fedoraproject.org/wiki/EPEL

  • 提示 - RHEL/CentOS系统有许多第三方源,比较流行的比如RpmForge,RpmFusion,EPEL,Remi等等。
  • 然而需要引起注意的是,如果系统添加了多个第三方源,可能会因此产生冲突——一个软件包可以从多个源获取,一些源会替换系统的基础软件包,从而可能会产生意想不到的错误。已知的就有Rpmforge与EPEL会产生冲突。
  • 对于这些问题我们建议,调整源的优先权或者有选择性的安装源,但是这需要复杂的操作,如果你不确定如何操作,我们推荐你只安装一个第三方源。

在文本中,我将展示在CentOS下如何安装EPEL源
要想安装EPEL,我们先要下载EPEL的rpm安装包。

http://download.fedoraproject.org/pub/epel

根据你的RHEL/CentOS版本来选择正确的下载地址。
请注意EPEL 的安装包是独立编译的,所以它可以安装在32位和64位系统中。

  1. 确认你的RHEL/CentOS的版本
    可以通过以下命令确认你的CentOS 版本
$ cat /etc/redhat-release 
Red Hat Enterprise Linux release 9.1 (Plow)
  1. 下载EPEL 的rpm 安装包
    现在从上面的地址下载RHEL/CentOS版本所对应的EPEL 的版本
$ wget https://mirrors.sonic.net/epel/epel-release-latest-9.noarch.rpm
  1. 安装EPEL
    通过以下命令安装EPEL 软件包
$ sudo rpm -ivh epel-release-6-8.noarch.rpm
或
$ sudo rpm -ivh epel-release*
  1. 检查EPEL 源
    安装好EPEL 源后,用yum 命令来检查是否添加到源列表
# yum repolist
正在更新 Subscription Management 软件仓库。
无法读取客户身份

本系统尚未在权利服务器中注册。可使用 subscription-manager 进行注册。

仓库 id                  仓库名称
AppStream                AppStream
BaseOS                   BaseOS
docker-ce-stable         Docker CE Stable - x86_64
epel                     Extra Packages for Enterprise Linux 9 - x86_64

EPEL已经在repo 后列出,并且显示提供了上万个软件包,所以EPEL 已经安装到你的RHEL/CentOS了。
EPEL源的配置安装到了 /etc/yum.repos.d/epel.repo 文件。