轻松构建内网专用的YUM软件仓库

问题概述

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

环境准备

1.可联网主机一台,配置为局域网仓库。

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

操作步骤

1.为虚拟机添加一块硬盘,用于存储在线仓库的软件包

轻松构建内网专用的YUM软件仓库

2.对新添加的磁盘做初始化操作

#创建分区
fdisk /dev/sda
#格式化磁盘
mkfs.ext4
轻松构建内网专用的YUM软件仓库

3.创建磁盘挂载目录,用于存储软件包

mkdir -p /mnt/rocky9/
#临时挂载
mount /dev/sda1 /mnt/rocky9/
轻松构建内网专用的YUM软件仓库

注:如需永久挂载则需修改如下配置文件,配置为开机自动挂载

vim /etc/fstab
轻松构建内网专用的YUM软件仓库

4.安装yum扩展包和epel-release源

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

dnf install yum-utils epel-release -y
轻松构建内网专用的YUM软件仓库

5.同步在线仓库至本地,我这里使用阿里云源

#获取当前软件包列表总数
dnf list|wc -l
#开始同步在线仓库,-p 指定下载目录,默认为当前目录
reposync -p /mnt/rocky9/

可以看到当前仓库的软件包总数为:30110

轻松构建内网专用的YUM软件仓库

开始同步在线仓库,这里已经提前下载过一部分了,所以会自动跳过已下载的软件包

轻松构建内网专用的YUM软件仓库

6.下载完成检查目录大小,以及仓库源

du -sh /mnt/rocky9
轻松构建内网专用的YUM软件仓库

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

dnf install createrepo
轻松构建内网专用的YUM软件仓库

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

createrepo /mnt/rocky9/appstream/Packages/ -o /mnt/rocky9/appstream/Packages/
createrepo /mnt/rocky9/baseos/Packages/ -o /mnt/rocky9/baseos/Packages/
createrepo /mnt/rocky9/epel-cisco-openh264/Packages/ -o /mnt/rocky9/epel-cisco-openh264/Packages/
createrepo /mnt/rocky9/extras/Packages/ -o /mnt/rocky9/extras/Packages/
createrepo /mnt/rocky9/epel/Packages/ -o /mnt/rocky9/epel/Packages/

注:如未执行该步骤,在内网主机添加本地源后会出现以下错误

轻松构建内网专用的YUM软件仓库

部署web服务

1.为了使局域网设备能够访问该仓库,配置web服务为局域网其他主机提供本地仓库服务。

dnf install httpd -y
轻松构建内网专用的YUM软件仓库

2.将网页根目录指向刚才下载的软件包目录

vim /etc/httpd/conf/httpd.conf

<Directory "/mnt/rocky9/">
    Options Indexes FollowSymLinks
    AllowOverride None
    Require all granted
</Directory>
轻松构建内网专用的YUM软件仓库

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

systemctl restart httpd 
systemctl enable httpd
轻松构建内网专用的YUM软件仓库

配置测试

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

1.备份内网主机源文件

[root@test1 yum.repos.d]# mkdir bak
[root@test1 yum.repos.d]# mv *.repo bak/
轻松构建内网专用的YUM软件仓库

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

baseos]
name=Rocky Linux-BaseOS
baseurl=http://192.168.3.5/baseos/Packages
enabled=1

[appstream]
name=Rocky Linux   - AppStream
baseurl=http://192.168.3.5/appstream/Packages
enabled=1

[extras]
name=Rocky Linux-AppStream
baseurl=http://192.168.3.5/extras/Packages
enabled=1

[epel]
name=Rocky Linux-AppStream
baseurl=http://192.168.3.5/epel/Packages
enabled=1

[epel-cisco-openh264]
name=Rocky Linux-AppStream
baseurl=http://192.168.3.5/epel-cisco-openh264/Packages
enabled=1

2.重建缓存

dnf clean all
dnf makecache
轻松构建内网专用的YUM软件仓库

3.查看可用软件包

dnf list
轻松构建内网专用的YUM软件仓库

4.安装软件包测试

dnf install vsftpd -y
轻松构建内网专用的YUM软件仓库

PS:如果服务端启用了防火墙,还需放行80端口,否则内网其他主机无法通过http访问仓库

firewall-cmd --add-port=80/tcp --permanent 
firewall-cmd -reload
轻松构建内网专用的YUM软件仓库

▽往期推荐△











原文始发于微信公众号(青菜浪人):

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/308265.html

(0)
小半的头像小半

相关推荐

发表回复

登录后才能评论
极客之音——专业性很强的中文编程技术网站,欢迎收藏到浏览器,订阅我们!