内网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 `
相关推荐
乌萨奇也要立志学C++36 分钟前
【Linux】进程概念(六):进程地址空间深度解析:虚拟地址与内存管理的奥秘
linux·运维
月殇_木言5 小时前
Linux 线程
linux
wangjialelele5 小时前
Linux中的线程
java·linux·jvm·c++
2301_800050997 小时前
DNS 服务器
linux·运维·笔记
Lin_Aries_04217 小时前
容器化简单的 Java 应用程序
java·linux·运维·开发语言·docker·容器·rpc
SELSL7 小时前
SQLite3的API调用实战例子
linux·数据库·c++·sqlite3·sqlite实战
小牛马爱写博客7 小时前
DNS 服务器与 DHCP 服务器详解及配置指南
linux·运维·服务器·dns·dhcp
维尔切7 小时前
HAProxy 负载均衡器
linux·运维·数据库·负载均衡
什么半岛铁盒7 小时前
C++项目:仿muduo库高并发服务器-------Channel模块实现
linux·服务器·数据库·c++·mysql·ubuntu
小白银子8 小时前
零基础从头教学Linux(Day 42)
linux·运维·服务器·网络·nginx