【支持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
相关推荐
带土18 小时前
3. Ubuntu 14.04更换阿里云源,设置系统字体
linux·ubuntu
蛐蛐蛐8 小时前
Win11上VS Code免输密码连接Ubuntu的正确设置方法
linux·运维·ubuntu
James.TCG10 小时前
Avalonia桌面应用发布到Ubuntu22.04
linux·ubuntu·avalonia
ding_zhikai16 小时前
SD:在一个 Ubuntu 系统安装 stable diffusion Web UI
前端·ubuntu·stable diffusion
diqiudq1 天前
用AMD显卡节省nVidia显卡显存占用
linux·深度学习·ubuntu·显存释放
小龙报1 天前
《KelpBar海带Linux智慧屏项目》
linux·c语言·vscode·单片机·物联网·ubuntu·学习方法
zhangrelay1 天前
蓝桥云课中支持的ROS1版本有哪些?-2025在线尝试ROS1全家福最方便的打开模式-
linux·笔记·学习·ubuntu
元直数字电路验证1 天前
进入WSL2 Ubuntu环境的完整指南
linux·运维·ubuntu·wsl
一匹电信狗2 天前
【MySQL】数据库基础
linux·运维·服务器·数据库·mysql·ubuntu·小程序
风为你而吹2 天前
【玩泰山派】4、制作ubuntu镜像-(5)总结制作镜像流程
linux·ubuntu