Centos配置本地以及网络yum源

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仓库的意思 修改好后如图所示

image

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 服务器。

  1. 安装 httpd

    bash
    yum install -y httpd
  2. 配置根目录(可选)
    默认的 httpd 根目录是 /var/www/html。你可以:

    • 选项1(简单):将你的仓库目录链接到或移动到 Web 根目录下。

      bash
      ln -s /opt/centos7-yum /var/www/html/centos7
      # 或者
      mv /opt/centos7-yum /var/www/html/
    • 选项2(更好):配置虚拟主机或修改 DocumentRoot。但对于初学者,选项1最简单。

  3. 启动并设置开机自启 httpd

    bash
    systemctl start httpd
    systemctl enable httpd
  4. 配置防火墙

    bash
    firewall-cmd --permanent --add-service=http
    firewall-cmd --reload

 

步骤四:在客户端机器上配置 Yum 源

 

现在,其他 CentOS 7 机器就可以使用这个本地源了。

  1. 备份原有的源(好习惯):

    bash
    cd /etc/yum.repos.d/
    mkdir backup
    mv *.repo backup/
  2. 创建新的本地源配置文件

    bash
    vi /etc/yum.repos.d/local-centos7.repo
  3. 添加以下内容

    ini
    [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
    • <你的服务器IP>:替换为你的 Yum 源服务器的实际 IP 地址或主机名。

  4. 导入 GPG 密钥(如果 gpgcheck=1):
    如果客户端机器上没有 CentOS 7 的 GPG 密钥,你需要从本地源服务器上获取并导入:

    bash
    # 从 Web 服务器下载并导入
    rpm --import http://<你的服务器IP>/centos7/RPM-GPG-KEY-CentOS-7
    
    # 或者,如果你在创建仓库的服务器本机上测试,可以直接从文件导入
    rpm --import /opt/centos7-yum/RPM-GPG-KEY-CentOS-7

步骤五:测试本地 Yum 源

在客户端机器上执行以下命令进行测试:

bash
# 清理旧的 Yum 缓存
yum clean all

# 重新生成缓存
yum makecache

# 列出可用的仓库,应该能看到 local-centos7
yum repolist

# 尝试安装一个软件测试
yum install -y telnet

如果一切顺利,yum repolist 会显示你的 local-centos7 仓库,并且包的数量应该和你的镜像内容一致。

posted @ 2025-09-07 20:47  小明123_123  阅读(967)  评论(0)    收藏  举报