rpm安装包制作

113 篇文章 0 订阅

RPM是RPM Package Manager(RPM软件包管理器)

1. 安装制作工具

# yum install rpm-build

2. 目录结构
/root/rpmbuild/SOURCES — 存放源代码,补丁,图标等文件
/root/rpmbuild/SPECS — 存放用于管理rpm制作进程的spec文件
/root/rpmbuild/BUILD — 解压后的文件存放在这里
/root/rpmbuild/RPMS — 存放由rpmbuild制作好的二进制包
/root/rpmbuild/SRPMS —存放由rpmbuild制作好的源码包

3. 以rp-pppoe为例
下载rp-pppoe-3.10.tar.gz

# tar xvf rp-pppoe-3.10.tar.gz
# cp rp-pppoe-3.10.tar.gz /root/rpmbuild/SOURCES/
# cp rp-pppoe.spec /root/rpmbuild/SOURCES/

4. spec解释
Summary:简单描述软件
Name:定义rpm的名称
Version:定义软件版本
Release:发行版本
License:定义许可证
Group:软件分类
Source:源码下载地址
URL:源码相关网站
Distribution:发行版系列
Packager:打包人的信息
%description:软件详细描述,可多行
%prep:软件编译之前的处理,如解压
%build:开始编译软件,如make
%install:开始安装软件,如make install
%files:指定哪些文件需要被打包,如/usr/local/nginx
%preun:定义卸载之前的动作,如杀掉进程

5. 制作

# rpmbuild -bb rp-pppoe.spec
# rpmbuild -ba rp-pppoe.spec
# ls RPMS/x86_64/rp-pppoe-
rp-pppoe-3.10-1.x86_64.rpm            rp-pppoe-gui-3.10-1.x86_64.rpm
rp-pppoe-debuginfo-3.10-1.x86_64.rpm  

6. 常见错误
如果出错:
RPM build errors:
Installed (but unpackaged) file(s) found:

解决办法:
将/usr/lib/rpm/macros 中
%__check_files /usr/lib/rpm/check-files %{buildroot} 注释掉

如果出错:
error: Failed build dependencies:

解决办法:
将spec文件中BuildRequires去掉

7. rpmbuild 中文手册
http://www.jinbuguo.com/redhat/rpmbuild.html

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值