rpm包制作
安装
# apt-get install rpm
安装完成:
默认在用户目录下会自动生成如下目录
~/rpmbuild# ls
BUILD BUILDROOT RPMS SOURCES SPECS SRPMS
BUILD目录:tar.gz自动解压到此目录,并在此目录进行编译
SPECS目录:存放.spec文件。制作文件,下面会详细介绍
RPMS目录:保存制作好的rpm包
SOURCES目录:保存源代码。制作过程中用到的源码及配置文件
SRPMS目录:保存制作好的src.rpm包
BUILDROOT目录:保存编译安装好的文件,可以通过--prefix指定
spec文件举例
Name: webserver #软件名,和压缩文件名一致
Version: 1.0 #版本号
Release: 1%{?dist} #次版本号
Summary: webserver #软件包简介
License: GPL
URL: www.baidu.com
Source0: %{name}-%{version}.tar.gz #变量名:%{SOURCE0}
Requires: gcc
BuildRoot: %_topdir/BUILDROOT
%description #软件描述
webserver 1.0
%prep #编译准备工作
%setup -q #自动解压Source0中的tar.gz
%build #一般执行./configure和make
%install #一般执行make install
rm -rf %{buildroot}
mkdir %{buildroot}
cp -rp %_topdir/BUILD/%{name}-%{version}/* $RPM_BUILD_ROOT #保存到BUILDROOT,后面使用
%pre #安装前
%post #安装后
%preun #卸载前
%postun #卸载后
%clean
%files #打包时的文件。会自动在BUILDROOT中查找,在rpm -i安装的时候,可以自动安装到相应目录
%defattr (-,root,root,0755)
/sbin/boa
/etc/mime.types
/etc/boa/boa.conf
/etc/init.d/webserver.sh
/usr/www/favicon.ico
/usr/www/cgi-bin/cgi-test.cgi
/usr/www/cgi-bin/cgictest.cgi
%changelog
执行过程
rpmbuild -bp:执行%prep
rpmbuild -bc:执行%build
rpmbuild -bi:执行%install
rpmbuild -ba:编译后做成rpm包和src.rpm包
rpmbuild -bs:仅制作src.rpm包
rpmbuild -bb:仅制作rpm包
一步到位
# rpmbuild -bb xxx.spec
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!