美文网首页
【rpm】CentOS7.x上下载epel源中rpm包,搭建离线

【rpm】CentOS7.x上下载epel源中rpm包,搭建离线

作者: Bogon | 来源:发表于2020-10-24 18:06 被阅读0次

    一、实验背景

    项目安装部署过程中,有很多包需要在线下载,但又是网络是隔离的,无法连接外网。

    此时,我们需要将epel源中的所有rpm包一次性全部下载,拷贝到内网机器,搭建一个本地yum源或者局域网yum源,用于离线安装。

    二、将CentOS7.x的epel源中rpm包一次性下载

    在一台联网的CentOS7.x 机器上,最好是云主机,网速带宽足够

    #  yum  -y install yum-utils epel-release  createrepo

    # yum list all --disablerepo="*" --enablerepo="epel"

    #   yum list all --disablerepo="*" --enablerepo="epel" | awk '{print $1}'

    # yum list all --disablerepo="*" --enablerepo="epel" | grep -Ev "Loaded|Loading|Installed" | awk '{print $1}'

    http://mirrors.tencentyun.com/epel/

    写一个小脚本,将epel源中的所有rpm包一次性下载

    # cat dowmload_epel_rpm.sh

    ########################################

    #!/bin/bash

    rpms=`yum list all --disablerepo="*" --enablerepo="epel" | grep -Ev "Loaded|Loading|Installed" | awk '{print $1}'`

    mkdir  -p  yum

    for rpm  in ${rpms}

    do

      repotrack  ${rpm}  -p  yum

    done

    ######################################

    一万多个包,下起来要点时间,找台机器,跑一晚上得了!

    生成rpm仓库清单文件

    # creatrepo  -v  yum  

    #  tar -zcf  yum.tar.gz  yum  

    三、将离线rpm压缩包下载拷贝到离线环境,用于搭建本地yum源或者局域网yum源


    搭建本地yum

    #  cat  isntall_localrepo.sh 

    ###############################################

    #!/bin/bash

    parent_path="$( cd "$(dirname "$0")"; pwd -P )"

    cd "$parent_path"

    rm -rf /tmp/yum

    tar -zxf yum.tar.gz -C /tmp

    echo "

    [YUM]

    name=yum

    baseurl=file:///tmp/yum

    enable=1

    gpgcheck=0 " > /etc/yum.repos.d/yum.repo

    yum clean all

    ###############################################

    如果需要安装组件X

    #   yum -y install  X  --disablerepo="*" --enablerepo="YUM"

    使用完毕后,如果不需要本地仓库 

    #  rm -rf  /etc/yum.repos.d/yum.repo

    #  rm -rf  /tmp/yum

    搭建局域网yum,供整个局域网离线机器使用

    在局域网中找一台机器

    #  cat  intall_httprepo.sh

    ########################################################

    #!/bin/bash

    parent_path="$( cd "$(dirname "$0")"; pwd -P )"

    cd "$parent_path"

    rm -rf /tmp/yum

    tar -zxf yum.tar.gz -C /tmp

    cd  /tmp/

    nohup  python -m SimpleHTTPServer 8000  > /tmp/SimpleHTTPServer.log 2>&1   &

    echo "

    [YUM]

    name=yum

    baseurl=http://xx.xx.xx.xx:8000/yum

    enable=1

    gpgcheck=0 " > /etc/yum.repos.d/yum.repo

    yum clean all

    ########################################################

    在局域网其他机器

    #  echo "

    [YUM]

    name=yum

    baseurl=http://xx.xx.xx.xx:8000/yum

    enable=1

    gpgcheck=0 " > /etc/yum.repos.d/yum.repo

    #  yum clean all

    注: 其他机器和搭建局域网yum源的机器8000端口要通

     

    如果需要安装组件X

    #   yum -y install  X  --disablerepo="*" --enablerepo="YUM"

    使用完毕后,如果不需要本地仓库 

    #  rm -rf  /etc/yum.repos.d/yum.repo

    #  rm -rf  /tmp/yum

    四、参考

    CentOS7.x上ansible的离线安装包制作

    https://www.jianshu.com/p/93231de9f2f8

    CentOS7.x上主包及其依赖的下载

    https://www.jianshu.com/p/339cfc4bf71e

    Linux/上使用 python -m SimpleHTTPServer 快速搭建http服务

    https://www.jianshu.com/p/24c53e955743

    相关文章

      网友评论

          本文标题:【rpm】CentOS7.x上下载epel源中rpm包,搭建离线

          本文链接:https://www.haomeiwen.com/subject/xfcwmktx.html