【支持Ubuntu22】Ambari3.0.0+Bigtop3.2.0——Step6—本地apt源

注意事项

本文基于 Ubuntu 22.04 LTS 适配,部分包名和配置与 RedHat/Rocky/CentOS 有差异,请勿直接复用其它系统命令 。如遇疑难欢迎在

VX 或 QQ 群与作者交流。

附录:完整内容和源代码下载请参照

https://doc.janettr.com/

一、场景说明

在 Ubuntu 22.04 集群或企业内网环境,经常需要批量分发/自动化安装 各类 DEB 包。自建 HTTP/本地 apt

源不仅解决了"离线环境下装包"问题,也让多节点集群部署极其高效可靠。

二、核心原理

  1. Nginx 提供 HTTP 服务,作为 DEB 包分发服务器
  2. 主节点生成本地 apt 索引(Packages.gz),所有节点通过 http 访问该索引
  3. 自动写入 /etc/apt/sources.list.d/xxx.list,批量 update,所有主机都可离线拉包

三、标准目录结构与权限

bash 复制代码
sudo mkdir -p /data/modules
sudo chown -R www-data:www-data /data/modules
sudo chmod -R 755 /data/modules

必须保证 Nginx 运行用户为 www-data,且 /data/modules 目录有 755 权限,否则出现 403 Forbidden 或找不到包。其实我就是root也没啥问题

四、DEB 包索引自动生成

4.1 工具准备

bash 复制代码
sudo apt update
sudo apt install -y dpkg-dev
  • 工具:dpkg-scanpackages(不要用 createrepo!)

4.2 自动化生成索引(仅主源节点)

bash 复制代码
cd /data/modules
dpkg-scanpackages . /dev/null | gzip -9c > Packages.gz
  • 每次更新、增加或删除 .deb 包都要重新执行此命令,保持索引最新

和 RedHat/CentOS 不同,Ubuntu apt 仓库索引文件为 Packages.gz ,必须用 dpkg-scanpackages 工具自动生成,createrepo 等

rpm 工具全部无效。

五、全节点自动化添加 apt 源

5.1 统一生成源文件

在所有节点写入 /etc/apt/sources.list.d/ambari.list

复制代码
deb [trusted=yes] http://主源IP/ ./

例如主源为 192.168.3.1,则内容为
deb [trusted=yes] http://192.168.3.1/ ./

  • trusted=yes 禁用 GPG 校验,适合内网/离线测试
  • 每个节点都可以自动 update/upgrade

5.2 更新索引

bash 复制代码
sudo apt-get clean
sudo apt-get update
相关推荐
太空的旅行者1 小时前
告别双系统——WSL2+UBUNTU在WIN上畅游LINUX
linux·运维·ubuntu
人工智能训练师3 小时前
Ubuntu22.04如何安装新版本的Node.js和npm
linux·运维·前端·人工智能·ubuntu·npm·node.js
xqlily9 小时前
Linux操作系统之Ubuntu
linux·运维·ubuntu
风_峰9 小时前
Petalinux相关配置——ZYNQ通过eMMC启动
嵌入式硬件·ubuntu·fpga开发
风_峰9 小时前
【ZYNQ开发篇】Petalinux和电脑端的静态ip地址配置
网络·嵌入式硬件·tcp/ip·ubuntu·fpga开发
烦躁的大鼻嘎15 小时前
【Linux】深入Linux多线程架构与高性能编程
linux·运维·服务器·开发语言·c++·ubuntu
破烂儿15 小时前
Ubuntu Server 安装图形界面和通过Window远程桌面连接服务器(Xrdp)
linux·服务器·ubuntu
a.30217 小时前
OpenCV(cv2)学习笔记:从模板匹配入门到常用函数
数据库·ubuntu·ssh
WWZZ202517 小时前
视觉SLAM第10讲:后端2(滑动窗口与位子图优化)
c++·人工智能·后端·算法·ubuntu·机器人·自动驾驶
daqinzl20 小时前
Ubuntu 24.04 解决 firefox 中文界面乱码
ubuntu·中文乱码·firefox