Centos配置yum源教学
一、Yum源的分类
(1)本地yum源
所谓的本地yum源是指yum仓库在本地,一般就是我们本地的镜像文件
(2)网络yum源
所谓的网络yum源 就是指yum仓库在远程 (不在本地的意思),我们需要联网才能使用
二、Yum源的配置(本地YUM配置)
好 现在我们开始Yum源的配置 我这里就讲解一下本地yum源的配置了
重点!!!
看到这个地方没有 我们一定要连接这个光盘*像这样
首先我们要创建一个挂载镜像文件的目录 我们这里默认创建名为/media/cdrom的目录
## 创建挂载点目录
mkdir /media/cdrom
## 将镜像挂载到这个目录下面
mount /dev/cdrom /media/cdrom
## 进入yum仓库指定目录
cd /etc/yum.repos.d
我们将enabled=0 修改为1 即启动本地yum仓库的意思 修改好后如图所示

yum repolist
(2)yum还有很多相关命令
1. 卸载软件包
yum remove 或者 erase package
2. 更新仓库里所有比本机已经安装过的软件要的软件
yum update
3. 指定升级的软件
yum update package
三、网络yum源配置
步骤一:挂载 ISO 镜像文件
方法 A: 直接挂载 ISO(临时使用)
# 创建挂载点
mkdir -p /mnt/centos7-iso
# 挂载 ISO 文件
mount -o loop /path/to/your/CentOS-7-x86_64-Everything-2009.iso /mnt/centos7-iso
方法 B: 复制 ISO 内容到本地目录(推荐)
# 1. 创建一个目录作为你的本地 Yum 源根目录
mkdir -p /opt/centos7-yum
# 2. 挂载 ISO 文件(临时用于复制)
mkdir -p /mnt/temp-iso
mount -o loop /path/to/your/CentOS-7-x86_64-Everything-2009.iso /mnt/temp-iso
# 3. 复制 ISO 内的全部文件到本地目录
cp -r /mnt/temp-iso/* /opt/centos7-yum/
# 4. 复制隐藏文件 .treeinfo(很重要,它包含仓库信息)
cp /mnt/temp-iso/.treeinfo /opt/centos7-yum/
# 5. 卸载临时挂载
umount /mnt/temp-iso
rmdir /mnt/temp-iso
步骤二:生成仓库元数据
即使复制了 ISO 的内容,为了确保 Yum 能正确识别所有软件包,最好重新生成一下元数据。
# 进入 Packages 目录
cd /opt/centos7-yum/Packages
# 使用 createrepo 命令生成元数据
# -v 表示显示详细过程
# . 表示当前目录
createrepo -v .
这个过程需要几分钟,它会扫描所有 .rpm 包并创建 repodata 目录,里面包含 repomd.xml 等文件,Yum 客户端通过这些文件来查询和安装软件包。
步骤三:安装并配置 Web 服务器
为了让网络中的其他机器能够访问这个源,你需要一个 Web 服务器。
-
安装 httpd:
-
配置根目录(可选):
默认的 httpd 根目录是 /var/www/html。你可以:
-
启动并设置开机自启 httpd:
systemctl start httpd
systemctl enable httpd
-
配置防火墙:
firewall-cmd --permanent --add-service=http
firewall-cmd --reload
步骤四:在客户端机器上配置 Yum 源
现在,其他 CentOS 7 机器就可以使用这个本地源了。
-
备份原有的源(好习惯):
cd /etc/yum.repos.d/
mkdir backup
mv *.repo backup/
-
创建新的本地源配置文件:
vi /etc/yum.repos.d/local-centos7.repo
-
添加以下内容:
[local-centos7]
name=Local CentOS 7 Repository
baseurl=http://<你的服务器IP>/centos7
# 如果你的仓库直接放在 /var/www/html 下,baseurl 就是这样
# 如果你创建了链接 centos7,baseurl 就是这样
enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7
# 注意:gpgkey 也可以使用 URL 形式:http://<你的服务器IP>/centos7/RPM-GPG-KEY-CentOS-7
-
导入 GPG 密钥(如果 gpgcheck=1):
如果客户端机器上没有 CentOS 7 的 GPG 密钥,你需要从本地源服务器上获取并导入:
# 从 Web 服务器下载并导入
rpm --import http://<你的服务器IP>/centos7/RPM-GPG-KEY-CentOS-7
# 或者,如果你在创建仓库的服务器本机上测试,可以直接从文件导入
rpm --import /opt/centos7-yum/RPM-GPG-KEY-CentOS-7
步骤五:测试本地 Yum 源
在客户端机器上执行以下命令进行测试:
# 清理旧的 Yum 缓存
yum clean all
# 重新生成缓存
yum makecache
# 列出可用的仓库,应该能看到 local-centos7
yum repolist
# 尝试安装一个软件测试
yum install -y telnet
如果一切顺利,yum repolist 会显示你的 local-centos7 仓库,并且包的数量应该和你的镜像内容一致。