美文网首页编程开发收藏
使用apt-mirror搭建内网Ubuntu APT源同步阿里A

使用apt-mirror搭建内网Ubuntu APT源同步阿里A

作者: A二十一画 | 来源:发表于2023-03-22 14:20 被阅读0次

    背景:
    因从内网环境无法从外网获取安装包,所以需要搭建内网Apt源同步阿里云Apt源

    环境:
    内网Apt源服务器:192.168.33.150
    Ubuntu版本:22.04
    apt-mirror版本:0.5.4-1
    nginx版本:1.20.1

    apt-mirror不仅可以处理Ubuntu的软件源,几乎debian系的都可以使用apt-mirror来同步。

    内网Apt源服务器配置

    安装apt-mirror同步工具

    首先要确认内网Apt源服务器(192.168.33.150)是否可正常与其配置的源地址相通

    # 安装apt-mirror同步工具
    sudo apt-get install -y apt-mirror
    

    获取阿里云Ubuntu源配置

    我们通过阿里云镜像源来获取相关的镜像源的配置,如下所示(Ubuntu20.04):

    deb https://mirrors.aliyun.com/ubuntu/ focal main restricted universe multiverse
    deb-src https://mirrors.aliyun.com/ubuntu/ focal main restricted universe multiverse
    
    deb https://mirrors.aliyun.com/ubuntu/ focal-security main restricted universe multiverse
    deb-src https://mirrors.aliyun.com/ubuntu/ focal-security main restricted universe multiverse
    
    deb https://mirrors.aliyun.com/ubuntu/ focal-updates main restricted universe multiverse
    deb-src https://mirrors.aliyun.com/ubuntu/ focal-updates main restricted universe multiverse
    
    # deb https://mirrors.aliyun.com/ubuntu/ focal-proposed main restricted universe multiverse
    # deb-src https://mirrors.aliyun.com/ubuntu/ focal-proposed main restricted universe multiverse
    
    deb https://mirrors.aliyun.com/ubuntu/ focal-backports main restricted universe multiverse
    deb-src https://mirrors.aliyun.com/ubuntu/ focal-backports main restricted universe multiverse
    

    其中deb-src为源码包,如果不需要可以只使用deb。
    注意:Ubuntu各个版本使用的源配置是不一致的,主要是deb https://mirrors.aliyun.com/ubuntu/ focal main restricted universe multiverse中的focal版本区别,其对应关系如下所示(只是一部分)

    22.04 - Jammy
    21.10 - Impish 
    21.04 - Hirsute 
    20.10 - Groovy 
    20.04 LTS - Focal 
    19.10 - Eoan 
    19.04 - Disco 
    18.10 - Cosmic 
    18.04 LTS - Bionic 
    17.04 - Zesty 
    16.10 - Yakkety 
    16.04 LTS - Xenial 
    

    配置mirror.list配置文件

    (配置文件详解在文后)配置文件几乎不用修改,

    ############# config ##################
    #
    # set base_path    /var/spool/apt-mirror
    #
    # set mirror_path  $base_path/mirror
    # set skel_path    $base_path/skel
    # set var_path     $base_path/var
    # set cleanscript $var_path/clean.sh
    # set defaultarch  <running host architecture>
    # set postmirror_script $var_path/postmirror.sh
    # set run_postmirror 0
    set nthreads     20
    set _tilde 0
    #
    ############# end config ##############
    # 阿里云Ubuntu的APT源
    deb [arch=amd64] http://mirrors.aliyun.com/ubuntu/ jammy main restricted universe multiverse
    deb [arch=amd64] http://mirrors.aliyun.com/ubuntu/ jammy-security main restricted universe multiverse
    deb [arch=amd64] http://mirrors.aliyun.com/ubuntu/ jammy-updates main restricted universe multiverse
    deb [arch=amd64] http://mirrors.aliyun.com/ubuntu/ jammy-proposed main restricted universe multiverse
    deb [arch=amd64] http://mirrors.aliyun.com/ubuntu/ jammy-backports main restricted universe multiverse
    
    # 下载完成后清除部分空间
    clean https://mirrors.aliyun.com/ubuntu
    

    同步阿里云Ubuntu源

    运行apt-mirror命令即可开始同步,运行时会显示源的大小,基本每个ubuntu的源都在200G左右,下载时间主要看下载速率。
    apt-mirror命令支持断点续传,不过如果是意外中断,需要删除/var/spool/apt-mirror/var目录下的apt-mirror.lock文件再次执行。

    # 开始同步
    apt-mirror
    

    建议使用tmux创建一个终端来同步,同步完成后,同步的软件源会存放到/var/spool/apt-mirror目录下。

    Nginx暴露Apt源

    安装Nginx

    apt-get install -y nginx
    

    配置镜像路径(随自己习惯,创不创建都可以,nginx配置文件中的路径需要指定到源路径)

    # 创建路径
    mkdir -p /data/public
    # 创建软链
    ln -s /var/spool/apt-mirror/mirror/mirrors.aliyun.com/ubuntu /data/pubilc/ubuntu
    

    配置Nginx配置文件

    # /etc/nginx/nginx.conf
    http {
        ...
        sendfile on; # 开启高效文件传输模式
        server {
            location / {
                autoindex on; # 开启目录浏览模式
                root /data/public;
                index index.html index.htm;
            }
        ....
        }
    }
    

    /data/public中创建index.html文件,用于访问(此处不赘述,可以网上找或者不配置)

    启动Nginx,从浏览器访问192.168.33.150/ubuntu

    客户端配置

    备份原有源配置文件,将地址换成Apt内网源服务器地址

    # 备份
    cp -a /etc/apt/source.list /etc/apt/source.list.bak
    # 修改,将/etc/apt/source.list中的内容替换为以下
    deb [arch=amd64] http://192.168.33.150/ubuntu/ jammy main restricted universe multiverse
    deb [arch=amd64] http://192.168.33.150/ubuntu/ jammy-security main restricted universe multiverse
    deb [arch=amd64] http://192.168.33.150/ubuntu/ jammy-updates main restricted universe multiverse
    deb [arch=amd64] http://192.168.33.150/ubuntu/ jammy-proposed main restricted universe multiverse
    deb [arch=amd64] http://192.168.33.150/ubuntu/ jammy-backports main restricted universe multiverse
    

    配置完成后不要忘记更新apt-get update

    mirror.list配置文件详解

    ############# config ##################
    #
    # 配置数据基目录(可以修改为自己需要保存的位置)
    # set base_path /var/spool/apt-mirror
    # 配置镜像存储位置
    # set mirror_path $base_path/mirror
    # 配置临时下载索引位置
    # set skel_path $base_path/skel
    # 配置日子,URLs和MD5校验信息存储位置
    # set var_path $base_path/var
    # 配置删除过期源脚本位置(默认不删除,方便安装旧版本软件)
    # set cleanscript $var_path/clean.sh
    # 设置默认架构, 可填: amd64 或 i386,默认是和本机一个架构
    # set defaultarch <running host architecture>
    #
    # 设定下载后运行的脚本位置
    # set postmirror_script $var_path/postmirror.sh
    # 设置是否执行 下载后的脚本操作,默认是1(但是默认没有postmirror.sh脚本)
    # set run_postmirror 0
    # 设置下载线程数
    set nthreads 20
    # 是否替换URL中的波浪线,替换成%7E(HTML代码),否则会跳过不进行下载
    set _tilde 0
    #
    ############# end config ##############
    # 配置Ubuntu jammy 源
    deb [arch=amd64] http://mirrors.aliyun.com/ubuntu/ jammy main restricted universe multiverse
    deb [arch=amd64] http://mirrors.aliyun.com/ubuntu/ jammy-security main restricted universe multiverse
    deb [arch=amd64] http://mirrors.aliyun.com/ubuntu/ jammy-updates main restricted universe multiverse
    deb [arch=amd64] http://mirrors.aliyun.com/ubuntu/ jammy-proposed main restricted universe multiverse
    deb [arch=amd64] http://mirrors.aliyun.com/ubuntu/ jammy-backports main restricted universe multiverse
    # 下载完成后清除部分空间
    clean http://mirrors.aliyun.com/ubuntu/
    

    相关文章

      网友评论

        本文标题:使用apt-mirror搭建内网Ubuntu APT源同步阿里A

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