CentOS系统制作RPM包
打包编译好的命令,即可直接安装使用
#使用yum可解决依赖问题
[root@localhost ~]# yum -y localinstall *.rpm
一、使用fpm工具直接打包。
Fpm安装
fpm是ruby写的,系统环境需要ruby,且ruby版本大于1.8.5
[root@localhost ~]# yum -y install ruby rubygems ruby-devel
查看当前rubygem仓库
[root@localhost ~]# gem sources list
安装fpm,gem从rubygem仓库安装软件类似于yum安装。
#CentOS 6 安装方式
[root@localhost ~]# gem install json -v 1.8.3
[root@localhost ~]# gem install fpm -v 1.3.3
#CentOS 7 安装方式
[root@localhost ~]# gem install fpm
fpm常见参数,详情查看man帮助。
-s 指定源类型
-t 指定目标类型,就是你想要制作什么包
-n 指定包的名字
-v 指定包的版本号
-C 指定打包的相对路径
-d 指定依赖于哪些包
打包实例
#把编译好的文件按绝对路径创建相应的目录,并移动到位,如htop命令的目录结构如下
./htop/
└── usr
├── local
│ └── bin
│ └── htop
└── share
├── applications
│ └── htop.desktop
├── man
│ └── man1
│ └── htop.1
└── pixmaps
└── htop.png
#切换目录
[root@localhost ~]# cd htop
#执行fpm打包命令
[root@localhost htop]# fpm -s dir -t rpm -n htop -v 2.2.0 ./usr/
Created package {:path=>"htop-2.2.0-1.x86_64.rpm"}
此时会在当前目录下生成rpm包
[root@localhost htop]# ls
htop-2.2.0-1.x86_64.rpm usr
使用rpm命令在另一台服务器上安装该软件包
[root@localhost ~]# rpm -vhi htop-2.2.0-1.x86_64.rpm
Preparing... ################################# [100%]
Updating / installing...
1:htop-2.2.0-1 ################################# [100%]
二、使用rpmbuild工具制作
安装工具
[root@localhost ~]# yum install rpmdevtools
执行如下rpmdev-setuptree生成rpmbuild的工作目录
[root@localhost ~]# rpmdev-setuptree
查看工作目录
[root@localhost ~]# tree rpmbuild/
rpmbuild/
├── BUILD #打包过程中的工作目录
├── RPMS #存放生成的二进制包
├── SOURCES #放置打包资源,包括源码打包文件和补丁文件等
├── SPECS #放置SPEC文档
└── SRPMS #存放生成的源码包
切换目录
[root@localhost ~]# cd ~/rpmbuild/SPECS/
会自动生成模板,修改即可
[root@localhost SPECS]# vim myrpm.spec
模板文件创建后续更新。
执行打包命令
[root@localhost ~]# rpmbuild -bb htop2.2.0.spec
CentOS系统制作RPM包的更多相关文章
- 烂泥:Linux源码包制作RPM包之Apache
本文由秀依林枫提供友情赞助,首发于烂泥行天下 公司服务器比较多,需要把apache源码包制作成rpm包,然后放到公司内网yum源上进行下载安装.apache的rpm包安装方式比源码安装方式比较快,这能 ...
- 手动制作rpm包
制作RPM包的过程,简单的说,就是为制作过程提供一个“工作车间”,即一个目录,里面需要包含以下几个子目录: BUILD ————编译相关源码包时的工作目录: RPMS — ...
- 速成制作rpm包
FPM 由于很多软件在安装时需要编译,这会浪费不少的时间,为了提升部署效率,于是就想到制作rpm包.通常rpm包的制作是使用rpmbuild命令来制作,但是你需要知道它的语法,比较繁琐.这就用到了FP ...
- 利用fpm制作rpm包
使用fpm制作rpm包 安装如下 [root@web01 ~]# yum install -y gcc zlib zlib-devel wget http://ruby.taobao.org/mirr ...
- fpm制作rpm包
一.前言 在企业中我们有事安装软件包.部分都是源码安装,如nginx安装路径都已经固化了,但实际业务中,我们都是把软件包安装到固定目录下,不满足需要,这是其一.其二,编译安装很耗时,比如mysql,特 ...
- linux制作RPM包
制作rpm包 1.制作流程1.1 前期工作 1)创建打包用的目录rpmbuild/{BUILD,SPECS,RPMS, SOURCES,SRPMS} 建议使用普通用户,在用户家目录中创建 2)确定好制 ...
- 制作RPM包
RPM包制作过程 1.1 前期工作 1)创建打包用的目录rpmbuild/{BUILD,SPECS,RPMS, SOURCES,SRPMS} 建议使用普通用户,在用户家目录中创建 2)确定好制作的对象 ...
- CentOS 中卸载 RPM 包文件
CentOS 中卸载 RPM 包文件 一.原由 因为之前卸载 openvas 这个工具,使用了 find / -name "openvas"-exec rm -rf {} \ ; ...
- 一步步制作RPM包
一步步制作RPM包 来源 http://blog.51cto.com/laoguang/1103628 一.RPM制作步骤 我们在企业中有的软件基本都是编译的,我们每次安装都得编译,那怎么办呢?那就根 ...
随机推荐
- 基于nodejs的一个实时markdown转html工具小程序
1.版本一 - 1.1`npm install marked --save` 安装markdwon转html的包.- 1.2 使用watchFile监视 markdown文件 /** * Create ...
- python学习笔记:python操作redis
Redis 是一个高性能的key-value数据库.它支持存储的value类型包括string(字符串).list(链表).set(集合).zset(sorted set --有序集合)和hash(哈 ...
- POI教程
很多时候,一个软件应用程序需要生成Microsoft Excel文件格式的报告.有时,一个应用程序甚至希望将Excel文件作为输入数据.例如,一个公司开发的应用程序将财务部门需要所有输出生成自己的Ex ...
- Linux 2.6.x fs/pipe.c local kernel root(kit?) exploit (x86)
/****************************************************************************** * .:: Impel Down ::. ...
- Window/Linux + Vim + MingW 配置
Windows: 首先安装Vim , MinGW,假设安装目录为D:\MinGW. 配置环境变量: LIBRARY_PATH=D:\MinGW\lib C_INCLUDE_PATH=D:\MinGW\ ...
- spring基于注解的事务控制
pom配置: <?xml version="1.0" encoding="UTF-8"?> <project xmlns="http ...
- python wave 库 读取 BytesIO 对象的注意事项
程序中遇到需要使用临时文件时,常使用内存中的 io.BytesIO() 代替实体二进制文件,以避免磁盘IO,同时免去了考虑文件名的麻烦. file = io.BytesIO() file.write( ...
- nodejs 进阶:图片缩小
demo 效果: 代码: /** * Created by ZXW on 2017/10/30. */ var fs = require('fs'); var gm = require('gm'); ...
- springCloud数据
DROP DATABASE IF EXISTS springcloud_db01;CREATE DATABASE springcloud_db01 CHARACTER SET utf8;USE spr ...
- 【Flutter学习】基本组件之基本按钮组件
一,概述 由于Flutter是跨平台的,所以有适用于Android和iOS的两种风格的组件.一套是Google极力推崇的Material,一套是iOS的Cupertino风格的组件.无论哪种风格,都是 ...