Skip to content

calacaly/packages-offline

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

📦 离线软件包下载系统

一键生成 .deb.rpm 离线安装包,支持 Ubuntu、Debian、CentOS、Rocky 等主流 Linux 发行版。

本项目通过 Docker + docker-compose 实现:

  • ✅ 自动下载指定软件包及其依赖
  • ✅ 支持 aptyum 包管理器
  • ✅ 源配置由 mirrors/ 目录统一管理(使用 HTTP 避免证书问题)
  • ✅ 输出 .tgz 离线包 + 醒目安装说明
  • ✅ 无需联网即可在目标机器安装

🚀 快速开始

1. 克隆项目

git clone https://github.com/yourname/offline-package-downloader.git
cd offline-package-downloader

2. 创建输出目录

mkdir -p output

3. 配置 .env 文件

# .env
PACKAGE_MANAGER=apt
OS_IMAGE=ubuntu:24.04
PACKAGES=build-essential pkg-config xorg-dev

4. 启动下载

docker-compose up

完成后,output/ 目录将生成:

offline-packages-apt.tgz(APT 系统) offline-packages-yum.tgz(YUM 系统) 并在终端输出 离线安装方法。

🔧 配置源:如何修改 mirrors/

你可以自定义软件源,适用于私有仓库或内网镜像。本项目使用 HTTP 源,避免容器内无 CA 证书导致下载失败。

✅ 修改 APT 源(Ubuntu/Debian)

编辑文件:mirrors/apt/sources.list

✅ 修改 YUM 源(CentOS/Rocky)

编辑或添加: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 证书导致下载失败
🛠️ 易于扩展 脚本结构清晰,可轻松支持 dnfzypper 等其他包管理器

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages