前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >apt-mirror搭建ubuntu镜像源

apt-mirror搭建ubuntu镜像源

原创
作者头像
落墨成殇
发布2023-03-28 13:00:02
2.2K0
发布2023-03-28 13:00:02
举报
文章被收录于专栏:落墨成殇落墨成殇

服务器的版本是ubuntu 22.04其他的需要自己研究了

Ubuntu的镜像源在2023-2-8占用磁盘为:310G左右

部署的服务器使用了341G

直接开始

1.安装apt-mirror和nginx

代码语言:txt
复制
apt-get install apt-mirror nginx

2.修改apt-mirror配置

#记得修改版号

代码语言:txt
复制
vi /etc/apt/mirror.list
代码语言:txt
复制
############# 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
#默认下载的OS架构 像amd64这种的
# set defaultarch  <running host architecture>
#这个脚本是运行必需的
# set postmirror_script $var_path/postmirror.sh
# set run_postmirror 0
#设置下载线程数
set nthreads     20
set _tilde 0
#
############# end config ##############

#简单来说就是 
#deb 地址/os 版本号  后面那些好像就是os里面的文件夹
#个人比较喜欢用上海交通大学的镜像源
deb https://mirror.sjtu.edu.cn/ubuntu jammy main restricted universe multiverse
deb https://mirror.sjtu.edu.cn/ubuntu jammy-security main restricted universe multiverse
deb https://mirror.sjtu.edu.cn/ubuntu jammy-updates main restricted universe multiverse
deb https://mirror.sjtu.edu.cn/ubuntu jammy-proposed main restricted universe multiverse
deb https://mirror.sjtu.edu.cn/ubuntu jammy-backports main restricted universe multiverse

deb-src https://mirror.sjtu.edu.cn/ubuntu jammy main restricted universe multiverse
deb-src https://mirror.sjtu.edu.cn/ubuntu jammy-security main restricted universe multiverse
deb-src https://mirror.sjtu.edu.cn/ubuntu jammy-updates main restricted universe multiverse
deb-src https://mirror.sjtu.edu.cn/ubuntu jammy-proposed main restricted universe multiverse
deb-src https://mirror.sjtu.edu.cn/ubuntu jammy-backports main restricted universe multiverse

#这个脚本会清除上游服务器废弃的包的
clean https://mirror.sjtu.edu.cn/ubuntu

3.修改vi /usr/bin/apt-mirror

因为:apt-mirror无法下载cnf文件夹(apt-mirror软件最后一次更新在2017年,而ubuntu20.04在2020年才发布,软件没有对系统做适配,就是bug)

add_url_to_download( \$url . \$_ . "/binary-" . \$arch . "/Release" );

add_url_to_download( \$url . \$_ . "/binary-" . \$arch . "/Packages.gz" );

add_url_to_download( \$url . \$_ . "/binary-" . \$arch . "/Packages.bz2" );

add_url_to_download( \$url . \$_ . "/binary-" . \$arch . "/Packages.xz" );

add_url_to_download( \$url . \$_ . "/cnf/Commands-" . \$arch . ".xz" );

add_url_to_download( \$url . \$_ . "/i18n/Index" );

如果不想编辑就看看这个

https://github.com/Stifler6996/apt-mirror

4.同步

代码语言:txt
复制
#前台同步
apt-mirror

#后台同步
nohup apt-mirror &

4.1定时同步

代码语言:txt
复制
crontab -e
代码语言:txt
复制
0 0 * * * apt-mirror  #每天23点执行一次apt-mirror,定时向上游更新镜像站文件
0 22 * * * /var/spool/apt-mirror/var/clean.sh  #提前一个小时清理被上游镜像站遗弃的软件包

5.修改nginx配置文件

vi /etc/nginx/sites-available/default

代码语言:txt
复制
#如果不需要https直接跳过就行
server {
        listen 443 ssl;
        server_tokens off;
        server_name 域名;
        ssl_certificate 证书.crt;
        ssl_certificate_key 证书对应的key.key;
        ssl_session_timeout 5m;
        ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
        ssl_ciphers ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384;
        ssl_prefer_server_ciphers on;
        location / {
                root /var/spool/apt-mirror/mirror/mirror.sjtu.edu.cn;
                autoindex on;
                autoindex_exact_size off;
        }

}

server {
    listen 80;
  server_name: 自己的域名
  #如果需要配置https取消注释下面那行,location就需要写在https的配置项了
  #这个就重定向到https配置项
  #return 301 https://$server_name$request_uri;
  location / {
    root /var/spool/apt-mirror/mirror/镜像源地址(例如sjtu.edu.cn)
    #开启目录访问
    atuoindex: on;
    #看文件大小用的
    autoindex_exact_size off;
  }
}

参考:

1.异常处理出处:https://blog.csdn.net/qq_39525606/article/details/121163223

2.基本配置项:https://blog.linux-code.com/articles/thread-1788.html

3.git地址出处:https://aword.net/nei-wang-da-jian-apt-mirror/

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档