HCRM博客

如何在CentOS系统中配置和使用本地YUM源?

CentOS 本地 YUM 源

背景介绍

如何在CentOS系统中配置和使用本地YUM源?-图1
(图片来源网络,侵权删除)

CentOS(Community Enterprise Operating System)是一个基于 Red Hat Enterprise Linux (RHEL) 的开源操作系统,YUM(Yellowdog Updater, Modified)是一个在 Fedora 和 RHEL 及其衍生发行版中使用的包管理器,能够从指定的服务器自动下载 RPM 包并安装,同时还能自动处理依赖性关系,本文将详细讲解如何在 CentOS 系统中配置和使用本地 YUM 源。

一、YUM 相关概念

YUM 的定义与作用

定义:YUM 是一个基于 RPM 软件包管理的 shell 前端程序,用于解决软件包的安装、更新、移除和查找等任务。

作用:简化了软件管理过程,可以自动解决软件包之间的依赖关系,无需用户手动下载和安装每个依赖包。

YUM 源的类型

网络 YUM 源:默认的官方源或第三方提供的公共源,如 CentOS 官方源、阿里云源等。

本地 YUM 源:用户自己创建和维护的源,通常位于内文件服务器或本地磁盘上。

如何在CentOS系统中配置和使用本地YUM源?-图2
(图片来源网络,侵权删除)

私有 YUM 源:企业内部使用的源,通常搭建在局域网内的服务器上,便于统一管理和快速访问。

二、为什么要使用本地 YUM 源

提高安装速度:在内网环境中,通过本地 YUM 源安装软件包的速度要比从互联网下载快得多。

减少外网依赖:对于无法连接外网的环境,本地 YUM 源是必需的选择。

节省带宽:在内网中重复利用已经下载的软件包,避免每次都从外网重新下载。

可控性高:管理员可以更好地控制和管理软件包的版本和安全性。

如何在CentOS系统中配置和使用本地YUM源?-图3
(图片来源网络,侵权删除)

三、如何搭建本地 YUM 源

准备工作

确保有一台 CentOS 系统的服务器,并且有足够的磁盘空间来存储软件包。

准备一个包含所需软件包的光盘镜像或 ISO 文件,CentOS7x86_64Everything1611.iso。

创建挂载点并挂载镜像

创建一个目录作为挂载点,并将 ISO 文件挂载到该目录下。

mkdir /mnt/yumiso
mount o loop /path/to/CentOS7x86_64Everything1611.iso /mnt/yumiso

将镜像中的所有文件复制到本地目录中。

mkdir /yum/yumiso
cp a /mnt/yumiso/ /yum/

3. 备份并删除原有的 YUM 源配置文件

为了防止出错,建议先备份原有的 YUM 源配置文件。

cd /etc/yum.repos.d/
tar zcvf repobk.tar.gz CentOS*
rm f CentOSBase.repo CentOSCR.repo CentOSDebuginfo.repo CentOSfasttrack.repo CentOSMedia.repo CentOSSources.repo CentOSVault.repo

配置本地 YUM 源

创建一个新的 YUM 源配置文件,local.repo,内容如下:

[c7media]
name=CentOS$releasever Media
baseurl=file:///yum/yumiso/
gpgcheck=0
enabled=1
gpgkey=file:///etc/pki/rpmgpg/RPMGPGKEYCentOS7

这个配置文件指定了 YUM 源的名称、基础 URL、GPG 签名检查以及是否启用该源。

清除 YUM 缓存并生成新的缓存

执行以下命令清除 YUM 的缓存,并强制生成新的缓存。

yum clean all
yum makecache

YUM 应该已经可以使用本地源进行软件包的安装和管理了。

测试本地 YUM 源

尝试安装一个软件包以测试本地 YUM 源是否正常工作。

yum install httpd y

如果安装成功,说明本地 YUM 源配置正确。

四、自定义 YUM 源

除了使用光盘镜像作为本地 YUM 源外,还可以根据实际需求自定义 YUM 源,以下是一些常见的场景:

1. 添加特定的 RPM 包到本地 YUM 源

有时可能需要将厂商提供的特定 RPM 包添加到本地 YUM 源中,可以按照以下步骤操作:

将 RPM 包复制到本地 YUM 源的Packages 目录下。

使用createrepo 命令重新生成元数据缓存。

createrepo /path/to/your/local/yum/repo/

基于 FTP 方式发布 YUM 源

如果需要在内网中的多台机器之间共享 YUM 源,可以通过 FTP 服务来实现,以下是配置步骤:

安装 vsftpd:

  yum install vsftpd y

修改 vsftpd 配置文件/etc/vsftpd/vsftpd.conf,设置匿名访问和根目录:

  anonymous_enable=YES
  anon_upload_enable=YES
  anon_root=/var/ftp/pub

启动并使 vsftpd 服务开机自启:

  systemctl start vsftpd
  systemctl enable vsftpd

将本地 YUM 源的文件复制到/var/ftp/pub 目录下,并确保其他客户端可以通过 FTP 访问这些文件。

3. HTTP/HTTPS 方式发布 YUM 源

另一种常见的方式是通过 HTTP 或 HTTPS 发布 YUM 源,这需要搭建一个 Web 服务器(如 Nginx 或 Apache),并将本地 YUM 源的文件放置在 Web 服务器的目录中,在 YUM 源配置文件中指定相应的 baseurl。

五、归纳

通过本文的介绍,相信读者已经掌握了在 CentOS 系统中配置和使用本地 YUM 源的方法,无论是为了提高安装速度、减少外网依赖,还是为了更好地控制软件包的管理,本地 YUM 源都是一个非常实用的解决方案,希望本文能帮助读者在实际工作中更加高效地管理和使用 CentOS 系统。

分享:
扫描分享到社交APP
上一篇
下一篇