CentOS如何配置本地光盘yum源,步骤是什么?

在特定的网络环境或出于安全、速度等考虑,将CentOS系统的Yum软件源配置为使用本地光盘(或ISO镜像文件)是一种非常实用且高效的技术手段,这种方法可以彻底摆脱对外部网络的依赖,确保软件包安装的稳定性和一致性,本文将详细介绍在不同版本的CentOS中,如何一步步地配置光盘为本地的Yum源。

CentOS如何配置本地光盘yum源,步骤是什么?

准备工作

在开始配置之前,请确保您已经准备好以下几项内容:

  1. 一台已安装的CentOS系统:本文以CentOS 7和CentOS 8/9为例,它们在配置上略有不同。
  2. CentOS官方安装镜像(ISO文件)或物理光盘:该镜像应与您系统的主版本号一致。
  3. 管理员权限:执行后续命令需要root用户权限或使用sudo

挂载光盘或ISO镜像

配置的第一步是将光盘或ISO文件中的内容挂载到系统的一个目录下,以便Yum能够读取其中的软件包。

创建挂载点

我们会在/mnt目录下创建一个专门用于挂载的子目录,例如cdrom

mkdir /mnt/cdrom

挂载物理光盘

如果您的服务器有物理光驱并已放入CentOS安装光盘,可以使用以下命令进行挂载。/dev/cdrom是光驱的设备文件,它通常是一个指向实际设备(如/dev/sr0)的符号链接。

mount /dev/cdrom /mnt/cdrom

执行后,可以使用 df -h 命令查看是否挂载成功。

挂载ISO镜像文件

如果您没有物理光盘,而是下载了ISO镜像文件到服务器上(例如存放在/root/目录下),可以使用loop设备进行挂载。

mount -o loop /root/CentOS-8-x86_64-1905-dvd1.iso /mnt/cdrom

请将ISO文件路径替换为您自己的实际路径,同样,使用df -h命令验证挂载结果。

创建Yum仓库配置文件

Yum的仓库配置文件存放在/etc/yum.repos.d/目录下,为了使用本地光盘源,我们需要在该目录下创建一个新的.repo文件。

建议先备份或禁用系统默认的网络源,以避免Yum优先从网络下载,可以通过重命名默认的repo文件来实现:

cd /etc/yum.repos.d/
mkdir backup
mv CentOS-*.repo backup/

创建一个新的配置文件,例如命名为local-dvd.repo

CentOS如何配置本地光盘yum源,步骤是什么?

vim /etc/yum.repos.d/local-dvd.repo

编写配置文件内容

根据CentOS版本的不同,配置文件的内容有所差异。

针对CentOS 7的配置

CentOS 7的DVD镜像中,所有软件包都存放在一个目录下,配置相对简单,在local-dvd.repo文件中输入以下内容:

[local-dvd]
name=CentOS 7 Local DVD Repository
baseurl=file:///mnt/cdrom
enabled=1
gpgcheck=1
gpgkey=file:///mnt/cdrom/RPM-GPG-KEY-CentOS-7

参数解释:

  • [local-dvd]:仓库的唯一标识符,名称可以自定义。
  • name:仓库的描述性名称,便于人类阅读。
  • baseurl:指定仓库的地址。file://协议表示这是一个本地路径,指向我们挂载的目录。
  • enabled=1:启用此仓库,设置为0则禁用。
  • gpgcheck=1:启用GPG签名校验,确保软件包的完整性和安全性。
  • gpgkey:指定GPG公钥文件的路径,该文件通常在光盘根目录下。

针对CentOS 8/9的配置

从CentOS 8开始,系统引入了BaseOSAppStream两个核心仓库的概念,BaseOS提供底层核心工具集,AppStream则提供应用程序、运行时环境等,我们需要在配置文件中分别定义这两个仓库。

local-dvd.repo文件中输入以下内容:

[BaseOS]
name=CentOS 8 BaseOS Local DVD
baseurl=file:///mnt/cdrom/BaseOS
enabled=1
gpgcheck=1
gpgkey=file:///mnt/cdrom/RPM-GPG-KEY-centosofficial
[AppStream]
name=CentOS 8 AppStream Local DVD
baseurl=file:///mnt/cdrom/AppStream
enabled=1
gpgcheck=1
gpgkey=file:///mnt/cdrom/RPM-GPG-KEY-centosofficial

