Linux安装包打包方法及详细步骤
Linux系统下软件安装包主流打包方式分为四类:通用Tar源码压缩包、RPM包(CentOS/RHEL)、DEB包(Ubuntu/Debian)、编译二进制包。本文整理各类型标准化打包流程、适用场景及实操步骤,适配软件开发、嵌入式设备、服务器部署等场景。
一、通用打包:Tar.gz 二进制安装包(全Linux通用)
适用所有Linux发行版,无系统限制,是最基础、通用性最强的打包方式,无需复杂编译配置,适合快速部署自研程序。
1. 前期准备
完成程序编译,整理运行所需全部文件:可执行程序、配置文件、日志目录、依赖库、启动脚本等,统一归集到单独文件夹。
2. 详细打包步骤
步骤1:创建程序根目录,规整文件结构
mkdir -p /opt/myapp/{bin,conf,log,lib,script} # 拷贝编译好的程序、配置、脚本至对应目录
步骤2:进入上级目录,执行打包压缩
tar -zcvf myapp-v1.0-linux.tar.gz myapp/
参数说明:z(gzip压缩)、c(创建包)、v(显示过程)、f(指定包名)
步骤3:打包后校验(可选)
tar -ztvf myapp-v1.0-linux.tar.gz
3. 配套部署脚本(可选)
可编写install.sh、uninstall.sh安装卸载脚本,实现一键部署、开机自启配置,提升使用便捷性。
二、源码包打包(Source Tar包,开源通用)
用于发布开源项目,包含完整源码、Makefile、CMakeLists、README、授权文件,供用户本地编译安装。
实操步骤
# 1. 清理编译缓存 make clean # 2. 归集源码核心文件 # 3. 打包源码 tar -zcvf myapp-src-v1.0.tar.gz 源码目录/
用户安装流程:解压 → ./configure/cmake → make编译 → make install安装。
三、RPM包打包(CentOS/RHEL/Fedora 专用)
RedHat系列系统标准安装包,支持版本管理、依赖校验、一键安装卸载,适合企业服务器部署。
1. 环境安装
yum install rpm-build rpmdevtools -y
2. 构建打包目录结构
rpmdev-setuptree
自动生成目录:~/rpmbuild/{BUILD,BUILDROOT,RPMS,SRPMS,SPECS,SOURCES}
3. 核心打包步骤
1)将源码/二进制压缩包放入 SOURCES 目录;
2)在 SPECS 目录编写 .spec 配置文件(定义软件名、版本、安装路径、依赖、启停脚本、文件清单);
3)执行打包编译:
rpmbuild -ba ~/rpmbuild/SPECS/myapp.spec
4)成品输出:RPMS目录下生成对应架构(x86_64/aarch64)的rpm安装包。
安装命令:yum localinstall xxx.rpm 或 rpm -ivh xxx.rpm
四、DEB包打包(Ubuntu/Debian 专用)
Debian系列系统标准安装包,适配桌面端、Ubuntu服务器,支持apt依赖管理。
1. 目录规范
创建标准化程序目录,严格遵循系统安装路径规范:
myapp-deb/ ├── usr/local/bin/ # 可执行程序 ├── etc/myapp/ # 配置文件 ├── var/log/myapp/ # 日志目录 └── DEBIAN/ # 打包控制目录(手动创建)
2. 编写控制文件
在DEBIAN目录新建 control 文件,填写软件名称、版本、架构、依赖、描述、作者信息。
3. 执行打包命令
dpkg -b myapp-deb/ myapp-v1.0-amd64.deb
安装命令:dpkg -i xxx.deb(依赖缺失可执行 apt -f install 修复)
五、四种打包方式选型对比
1. Tar.gz二进制包:跨所有Linux系统、无依赖限制、打包简单,适合自研程序、嵌入式设备;
2. 源码Tar包:开源发布、跨平台编译使用,适合开源项目交付;
3. RPM包:CentOS企业服务器专用,支持依赖管理、版本升级;
4. DEB包:Ubuntu系统专用,适配桌面及云服务器场景。
六、通用打包注意事项
1. 打包前清理调试日志、冗余文件、编译缓存,缩小安装包体积;
2. 明确区分x86_64、aarch64架构,包名标注架构及版本,避免混用;
3. 商业/正式交付包需配套README、安装说明、启停命令、日志路径说明;
4. 二进制打包需排查动态依赖,可通过ldd命令检查依赖库,缺失则一并打包。
更多推荐

所有评论(0)