ubuntu 内网自建apt源(apt-mirror)

ubuntu 内网自建apt源(apt-mirror)

文章目录

1. 安装apt-mirror

  • 官网地址:https://apt-mirror.github.io/
  • 安装
$ apt-getinstall apt-mirror 
    • 配置文件 /etc/apt/mirror.list
    • 配置代理
    • 修改存储位置

修改配置(非必要)

set unlink 1set use_proxy on set http_proxy 10.10.xxx.xx:1111 set proxy_user user set proxy_password password 
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 postmirror_script $var_path/postmirror.sh 
建议整体设置set base_path到大磁盘就可以了实际使用中,我直接使用软连接把/var/spool/apt-mirror 链接到了/data/apt-mirror

2. 更新apt镜像数据

  • 启动
$ sudo apt-mirror 

输出如下,同步

root@boe:/etc/apt# apt-mirror Downloading 162 index files using 20 threads... Begin time: Fri Feb 7 01:05:14 2025[20]... [19]... [18]... [17]... [16]... [15]... [14]... [13]... [12]... [11]... [10]... [9]... [8]... [7]... [6]... [5]... [4]... [3]... [2]... [1]... [0]... End time: Fri Feb 7 01:15:46 2025 Processing translation indexes: [TTT] Downloading 558 translation files using 20 threads... Begin time: Fri Feb 7 01:15:46 2025[20]... [19]... [18]... [17]... [16]... [15]... [14]... [13]... [12]... [11]... [10]... [9]... [8]... [7]... [6]... [5]... [4]... [3]... [2]... [1]... [0]... End time: Fri Feb 7 01:16:02 2025 Processing DEP-11 indexes: [DDD] Downloading 88 dep11 files using 20 threads... Begin time: Fri Feb 7 01:16:02 2025[20]... [19]... [18]... [17]... [16]... [15]... [14]... [13]... [12]... [11]... [10]... [9]... [8]... [7]... [6]... [5]... [4]... [3]... [2]... [1]... [0]... End time: Fri Feb 7 01:16:09 2025 Processing cnf indexes: [CCC] Downloading 24 cnf files using 20 threads... Begin time: Fri Feb 7 01:16:09 2025[20]... [19]... [18]... [17]... [16]... [15]... [14]... [13]... [12]... [11]... [10]... [9]... [8]... [7]... [6]... [5]... [4]... [3]... [2]... [1]... [0]... End time: Fri Feb 7 01:16:10 2025 Processing indexes: [SSSPPP]535.4 GiB will be downloaded into archive. Downloading 105806 archive files using 20 threads... Begin time: Fri Feb 7 01:16:19 2025[20]... [19]... [18]... [17]... [16]... [15]... [14]... [13]... [12]... [11]... [10]... [9]... [8]... [7]... [6]... 
  • 停止
    • 除了kill好像也没有什么好的方法
    • 未结束之前重新执行,此时会报错。删除/var/spool/apt-mirror/var/apt-mirror.lock文件,再次执行即可。

3. 创建web服务(以nginx为例)

  • 创建nginx目录,进入该目录
  • 创建docker-compse.yml文件内如如下:
services: nginx-01: image: nginx:1.27 ports: - 80:80 volumes: - ./nginx.conf:/etc/nginx/conf.d/default.conf:ro - /data/apt-mirror/mirror/archive.ubuntu.com:/usr/share/nginx/html restart: always 
关于挂载:(注意写你自己的实际目录)前文可见 /data/apt-mirror 是我软连接的/var/spool/apt-mirror 这个地址,你也可以通过配置文件修改
  • 创建nginx.conf文件,内容如下:
# gzip设置 gzip on; gzip_vary on; gzip_comp_level 6; gzip_buffers 16 8k; gzip_min_length 1000; gzip_proxied any; gzip_disable "msie6"; #gzip_http_version 1.0; gzip_types text/plain text/css application/json application/x-javascript text/xml application/xml application/xml+rss text/javascript application/javascript; server { listen 80; server_name web80; location / { root /usr/share/nginx/html; index index.html index.htm; add_header Cache-Control no-store; }}
  • 启动nginx
docker-compose up -d 

4. 客户端使用

  • 添加源
    找一台其他客户机,修改/etc/apt/sources.list文件,内容如下:
deb http://10.10.239.56/ubuntu/ jammy main restricted universe multiverse deb http://10.10.239.56/ubuntu/ jammy-updates main restricted universe multiverse deb http://10.10.239.56/ubuntu/ jammy-security main restricted universe multiverse 
  • 测试,安装一个小工具试试
apt update aptinstall php-curl 

5. 添加一个新源(以docker为例)

  • 添加秘钥(如果本机apt源添加过可以略过,两个是一样的)
curl -fsSL https://download.docker.com/linux/ubuntu/gpg |sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg 
  • 修改/etc/apt/mirror.list文件,添加如下行:
deb [arch=amd64 signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu jammy stable 
  • 更新apt镜像
 apt-mirror 

在这里插入图片描述

Read more

初识Linux —— make和makefile自动化构建工具

初识Linux —— make和makefile自动化构建工具

什么是make/makefile 本篇文章对于图片即内容详解,已同步到博主gitee:基本工具使用/make和makefile.png - 努力学习的小廉 在之前写代码的过程中,我们都是对一个文件进行编译链接(gcc编译),但是如果一个项目中,源代码文件非常的多,我们总不能一个一个的进行编译链接,这也太麻烦了;所以现在就来学习make/makefile实现自动化构建 make是一个命令工具,是一个解释makefile在指令的命令工具,大多数的IDE都存在这个命令。 makefile成为一种在工程方面的编译方法。 makefile是一个文件,make是一个命令;二者搭配使用来完成项目的自动化构建makefile的好处就是自动化构建,写好makefile文件以后就只需make命令就可以完成项目工程的自动化构建,提点高了软件开发的效率 其实会不会写makefile文件,也侧面反映了其是否具备完成大型工程的能力 在一个工程中源代码文件,按照类型、功能、模块分别放到了若干个目录下,makefile定义一系列的规则来指定哪些文件需要先编译、哪些文件需要后编译,哪些文件需要重新编译,甚

By Ne0inhk
Azure终极目标:Java应用0运维?5步实现!

Azure终极目标:Java应用0运维?5步实现!

🔥关注墨瑾轩,带你探索编程的奥秘!🚀 🔥超萌技术攻略,轻松晋级编程高手🚀 🔥技术宝库已备好,就等你来挖掘🚀 🔥订阅墨瑾轩,智趣学习不孤单🚀 🔥即刻启航,编程之旅更有趣🚀 5步,实现Java应用零运维 第1步:容器化(Docker)——不是可选,是“基础基石” 为什么是基石? * 环境一致性:开发、测试、生产环境统一 * 依赖隔离:JDK、应用、库打包在一起 * Azure支持:ACR、AKS、App Service for Containers原生支持 Java + Docker实现: # Dockerfile FROM eclipse-temurin:17-jre-alp

By Ne0inhk
Linux 实战:从零实现动态进度条(含缓冲区原理与多版本优化)

Linux 实战:从零实现动态进度条(含缓冲区原理与多版本优化)

🔥草莓熊Lotso:个人主页 ❄️个人专栏: 《C++知识分享》《Linux 入门到实践:零基础也能懂》 ✨生活是默默的坚持,毅力是永久的享受! 🎬 博主简介: 文章目录 * 前言: * 一. 核心预备知识:掌握三大关键点,轻松避开进度条开发常见误区 * 1.1 回车(\r)与换行(\n)的本质区别解析 * 1.2 深入理解行缓冲区运行机制 * 1.3 进度条的核心构成元素详解 * 二. 实战开发:打造动态彩色进度条 * 2.1 基础版进度条模拟实现(演示原理,实际应用较少) * 2.2 自动化构建流程:Makefile编写详解 * 2.3 头文件设计(process.h):接口函数声明 * 2.4

By Ne0inhk
Docker Network 命令:容器网络管理的完整指南

Docker Network 命令:容器网络管理的完整指南

Docker Network 命令:容器网络管理的完整指南 * 一、Docker 网络概述 * 1.1 Docker 网络架构 * 1.2 默认网络类型 * 二、核心命令详解 * 2.1 网络列表查看(docker network ls) * 2.2 网络创建(docker network create) * 2.3 网络详情查看(docker network inspect) * 三、网络连接管理 * 3.1 容器连接网络(docker network connect) * 3.2 容器断开网络(docker network disconnect) * 四、高级网络配置

By Ne0inhk