工欲善其事必先利其器。部署本地镜像站点是内网环境使用openEuler操作系统的基础。1 获取镜像查阅文档了解操作步骤和磁盘空间需求https://www.openeuler.openatom.cn/zh/mirror/list/同时需要了解镜像仓库的目录结构https://mirrors.huaweicloud.com/openeuler/openEuler-24.03-LTS-SP3/其中【必选】ISO为系统安装镜像用于离线安装系统。【必选】OS为基础软件源提供系统运行必须的核心软件包。【必选】everything为全量软件源。【必选】EPOL为官方扩展源提供商业级、生态增强软件包。【必选】update为补丁包系统更新保、bug修复包和软件升级包等【建议】DevStation为桌面开发版含桌面环境和较为丰富的开发工具、驱动程序等。source为源码包用于编译安装各类软件。WSL为Wingdows软件包支持Windows环境下运行openEuler操作系统。debuginfo为调试软件包。docker容器、edge边缘计算、embedded嵌入式、raspi树莓派、stratovirt轻量化虚拟机、virtual_machine虚拟机分别对应不同应用场景下的系统镜像。1.1 获取互联网镜像准备1台中转机接入互联网以银河麒麟桌面操作系统V10为例。安装rsync并创建镜像存储目录。apt update apt install rsync mkdir -p /data/openEuler/openEuler-24.03-LTS-SP3 chmod -R 0777 /data/openEuler使用文档提供的命令同步镜像到本地磁盘。rsync -av --partial --progress --delete \ rsync://rootrepo.openeuler.openatom.cn/openeuler/openEuler-24.03-LTS-SP3/ \ /data/openEuler/openEuler-24.03-LTS-SP3/-a 归档模式保持文件权限、目录结构、软链接等使同步后的镜像源和官方完全一致-v 显示同步进度详情--partial 断点续传--progress 显示单个文件的同步进度--delete 删除本地多余文件使本地镜像源和官方完全一致1.2 部署rsync服务器如果是一锤子买卖可以直接将文件夹带属性拷贝到本地镜像站点。如果长期使用考虑更新问题建议将中转机部署为rsync服务器。虽然也可以使用rsync命令将镜像推送到内网服务器但实际操作中往往会遇到用户权限问题这里强烈建议部署rsync服务器。vi /etc/rsyncd.conf编辑以下内容uid rootgid rootuse chroot nomax connections 10timeout 600log file /var/log/rsyncd.logpid file /var/run/rsyncd.pidlock file /var/run/rsync.lockignore nonreadable yesdont compress *.gz *.bz2 *.zip *.rar *.7z[openEuler]path /data/openEulerread only nolist yesauth users adminsecrets file /etc/rsyncd.secrets创建用户文件vi /etc/rsyncd.secrets chmod 0600 /etc/rsyncd.secrets编辑用户名和密码admin:123456启动rsync服务无须设置开机自启每次更新时临时启动rsync服务即可systemctl stop rsync rsync --daemon systemctl start rsync systemctl status rsync如果报错可以重启计算机或者结束rsync进程后重试。pkill rsync rsync --daemon查看rsync运行状态ps -ef | grep rsync netstat -tlpn | grep 873如果运行正常则关闭系统防火墙将中转机接入内网环境。1.3 内网同步镜像挂载iso文件为本地软件源。mount -o loop /home/openEuler.iso /mnt cp /etc/yum.repo.d/openEuler.conf /etc/yum.repo.d/openEuler.conf~ vi /etc/yum.repo.d/openEuler.conf编辑以下内容[openEuler-iso]name openEulerbaseurl file:///mntgpgcheck0enabled1在本地镜像站点服务器安装rsync软件并获取镜像。dnf clean all dnf makecache dnf install rsync mkdir /data/openEuler chmod 0777 /data/openEuler rsync -av --partial --progress --delete rsync://adminIP/openeuler/ /data/openEuler/2 部署nginx服务本地镜像站点为静态网页优选nginx软件。2.1 安装nginx软件安装nginx软件dnf clean all sudo dnf makecache dnf install nginx配置文件位置/etc/nginx/nginx.conf网站目录位置/usr/share/nginx/html2.2 修改配置文件cp /etc/nginx/nginx.conf /etc/nginx/nginx.conf~ vi /etc/nginx/nginx.conf查找配置文件中server模块编辑以下内容server {listen 80;# 使用nobody用户时端口号必须大于1000server_name euler.dong.net;# 使用域名时需要dns服务器支持root /data/openEuler;include /etc/nginx/default.d/*.conf;location / {# 默认索引文件autoindex on;autoindex_exact_size on;autoindex_localtime on;#以上三项必须配置否则无法读取文件目录、大小和时间}error_page 404 /404.html;location /404.html {}error_page 500 502 503 504 /50x.html;location /50x.html {}}如果不配置DNS服务器可以使用“IP:端口号”的方式访问对应配置如下server {listen 50000server_name euler;root /data/openEuler;include /etc/nginx/default.d/*.conf;location / {# 默认索引文件autoindex on;autoindex_exact_size on;autoindex_localtime on;#以上三项必须配置否则无法读取文件目录、大小和时间}error_page 404 /404.html;location /404.html {}error_page 500 502 503 504 /50x.html;location /50x.html {}}2.3 修改SELinux配置自定义网站文件夹必须修改SELinux配置否则会拒绝访问。setsebool -P httpd_read_user_content 1 setsebool -P httpd_enable_homedirs 1 setsebool -P httpd_can_network_connect 1 chcon -R -t httpd_sys_content_t /data/openEuler2.4 重启nginx服务systemctl restart nginx systemctl enable nginx3 防火墙配置防火墙放行http服务重新加载防火墙策略并查看服务状态。firewall-cmd --permanent --add-servicehttp firewall-cmd --reload firewall-cme --list-all4 客户端配置4.1 配置文件位置仓库配置目录/etc/yum.repos.d配置文件以“.repo”结尾所有配置文件均生效。全局配置目录/etc/dnf/dnf.con缓存位置、全局参数等。缓存目录/var/cache/dnf下载的软件会临时保存到这里。4.2 编辑配置文件备份原有配置文件cp -a /etc/yum.repo.d/xxx.conf /etc/yum.repo.d/xxx.conf~ vi /etc/yum.repo.d/xxx.conf编辑以下内容[openEuler]nameopenEulerbaseurlhttp://euler.dong.net/openEuler-24.03-LTS-SP3metadata_expire0gpgcheck1gpgkeyhttp://euler.dong.net/openEuler-24.03-LTS-SP3/openEuler/RPM-GPG-KEY-openEulerenabled1metalink参数用于优选镜像源一般用于外网环境内网环境应删除此配置。metadata_expire0代表缓存数据永不过期内网环境一般设置为0避免不必要的网络请求。水平有限敬请批评指正。