rpm安装包制作
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
rpm安装包制作的更多相关文章
- rpm 安装包制作
rpm 安装包制作 思路 参照系统自带 etcd 解压->替换掉执行文件->打包 1 预备安装工具 下载工具 yumloader #yum install -y yum-utils 解压工 ...
- 使用Setup Factory安装包制作工具制作安装包
在我们开发完软件后,除了极个别案例我们把整个目录复制给客户用外,我们一般都需要做成安装包,方便整个软件的部署操作,以安装包的部署操作可能简单的是复制文件,也可能包括一些注册表.数据库等额外的操作,不过 ...
- 基于InstallShield2013LimitedEdition的安装包制作
在VS2012之前,我们做安装包一般都是使用VS自带的安装包制作工具来创建安装包的,VS2012.VS2013以后,微软把这个去掉,集成使用了InstallShield进行安装包的制作了,虽然思路差不 ...
- vs2017 rc 离线安装包制作
vs2017 rc 离线安装包制作 1.下载在线安装包:https://aka.ms/vs/15/release/vs_Enterprise.exe 2.制作离线安装包: vs_Enterprise. ...
- Mac OS平台下应用程序安装包制作工具Packages的使用介绍
一.介绍 Windows下面开发好的应用程序要进行分发时有很多打包工具可供选择,如Inno Setup, InstallShield, NSIS, Advanced Installer, Qt Ins ...
- 安装包制作工具 SetupFactory使用1 详解
2014-11-19 Setup Factory 是一个强大的安装程序制作工具.提供了安装制作向导界面,即使你对安装制作不了解,也可以生成专业性质的安装程序.可建立快捷方式,也可直接在 Windows ...
- linux rpm问题:怎样查看rpm安装包的安装路径
x rpm问题:怎样查看rpm安装包的安装路径 2010-07-12 21:19:15 标签:rpm linux 路径 休闲 职场 rpm -qpl xxxxxx.rpm 1.如何安装rpm软件包 ...
- Windows安装包制作指南——Advanced Installer的使用
1. 前言 最近需要制作windows的安装包,据说Advanced Installer比较强大,遂拿它来制作安装包.在网上少量资料以及官网简约文档中摸索前进,总算是制作出可用的安装包,在此记录,仅供 ...
- WinFrom 安装包制作
1.添加安装向导项目打开文件系统界面,选择应用程序文件夹.在右侧右击->添加->文件,把程序需要的文件都添加进来. 2.右击程序集->创建快捷方式.右击快捷方式->属性窗口-& ...
随机推荐
- 基于 Docker 的 MySQL 主从复制搭建
出处:https://www.jianshu.com/p/ab20e835a73f
- Maven 中 dependencyManagement 元素,知识点
Maven 提供的 dependencyManagement 元素既能让子模块继承到父模块的依赖配置,又能保证子模块依赖使用的灵活性.在 dependencyManagement 元素下的依赖声明不会 ...
- [LeetCode] 4. Median of Two Sorted Arrays 两个有序数组的中位数
There are two sorted arrays nums1 and nums2 of size m and n respectively. Find the median of the two ...
- 第01组 Beta冲刺(5/5)
队名:007 组长博客: https://www.cnblogs.com/Linrrui/p/12031875.html 作业博客: https://edu.cnblogs.com/campus/fz ...
- 认识map-reduce
基本概念 map-reduce1.0 例子: hadoop streaming 用语言驱动map-reduce的话,使用的hadoop streaming命令,可以通过python,php,java来 ...
- EasyPoi导出问题
导出代码如下:Workbook workbook = ExcelExportUtil.exportExcel(new ExportParams(), PriceExcelModel.class, pr ...
- sql实现excel中模糊替换
今天遇到项目上需要修改数据库中部分字段 如果一个一个替换的话工作量实在太大,于是找一个办法 update 表名 set 字段名=replace(字段名,'aaaa','cccc') + whereaa ...
- Qt Quick 常用元素:Textinput 与 TextEdit 文本编辑框
一.Textinput Textinput 用于编辑一行文本,类似于 QLineEdit. font 分组属性允许你设置 Textlnput 元素所用字体的各种属性,包括字体族(family).大 小 ...
- navicat for Mysql查询数据不能直接修改
navicat for Mysql查询数据不能直接修改 原来的sql语句: <pre> select id,name,title from table where id = 5;</ ...
- CopyOnWriteArraySet 源码分析
CopyOnWriteArraySet 源码分析: 1:数据结构: private final CopyOnWriteArrayList<E> al; 内部维护的是一个CopyOnWri ...