【支持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 天前
Ubuntu/Debian修改网卡名字enP3p49s0为eth0
linux·运维·驱动开发·嵌入式硬件·ubuntu·debian
可期不折腾1 天前
NVIDIA Nsight Systems性能分析工具
ubuntu·nvidia·nsight systems·性能分析工具
Fireworkitte2 天前
Ubuntu 系统 tar 包源码安装 Nginx
linux·nginx·ubuntu
ElendaLee2 天前
笔记本电脑Windows+Ubuntu 双系统,Ubuntu无法挂载Windows的硬盘 报错问题解决
linux·运维·ubuntu
QtSeeker2 天前
Ubuntu22.04安装VMware Tools
linux·ubuntu
wzb562 天前
Ubuntu 的 apt-get 强制使用 IPv4 网络
ubuntu
小猪写代码2 天前
解释一下,Linux,shell,Vmware,Ubuntu,以及Linux命令和shell命令的区别
linux·ubuntu
源代码杀手2 天前
大模型微调训练资源占用查询:Windows 10 查看 NVIDIA 显卡GPU状态教程(替代 Ubuntu 下 watch nvidia-smi)
linux·windows·ubuntu
孙霸天2 天前
Ubuntu20系统上离线安装MongoDB
数据库·mongodb·ubuntu·备份还原
愚昧之山绝望之谷开悟之坡3 天前
| `cat /etc/os-release` | 发行版详细信息(如 Ubuntu、CentOS) |
linux·ubuntu·centos