一、rpm 包制作过程
1、安装工具

# 编译工具
yum install -y gcc make

# rpm 包工作目录生成工具
yum install -y rpmdevtools

# rpm 包构建工具
yum install -y rpm-build

2、创建工作目录
2.1、手动创建

mkdir -p ~/rpmbuild/{BUILD,BUILDROOT,RPMS,SOURCES,SPECS,SRPMS}

2.2、rpmdevtools 构建创建
此命令会生成一个 rpmbuild 的目录,这个目录就是制作 rpm 包的环境,需要注意的是:此命令只有在/root下执行生效,且已有rpmbuild目录时不重新创建。

cd /root/
rpmdev-setuptree

然后执行命令查看
cd rpmbuild && ls
可看到BUILD RPMS SOURCES SPECS SRPMS文件
image.png
各个目录的一般用途如下简介:
1.BUILD 编译rpm包的临时目录
2.BUILDROOT 编译后生成的软件临时安装目录
3.RPMS 最终生成的可安装rpm包的所在目录
4.SOURCES 所有源代码和补丁文件的存放目录
5.SPECS 存放SPEC文件的目录(重要)
6.SRPMS 软件最终的rpm源码格式存放路径

3、制作rpm包前准备
3.1、拷贝源码包或源码至SOURCES目录并编译源码二进制文件、启动命令
3.2、书写编译脚本

Name:       pty-xinjiang
Version:    1.0.0
Release:    1%{?dist}
Summary:    pty-xinjiang
License:    GPLv3+
BuildArch:  noarch

%description
pty xinjiang server

%define __jar_repack %{nil}
%define _binaries_in_noarch_packages_terminate_build   0

%prep

%build

%install
pty_dir=%{buildroot}/opt/cw/pty
rm -rf %{buildroot}
mkdir -p  ${pty_dir}
cp -r /home/rpm/pty/files/* ${pty_dir}/
%files
%defattr(-,root,root)
/opt/cw/pty
%preun
rm -rf /opt/cw/pty
%postun
%changelog

注:

1.pty-xinjiang为服务名称
2./opt/cw/pty 安装路径,建议找个磁盘大一点的
3.名称格式为xxx.spec

cp -r /home/rpm/pty/files/* ${pty_dir}/
用于将 /home/rpm/pty/files/ 目录中的所有文件和目录复制到 ${pty_dir} 目录中
正常cp -r /root/rpmbuild/SOURCES/* ${pty_dir}/
将spec 脚本拷贝至SPECS目录下

4、制作包
使用此命令制作包
rpmbuild -bb SPECS/xxx.spec
image.png

成功会再RPMS里,如图
246ce6bda639b57fa0250df7385144a5.png

5、安装验证
rpm -ivh xxx.rpm
image.png

6、安装完成验证
可以再脚本中配置的路径下找到安装的包
image.png
然后正常启动

7、卸载
rpm -e 包名
包名 是要卸载的 RPM 包的名称。请注意,这里使用的是包的名称
比如:rpm -e pty-adapter-1.0.0-1.el7.noarch

二、rpmbuild 常见命令
-bp 文件中安装执行前的地方
-bc 执行spec的%pre和%build 段(准备并编译)
-bi 执行spec中%pre,%build与%install(准备,编译并安装)
-bl 检查spec中的%file段(查看文件是否齐全)
-ba 建立源码与二进制包(常用)
-bb 只建立二进制包(常用)
-bs 只建立源码包


纯洁的麦兜
18 声望4 粉丝

学习使人进步