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

AI大模型综合(二)LangGraph4j(完整示例)

目录 一、LangGraph4j简介 1.1 核心特性 1.2 应用场景 1.3 核心概念 状态图StateGraph 节点Node 边Edge 子图 / 子流程 / 嵌套 Graph 状态(State) 检查点 中断 / 人工干预 1.4 使用流程 1.5 官方文档 二、LangGraph4j示例演示     一、LangGraph4j简介 LangGraph4j 是一个专为 Java设计的开源库,用于构建状态ful、多智能体应用,并与语言模型(LLMs)无缝集成‌,支持复杂任务协作与流程管理。 ‌LangGraph4j 基于状态图(StateGraph)模型,通过节点(Node)、边(

By Ne0inhk

AI 编程新王 Codex 全面上手指南

AI 编程新王 Codex 全面上手指南 一篇文章带你精通 Codex 四大环境 + 免费使用方法 💡 前言:AI 编程的新时代 AI 编程的竞争正进入“第二轮洗牌期”。 过去几个月,Claude Code 一度成为开发者的宠儿,但频繁的限速、封号、降智问题让不少人头疼。 如今,OpenAI 推出的 Codex 迅速崛起,凭借强大的编程能力和超高性价比,成为“AI 编程新王”。 Codex 是什么? 它是基于 GPT-5 模型打造的专用编程环境,支持命令行、VS Code 插件、SDK 集成、云端操作等多种运行模式。 不论你是写脚本、做项目、还是维护仓库,Codex 都能像“AI 结对程序员”一样协助你高效开发。

By Ne0inhk
Python+AI 实战:搭建属于你的智能问答机器人

Python+AI 实战:搭建属于你的智能问答机器人

欢迎文末添加好友交流,共同进步! “ 俺はモンキー・D・ルフィ。海贼王になる男だ!” 引言 * 在数字化转型浪潮中,智能问答机器人正成为企业客服、知识库检索乃至个人助理等场景的关键交互入口。它能让员工秒级获取技术解答、客户即时获得业务支持、学习者随时得到个性化辅导,极大提升信息获取效率与用户体验。 * 为何选择 Python 与开源 AI 模型?Python 拥有成熟的 AI 生态——Hugging Face Transformers、LangChain、FAISS 等工具大幅降低开发门槛;而本地部署的开源大模型(如 Phi-3、Mistral、Llama 系列)则保障了数据隐私、规避了 API 成本,特别适合对安全性或离线能力有要求的场景。 * 本文将手把手带你从零构建一个基于 RAG(检索增强生成)架构的本地智能问答系统:使用 Sentence-BERT 实现语义检索,FAISS 作为向量数据库,并集成轻量级开源语言模型生成答案。

By Ne0inhk
【AI开发】—— OpenCode双插件协同开发指南

【AI开发】—— OpenCode双插件协同开发指南

OpenCode双插件协同开发指南|Oh My OpenCode+Superpowers 兼顾效率与规范 很多同学在OpenCode中装完Superpowers后,都会有一个疑问:已经有了做代码规范的Superpowers,还有必要用Oh My OpenCode(OMOC)吗? 甚至装了两个插件后,不知道如何配合使用,导致要么只用到了其中一个的功能,要么让两者互相“冲突”,浪费了插件的核心价值。 其实答案很明确:两者是互补而非替代的关系,组合使用才是OpenCode的最优解。OMOC是「项目开发总指挥」,负责拆解任务、并行调度、自动化工具调用,主打一个提效率;Superpowers是「代码工程质检员」,负责约束AI遵循TDD、代码审查、重构等最佳实践,主打一个保规范。 这篇文章就把两者的核心区别讲透,再通过实操性拉满的协同开发教程,教你用OMOC+Superpowers开发项目,既让AI写代码又快又好,还能彻底摆脱“手动拆任务、反复改代码”的痛点,全程贴合开发实际,新手也能直接跟着做。 一、先搞懂:OMOC与Superpowers 核心区别(

By Ne0inhk