centos 本地yum,局域网yum搭建

本文档详细介绍了如何在CentOS系统中设置本地YUM源,以便在局域网内高效地进行软件包管理和更新。首先,你需要在服务器上下载所需的RPM包并创建一个YUM仓库。接着,配置YUM配置文件,指定仓库路径。最后,确保防火墙允许相应的HTTP或FTP服务,以便局域网内的其他系统可以访问这个YUM源。
摘要由CSDN通过智能技术生成
#!/usr/bin/env bash
#time :20200310
# by liwentong
#本脚本主要是方便搭建本地yum源或者局域网源,包含zabbix,docker,mysql,使用
# 注意点,iso镜像的版本是>=安装的版本的,最好选本代版本的最高版本,比如目前7最高版本7.6,就选7.6版本
# 本脚本针对的是新部署的内网服务器,执行的时候请使用root用户执行
#iso 镜像所在地址
IsoPath='./soft/CentOS-7-x86_64-DVD-1908.iso'
#本服务器ip地址,主要用与搭建本地局域网yum源
localIP='192.168.1.1'
#默认安装位置
localpath='/opt/yum'
#nginx包位置,主要是用于搭建局域网yum
NginxPath='./soft/nginx-1.16.1.tar.gz'
#RPG
nginx_port='9999'
#选择搭建的位置
function local_install(){
    #开始创建所需目录
    mkdir  -p $localpath/iso
    mkdir -p /mnt/iso
    #挂载iso
    mount -o loop $IsoPath  /mnt/iso
    if [ $? -eq 0 ]; then
        cp -ar /mnt/iso/*  $localpath/iso/
        #删除系统自带的源配置
        rm -f  /etc/yum.repos.d/*.repo
        cat > /etc/yum.repos.d/local.repo <<LWT
[local-yum]
name=local-yum
baseurl=file://$localpath/iso
enabled=1
gpgcheck=1
gpgkey=file://$localpath/iso/RPM-GPG-KEY-redhat-release
LWT
         #重建缓存
	 yum clean all
         yum makecache
	
         #更新系统
         yum -y update
     else
        echo "检查是否iso镜像路径填错?"
    fi

}
function local_network_install(){
#本地局域网yum源比较需要加入zabbix,mysql,docker
#需要提前安装pcre-devel 因不知道版本,所以不带,建议先执行本地安装,然后执行局域网安装
    yum -y install gcc gcc-c++ autoconf automake make createrepo
    yum -y install zlib zlib-devel openssl openssl-devel pcre pcre-devel
#nginx 编译地址
    nginx_installPath='/usr/local/nginx'
    mkdir ./tmp
    mkdir $localpath/mysql
    mkdir $localpath/docker
    mkdir $localpath/zabbix
    cp ./soft/mysql/* $localpath/mysql
    cp ./soft/docker/* $localpath/docker
    cp ./soft/zabbix/* $localpath/zabbix
    #三方源建索引
    #cd $localpath/mysql/ && createrepo ./
    #cd $localpath/docker/ && createrepo ./
    #cd $localpath/zabbix/ && createrepo ./
    tar -xvf $NginxPath -C ./tmp
    #只需要文件服务功能,所以编译的时候不加其他模块
    cd ./tmp/nginx-1.16.1 && ./configure --prefix=${nginx_installPath} && make -j 2 && make install
    #判断执行成功了么有
    if [ $? -eq 0 ];then
        mv $nginx_installPath/conf/nginx.conf $nginx_installPath/conf/nginx.conf.bak
        cat > $nginx_installPath/conf/nginx.conf <<LWT
worker_processes  5;
events {
    worker_connections  1024;
}
http {
    include       mime.types;
    default_type  application/octet-stream;
    sendfile        on;
    autoindex on;
    autoindex_exact_size off;
    autoindex_localtime on;
    keepalive_timeout  65;

    server {
        listen       $nginx_port;
        server_name  $localIP;
        location / {
            root   $localpath;
            #index  index.html index.htm;
        }
        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }

    }
}
LWT
    fi
     #开放端口,
     firewall-cmd --zone=public --add-port=${nginx_port}/tcp --permanent
     firewall-cmd --reload
     #重建源文件
     rm -f  /etc/yum.repos.d/local.repo
     cat > /etc/yum.repos.d/local.repo << LWT
[local-yum]
name=local-yum
baseurl=http://$localIP:$nginx_port/iso
enabled=1
gpgcheck=1
[local-zabbix]
name=zabbix-yum
baseurl=http://$localIP:$nginx_port/zabbix
enabled=1
gpgcheck=0
[local-mysql]
name=local-mysql
baseurl=http://$localIP:$nginx_port/mysql
enabled=1
gpgcheck=0
[local-docker]
name=local-docker
baseurl=http://$localIP:$nginx_port/docker
enabled=1
gpgcheck=0
LWT
    cd $localpath/mysql/ && createrepo ./
    cd $localpath/docker/ && createrepo ./
    cd $localpath/zabbix/ && createrepo ./
    yum clean all
    yum makecache

   #启动nginx
    /usr/local/nginx/sbin/nginx
}
local_install
local_network_install
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值