rpmbuild打包基本用法

一、安装配置
[root@pc4 ~]# mkdir -pv rpmbuild/{BUILD,RPMS,SOURCES,SPECS,SRPMS}
[root@pc4 ~]# echo “% _topdir /root/rpmbuild” > ~/.rpmmacros
[root@pc4 ~]# rpmbuild --showrc|grep _topdir #查看 _topdir 配置

二、编辑SPEC脚本
脚本具体内容及注释如下:
Spec内容 注释
Name:test 软件包的名字
Version:1.0 软件版本号
Release:7 发布序号
Summary:this is a test rpm 软件包的摘要信息
Group:TEST 软件包的安装分类,参见/usr/share/doc/rpm-4.x.x/GROUPS这个文件
License:GPL 软件的授权方式
URL:www.test.com 软件的相关网址
BuildRoot: %{_topdir}/BUILD_ROOT “虚拟”根目录
Requires: 安装此rpm包时依赖的软件包,多个依赖包以逗号分隔,可以指定版本(此项不需要就不加)
%description 软件包的详细说明信息,但最多只能有80个英文字符。
%prep 将%_sourcedir目录下的源代码解压到%_builddir目录下。如果有补丁的需要在这个阶段进行打补丁的操作
%build 在%_builddir目录下执行源码包的编译。一般是执行./configure和make指令
%install 将需要打包到rpm软件包里的文件从%_builddir下拷贝%_buildrootdir目录下。当用户最终用rpm -ivh name-version.rpm安装软件包时,这些文件会安装到用户系统中相应的目录里
mkdir -p $RPM_BUILD_ROOT/home/oracle 的
cp -r %{_builddir}/test $RPM_BUILD_ROOT/home/oracle

%clean 编译后的清理工作,这里可以执行make clean以及清空%_buildroot目录等
rm -rf %{buildroot}/*
%files 将%{buildroot}目录下的哪些文件和目录最终打包到rpm包里。
%defattr(-,oracle,oinstall,-) %defattr(文件权限,用户名,组名,目录权限)
/home/oracle/test 该目录赋予对应权限
/home/oracle/test/b.txt
/home/oracle/test/c.txt
%config /home/oracle/test/test.sh config配置文件
%config(noreplace) /home/oracle/test/a.txt config(noreplace)配置文件
%exclude /home/oracle/test/c.txt exclude文件,即排除的文件。
%doc

%postun 卸载软件之后要做的事情
if [ “$1” = “0” ];then
rm -rf /home/oracle/test
fi
%changelog 打包修改日志记录

config及相关配置说明
config配置类型 新rpm包文件是否修改 本地文件是否修改 更新结果
没有配置 是/否 是/否 旧文件被替换
%config 是 否 旧文件被替换
是 是 旧文件备份为xx.rpmsave
否 否 旧文件被替换
否 是 旧文件保持不变
%config(noreplace) 是 否 旧文件被替换
是 是 新文件备份为xx.rpmnew
否 否 旧文件被替换
否 是 旧文件保持不变

三、打包
[root@pc4 rpmbuild]# rpmbuild -bb SPECS/test.spec
rpmbuild常用参数:
-bb 只编译二进制rpm包
-bs 只编译源码rpm包
-ba 同时编译二进制和源码rpm包

四、安装
[root@pc4 rpmbuild]# rpm -ivh RPMS/i386/test-1.0-7.i386.rpm

五、卸载
[root@pc4 oracle]# rpm -e test
[root@pc4 oracle]# rpm -e --noscripts test #卸载脚本报错时,强制卸载

六、更新
[root@pc4 rpmbuild]# rpm -Uvh RPMS/i386/test-1.0-8.i386.rpm

  • 3
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值