一、描述

为了提升内网环境下软件安装与依赖管理的效率,配置局域网仓库,通过定时同步在线仓库来保证软件源始终为最新。同时出于安全考虑,在虚拟机中部署该仓库,这样可以在内网主机需要更新或安装软件包时,才将其安全地接入内网环境进行使用。

二、环境准备

1.可联网主机一台,配置为局域网仓库,操作系统版本:CentOS Linux release 7.9.2009 (Core)

2.存储空间根据实际需要减小或增加,建议不小于60G

三、部署步骤

1、因为我是测试环境,没有单独分配一块数据盘,正式环境建议单独增加一块数据盘做为仓库的存储位置

2、关闭禁用防火墙

systemctl stop firewalld
systemctl disable firewalld

3、默认centos安装完后,使用的源是mirrorlist.centos.org,已无法访问,建议参照以下链接更换源

https://yan-jian.com/centos%E6%9B%B4%E6%8D%A2%E9%98%BF%E9%87%8C%E4%BA%91%E6%BA%90.html

4、安装dnf命令

yum install dnf -y

5、安装yum扩展包和epel-release源

yum-utils 是一个提供额外管理和配置 YUM(Yellowdog Updater, Modified)软件包管理器的工具的集合。YUM 是基于 RPM 的 Linux 发行版(如 CentOS、Fedora、RHEL 等)中的一个关键组件,用于自动更新、安装、删除和管理 RPM 软件包及其依赖关系。

dnf install yum-utils epel-release -y

6、部署web服务

#安装http服务
dnf install httpd -y

7、同步在线仓库至本地

#获取软件包列表总数
[root@localhost yum.repos.d]# yum list | wc -l
24092

#创建本地仓库目录:
mkdir -p /var/www/html/repo

#开始同步在线仓库,-p 指定下载目录,默认为当前目录
reposync -p /var/www/html/repo

6、下载完成可以检查目录大小和本地仓库源目录

#检查下载库的目录大小
du -sh /var/www/html/repo

#遍历本地仓库源目录
ls -lh /var/www/html/repo

7、安装createrepo工具,用于创建本地元数据和仓库索引

dnf install createrepo -y

8、为下载好的软件包生成元数据和索引,使其可以被外部访问

createrepo /var/www/html/repo/appstream/Packages/ -o /var/www/html/repo/appstream/Packages/
createrepo /var/www/html/repo/baseos/Packages/ -o /var/www/html/repo/baseos/Packages/
createrepo /var/www/html/repo/epel-cisco-openh264/Packages/ -o /var/www/html/repo/epel-cisco-openh264/Packages/
createrepo /var/www/html/repo/extras/Packages/ -o /var/www/html/repo/extras/Packages/
createrepo /var/www/html/repo/epel/Packages/ -o /var/www/html/repo/epel/Packages/
createrepo /var/www/html/repo/base/Packages/ -o /var/www/html/repo/base/Packages/

9、重启服务,在浏览器访问可以看到以下仓库名

四、客户端测试

内网服务器上配置源地址为上述虚拟机,安装软件包测试。

1、备份源文件

mkdir backup
mv /etc/yum.repos.d/* /root/backup/

2、新建repo文件,配置内网源地址

vim CentOS-Base.repo

[base]
name=CentOS-$releasever - Base
baseurl=http://192.168.213.141/repo/base/Packages
enabled=1
gpgcheck=1
gpgkey=http://192.168.213.141/repo/key/RPM-GPG-KEY-CentOS-7

[baseos]
name=Linux-BaseOS
baseurl=http://192.168.213.141/repo/baseos/Packages
enabled=1
gpgcheck=1
gpgkey=http://192.168.213.141/repo/key/RPM-GPG-KEY-CentOS-7

[appstream]
name=Linux-AppStream
baseurl=http://192.168.213.141/repo/appstream/Packages
enabled=1
gpgcheck=1
gpgkey=http://192.168.213.141/repo/key/RPM-GPG-KEY-CentOS-7

[extras]
name=Linux-extras
baseurl=http://192.168.213.141/repo/extras/Packages
enabled=1
gpgcheck=1
gpgkey=http://192.168.213.141/repo/key/RPM-GPG-KEY-CentOS-7

[epel]
name=Linux-epel
baseurl=http://192.168.213.141/repo/epel/Packages
enabled=1
gpgcheck=1
gpgkey=http://192.168.213.141/repo/key/RPM-GPG-KEY-CentOS-7

[epel-cisco-openh264]
name=Linux-epel-cisco
baseurl=http://192.168.213.141/repo/epel-cisco-openh264/Packages
enabled=1
gpgcheck=1
gpgkey=http://192.168.213.141/repo/key/RPM-GPG-KEY-CentOS-7

[updates]
name=CentOS-$releasever-Updates
baseurl=http://192.168.213.141/repo/updates/Packages
enabled=1
gpgcheck=1
gpgkey=http://192.168.213.141/repo/key/RPM-GPG-KEY-CentOS-7

备注:RPM-GPG-KEY-CentOS-7文件可以从阿里云http://mirrors.aliyun.com/centos/RPM-GPG-KEY-CentOS-7 下载后上传至服务器。

3、重建缓存

yum clean all && yum makecache

4、查看可用软件包

yum list

5、安装软件包测试

yum install net-tools -y

Copyright © https://yan-jian.com 2023 all right reserved更新时间: 2024-12-04 10:20:42

results matching ""

    No results matching ""