一键生成
.deb或.rpm离线安装包,支持 Ubuntu、Debian、CentOS、Rocky 等主流 Linux 发行版。
本项目通过 Docker + docker-compose 实现:
- ✅ 自动下载指定软件包及其依赖
- ✅ 支持
apt和yum包管理器 - ✅ 源配置由
mirrors/目录统一管理(使用 HTTP 避免证书问题) - ✅ 输出
.tgz离线包 + 醒目安装说明 - ✅ 无需联网即可在目标机器安装
git clone https://github.com/yourname/offline-package-downloader.git
cd offline-package-downloadermkdir -p output# .env
PACKAGE_MANAGER=apt
OS_IMAGE=ubuntu:24.04
PACKAGES=build-essential pkg-config xorg-devdocker-compose up完成后,output/ 目录将生成:
offline-packages-apt.tgz(APT 系统) offline-packages-yum.tgz(YUM 系统) 并在终端输出 离线安装方法。
你可以自定义软件源,适用于私有仓库或内网镜像。本项目使用 HTTP 源,避免容器内无 CA 证书导致下载失败。
编辑文件:mirrors/apt/sources.list
编辑或添加:mirrors/yum/CentOS-Base.repo
脚本位于 scripts/ 目录,可根据需要调整行为。
✅ 微调 scripts/download-apt.sh
✅ 微调 scripts/download-yum.sh
常见修改建议: 使用 dnf(适用于 RHEL 8+/Rocky 8+):
dnf makecache
dnf install -y --downloadonly --downloaddir="${OUTPUT_DIR}" ${PACKAGES}跳过 GPG 检查(内网可用):
yum install -y --downloadonly --downloaddir="${OUTPUT_DIR}" --nogpgcheck ${PACKAGES}安装软件包组:
PACKAGES="@development-tools"启用特定仓库(如 EPEL):
yum install -y --downloadonly --downloaddir="${OUTPUT_DIR}" --enablerepo=epel ${PACKAGES}| 特性 | 说明 |
|---|---|
| 🔧 配置驱动 | 只需修改 .env 文件即可切换包管理器、镜像和软件包 |
| 📦 自动打包 | 下载完成后自动打包为 .tgz 文件,便于分发 |
| 📝 安装指引 | 终端自动输出离线安装命令,清晰易用 |
| 🐳 环境隔离 | 所有操作在 Docker 容器内完成,不污染主机 |
| 🌐 源可控 | 通过 mirrors/ 目录统一管理 APT/YUM 源,支持内网镜像 |
| 🚫 无 HTTPS 依赖 | 使用 HTTP 源避免容器内缺少 CA 证书导致下载失败 |
| 🛠️ 易于扩展 | 脚本结构清晰,可轻松支持 dnf、zypper 等其他包管理器 |