您的位置:首页 > 产品设计 > 产品经理

rpm安装包制作

2015-09-09 19:15 357 查看
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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: