内网YUM源搭建手册(Internal Network yum Source Construction Manual)

内网YUM源搭建手册

一、内网yum源服务器

  • 系统版本``[root@yumsvr ~]# cat /etc/redhat-release ``CentOS Linux release 7.9.2009 (Core)``需要准备一台可以连接外网的Centos7配置阿里yum源,安装阿里云yunm源,检查其可用性。``新建一个目录,将原来默认的repo备份``[root@yumsvr yum.repos.d]# mkdir /old``[root@yumsvr yum.repos.d]# mv *.repo old

二、安装下载外网阿里云YUM源

复制代码
`安装阿里云YUM文件``wget -o /etc/yum.repos.d/CentOSBase.repo https://mirrors.aliyun.com/repo/Centos-7.repo``安装epel源``yum install -y epel-release``清除原有的yum缓存,建立新的yum源的缓存,列出可用repo``yum clean all && yum makecache && yum repolist``安装Nginx服务``yum install -y nginx yum-utils crontabs createrepo  reposync  make cmake gcc gcc-c++ pcre-devel zlib-devel openssl openssl-devel``准备数据存储路径,内网源就是把云yum源同步到本地。过程较久,慢慢等##``本文是将云上的rpm包 下载到此目录,请注意考虑/目录大小``reposync -r base``reposync -r extras``reposync -r updates``reposync -r epel `

三、创建仓库索引​​​​​​​

复制代码
`创建本地软件源索引``createrepo -po /etc/yum.repos.d/base/ /etc/yum.repos.d/base/``createrepo -po /etc/yum.repos.d/extras/ /etc/yum.repos.d/extras/``createrepo -po /etc/yum.repos.d/updates/ /etc/yum.repos.d/updates/``createrepo -po /etc/yum.repos.d/epel/ /etc/yum.repos.d/epel/`
四、自动更新数据源
  • 目的:当公网yum源更新的时候,我们需要给本地的软件仓库中的软件包也一起更新``createrepo --update /etc/yum.repos.d/base/``createrepo --update /etc/yum.repos.d/extras/``createrepo --update /etc/yum.repos.d/updates/``createrepo --update /etc/yum.repos.d/epel/``此处需要写一个crontab 定时任务脚本,定期后台自动更新最新的rpm包``vi update.sh``#!/bin/bash``echo "###Update Packages###"``yum update -y``echo "###resync centos7 yum repo###"``reposync -r --repoid=extras --repoid=updates --repoid=base --repoid=epel -p /etc/yum.repos.d``echo "同步centos7yum源完成!"``echo "###开始更新元数据###"``createrepo --update /etc/yum.repos.d/base/``echo "更新base元数据完成···"``createrepo --update /etc/yum.repos.d/extras/``echo "更新extras元数据完成···"``createrepo --update /etc/yum.repos.d/updates/``echo "更新updates元数据完成···"``createrepo --update /etc/yum.repos.d/epel/``echo "更新epel元数据完成···"``echo "###update successful###"``crontab -e``* * * * * /usr/bin/sh /etc/yum.repos.d/update.sh >> /etc/yum.repos.d/updatelog.txt !!! 如果是内网需要将这个目录挪到内网机器上去 !!!
五、启动并配置web服务器
复制代码
`[root@yumsvr ~]# vi /etc/nginx/conf.d/yum.conf``新建Nginx配置文件,allow 和deny 自己看情况``server {``     listen 80;``#     server_name yumsvr;`
`     location /``     {``        root /etc/yum.repos.d;``        autoindex on;``        autoindex_exact_size off;``        autoindex_localtime on;``     }`
`     location /nginx_status``     {``        stub_status on;``        access_log off;``#        allow 172.21.0.0/16;``#        deny all;``     }``}``重启Nginx服务``systemctl resntart nginx``systemctl enable nginx`
六、编写yum本地源客户端的yum配置文件
复制代码
`cd /etc/yum.repos.d``vi CentOS-Internal.repo``# CentOS-Internal.repo``[base-internal]``name=CentOS-$releasever - Base - http://172.21.X.X``baseurl=http://172.21.X.X/base``gpgcheck=0``enable=1`
`#released updates``[updates-internal]``name=CentOS-$releasever - updates - http://172.21.X.X``baseurl=http://172.21.X.X/updates``gpgcheck=0``enable=1`
`#released extras``[extras-internal]``name=CentOS-$releasever - extras - http://172.21.X.X``baseurl=http://172.21.X.X/extras``gpgcheck=0``enable=1`
`[epel-internal]``name=CentOS-$releasever - epel - http://172.21.X.X``baseurl=http://172.21.X.X/epel``gpgcheck=0``enable=1`
七、验证

验证nginx 是否可以正常打开访问

复制代码
`web 访问``其他客户端使用此源命令:``cd /etc/yum.repos.d``yum clean all``wget http://172.21.X.X/CentOS-Internal.repoyum repolist `
相关推荐
Nerd Nirvana8 分钟前
15个提升开发效率的VS Code插件推荐
linux·vscode·开发工具·嵌入式软件开发·插件使用·智能采集设备·边缘终端
v***160213 分钟前
Linux安装Redis以及Redis三种启动方式
linux·redis·bootstrap
AI视觉网奇15 分钟前
vscode 远程失败
linux·服务器
这个人需要休息17 分钟前
xss的漏洞类型+dvwa DOM xss各难度的小总结
网络·安全
好奇的菜鸟18 分钟前
WSL 2 安装 Ubuntu 24.04 及系统迁移到非系统盘
linux·运维·ubuntu
赵渝强老师19 分钟前
【赵渝强老师】阿里云大数据集成开发平台DataWorks
大数据·阿里云·云计算
z***565620 分钟前
如何在 Ubuntu 22.04 上安装 MySQL
linux·mysql·ubuntu
好奇的菜鸟21 分钟前
在WSL Ubuntu 24中设置root密码并默认使用root登录
linux·运维·ubuntu
偶像你挑的噻21 分钟前
15-Linux驱动开发-PWM子系统
linux·驱动开发·stm32·嵌入式硬件
q***614122 分钟前
详解 为什么 tcp 会出现 粘包 拆包 问题
网络·tcp/ip·php