RPM打包
yum -y install rpm-build
生成rpmbuild目录结构
rpmbuild -ba nginx.spec //报错后会自动在家目录root下创建一个子目录
ls /root/rpmbuild //自动生成的目录结构
BUILD BUILDROOT RPMS SOURCES SPECS SRPMS
RPMS RPM包的存放位置
SOURCES 原码包位置,允许有多个原码包
SPECS 定义参数
SRPMS 原码包及spec文件(相当于把SOURCE下和SPECS下的文件打包)
将源码软件复制到SOURCES目录
cp nginx-1.12.2.tar.gz /root/rpmbuild/SOURCES/
创建并修改SPEC配置文件
vim /root/rpmbuild/SPECS/nginx.spec
Name:nginx // 和真实信息一致
Version:1.12.2 // 源码包版本 与真实信息一致
Release: 10 // 第几次打rpm包
Summary: Nginx is a web server software. // 描述信息,支持中文
#Group: // 可以为空,也可以属于哪个组包
License:GPL // gpl开源协议,允许复制,修改,再发布
URL: www.test.com // 网址
Source0:nginx-1.12.2.tar.gz // 源码包名 和真实信息一样
#BuildRequires: // 依赖包
#Requires: // 依赖包
%description // 详细描述
nginx [engine x] is an HTTP and reverse proxy server.
%post // 安装后脚本,整个rpm安装完了执行这个脚本
#useradd nginx // 非必需操作:安装后脚本(创建账户)
useradd dc // 只要用户安装软件,就会创建一个用户dc,验证见下边
%prep
%setup –q // 这是个脚本,自动解压源码包,上边Source0写的谁,就解压谁,并cd进入目录
%build // 指定安装需要参数
./configure
make %{?_smp_mflags}
%install
make install DESTDIR=%{buildroot}
cp /root/rpmbuild/SPECS/nginx.sh %{buildroot}/usr/local/nginx/
##注意,cp非必须操作,注意,这里是将一个脚本拷贝到安装目录,必须提前准备该文件
%files // 对哪些文件压缩 写在下方
%doc // 对哪些文件与目录打包 写在下方
/usr/local/nginx/*
%changelog
使用配置文件创建RPM包
1)安装依赖软件包
yum -y install gcc pcre-devel zlib-devel openssl-devel
2)rpmbuild创建RPM软件包
rpmbuild -ba /root/rpmbuild/SPECS/nginx.spec // 执行配置文件内容
cd /root/rpmbuild/RPMS/ x86_64
ls
nginx-1.12.2-1.x86_64.rpm nginx-debuginfo-1.12.2-1.x86_64.rpm
// 有两个文件,第一个文件即nginx软件,第二个软件是排错用的
rpm -qpi RPMS/x86_64/nginx-1.12.2-10.x86_64.rpm // 列出软件信息
rpm -qpl RPMS/x86_64/nginx-1.12.2-10.x86_64.rpm // 列出软件信息
-i:显示套件的相关信息;
-l:显示套件的文件列表;
-p:查询指定的RPM套件档;
-q:使用询问模式,当遇到任何问题时,rpm指令会先询问用户
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具