关键区别:

  • 两个仓库段:我们定义了[BaseOS][AppStream]两个独立的仓库。
  • baseurl分别指向挂载点下的BaseOSAppStream子目录。
  • GPG密钥:GPG密钥文件名可能与CentOS 7不同,通常为RPM-GPG-KEY-centosofficial,请根据光盘中的实际文件名进行修改。

验证与使用

配置完成后,需要清理Yum缓存并重新生成仓库元数据,以使配置生效。

yum clean all

列出所有可用的Yum仓库,检查我们新创建的本地源是否出现。

yum repolist

如果命令的输出中包含了local-dvd(或BaseOSAppStream)仓库,并且状态为enabled,说明配置成功。

您可以尝试安装一个软件包来测试:

CentOS如何配置本地光盘yum源,步骤是什么?

yum install -y vim

您会发现Yum正在从本地挂载的光盘中读取和安装软件,而无需访问互联网。

实现开机自动挂载

通过mount命令进行的挂载在系统重启后会失效,为了确保本地Yum源始终可用,需要将其设置为开机自动挂载,最推荐的方法是修改/etc/fstab文件。

使用vim编辑/etc/fstab文件,在末尾添加一行。

  • 对于物理光盘
    /dev/cdrom /mnt/cdrom iso9660 defaults 0 0
  • 对于ISO镜像文件
    /root/CentOS-8-x86_64-1905-dvd1.iso /mnt/cdrom iso9660 loop,ro 0 0

参数说明:

  • 第一列:设备文件或ISO镜像路径。
  • 第二列:挂载点目录。
  • 第三列:文件系统类型,光盘通常是iso9660
  • 第四列:挂载选项。defaults是默认选项,对于ISO,需要加上loopro(只读)。
  • 第五、六列:dumpfsck相关选项,通常设为0 0

保存文件后,可以执行mount -a命令来测试fstab配置是否有误,若无错误输出则表示成功,下次重启系统时,光盘或ISO将自动挂载到指定目录。


相关问答FAQs

问题1:我已经配置了本地光盘源,但Yum安装软件时仍然尝试从网络下载,这是为什么?

解答: 这个问题通常由两个原因导致,第一,您可能没有禁用系统默认的网络仓库文件,Yum会按顺序或优先级检查所有已启用的仓库,如果网络源的优先级更高或先被检查,它就会尝试从网络下载,请检查/etc/yum.repos.d/目录下是否存在其他启用的.repo文件,并将其中的enabled=1修改为enabled=0,或者直接将它们移动到其他目录(如backup),第二,您创建的本地仓库配置文件可能存在语法错误,例如baseurl路径不正确,导致Yum无法访问,从而跳过该仓库,请仔细检查配置文件,并使用yum repolist命令确认您的本地源是否已成功加载并显示为可用状态。

问题2:在CentOS 8/9中,我的ISO镜像里除了BaseOS和AppStream,还有PowerTools、Extras等目录,这些需要配置吗?

解答: 这取决于您的具体需求。BaseOSAppStream是CentOS 8/9的核心仓库,包含了运行系统所需的大部分软件包,对于绝大多数用户来说,配置这两个就足够了。PowerTools(在CentOS Stream中称为PowerToolsCRB)主要包含开发工具和额外的软件包,如果您需要进行软件开发或安装一些特定的编译工具,那么也建议配置它。Extras则提供了一些额外的软件包,如EPEL的引入等,如果需要,您可以参照BaseOSAppStream的格式,在同一个.repo文件中添加新的仓库段,例如[PowerTools],并设置正确的baseurl指向挂载点下的PowerTools目录即可。

【版权声明】:本站所有内容均来自网络,若无意侵犯到您的权利,请及时与我们联系将尽快删除相关内容!

(0)
热舞的头像热舞
上一篇 2025-10-24 03:57
下一篇 2024-11-24 19:40

相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

广告合作

QQ:14239236

在线咨询: QQ交谈

邮件:asy@cxas.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信