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

Docker 安装部署全流程使用指南(Linux 通用版)

Docker 安装部署全流程使用指南(Linux 通用版)

整合 Docker 安装、配置、核心使用(含日志管理)、路径修改、Dockerfile 构建镜像等全维度内容,适配 Debian/Ubuntu(apt)、CentOS/RHEL(yum/dnf)等主流 Linux 发行版,无特定系统适配内容。 一、Linux 通用版 Docker 安装 1. 前置准备:卸载旧版本 # 通用卸载命令(适配apt/yum/dnf) sudo apt remove -y docker docker-engine docker.io containerd runc # Debian/Ubuntu # 或 sudo yum remove -y

By Ne0inhk
Flutter for OpenHarmony:password_strength 快速评估用户密码强度,拒绝弱口令(安全增强库) 深度解析与鸿蒙适配指南

Flutter for OpenHarmony:password_strength 快速评估用户密码强度,拒绝弱口令(安全增强库) 深度解析与鸿蒙适配指南

欢迎加入开源鸿蒙跨平台社区:https://openharmonycrossplatform.ZEEKLOG.net 前言 在注册或修改密码时,我们经常需要提示用户“您的密码太弱了”。虽然简单的正则表达式(如 .{8,})能限制长度,但很难识别出 123456, password, qwerty 这种高频弱口令。 password_strength 是一个基于熵(Entropy)计算和常见字典匹配的密码强度估算库。它能给出 0.0 到 1.0 的分数,帮助开发者构建更安全的认证系统。 一、概念介绍/原理解析 1.1 基础概念 * Entropy (熵): 信息论中的概念,密码的随机性越大,熵值越高,破解难度越大。 * Dictionary Attack (字典攻击): 黑客利用常用密码表尝试登录。 * Score: 综合长度、字符种类(

By Ne0inhk
Flutter 三方库 linalg 的鸿蒙化适配指南 - 掌控高性能线性代数、矩阵运算实战、鸿蒙级算法中枢

Flutter 三方库 linalg 的鸿蒙化适配指南 - 掌控高性能线性代数、矩阵运算实战、鸿蒙级算法中枢

欢迎加入开源鸿蒙跨平台社区:https://openharmonycrossplatform.ZEEKLOG.net Flutter 三方库 linalg 的鸿蒙化适配指南 - 掌控高性能线性代数、矩阵运算实战、鸿蒙级算法中枢 在鸿蒙跨平台应用处理 3D 图形变换、复杂的信号处理(DSP)或是端侧的小型机器学习模型时,高效的矩阵(Matrix)与向量(Vector)运算是一切算法的基石。如果你不想手写枯燥且易错的嵌套循环。今天我们要深度解析的 linalg——一个纯 Dart 实现的、遵循线性代数标准的专业级数学库,正是帮你搭建“算法堡垒”的数字基石。 前言 linalg 提供了一套直观且功能完备的线性代数 API。它不仅支持基础的向量加减、点积(Dot Product)和叉积(Cross Product),还涵盖了复杂的矩阵乘法、转置(Transpose)以及行列式计算。在鸿蒙端项目中,

By Ne0inhk
【Linux系统编程】(三十五)揭秘 Linux 信号产生:从终端到内核全解析

【Linux系统编程】(三十五)揭秘 Linux 信号产生:从终端到内核全解析

前言         在 Linux 系统中,信号是进程间异步通信的 “信使”,而 “信号产生” 则是这个通信过程的起点。无论是我们熟悉的Ctrl+C终止进程,还是程序运行中出现的段错误、定时器超时,本质上都是信号被触发产生的过程。很多开发者只知道 “信号能终止进程”,却不清楚信号到底是怎么来的 —— 是用户操作触发的?还是系统自动产生的?不同场景下信号的产生机制有何不同?         本文将基于 Linux 内核原理,结合 5 种核心信号产生场景(终端按键、系统命令、函数调用、软件条件、硬件异常),用通俗的语言,带你全方位揭秘信号产生的底层逻辑,让你不仅 “知其然”,更 “知其所以然”。下面就让我们正式开始吧! 一、信号产生的核心本质:谁在 “发送” 信号?         在深入具体场景之前,我们先明确一个核心问题:信号是由谁产生并发送的?答案是操作系统(OS)。         无论信号的触发源头是用户按键、函数调用还是硬件异常,

By Ne0inhk