checkinstall - 从源码制作rpm包

checkinstall诞生的背景

对于一些程序只有源码包,没有提供标准的二进制包(rpm或deb等),以后要卸载的时候,你只能记下所有由程序生成或修改的文件,最好手工删除它。checkinstall会跟踪install命令所创建或修改的所有文件的路径,并建立一个 Slackware-,Debian- 或RPM- 安装包,然后你可以用centos的yum或ubuntu的apt-get来卸载它了。

checkinstall安装

checkinstall rpm下载地址:

ftp://ftp.pbone.net/mirror/ftp5.gwdg.de/pub/opensuse/repositories/home:/sawaa/CentOS_CentOS-6/x86_64/checkinstall-1.6.2-3.el6.1.x86_64.rpm

默认的centos源里面没有,epel源也没有。

从fio源码制作rpm包

[[email protected] ~]# ll fio-2.1.10 -d       # 下载fio源码包,并解压
drwxrwxr-x 12 root root 4096 Oct 29 21:10 fio-2.1.10

传统的源码安装方式:./configure && make && make install

使用checkinstall的安装方式:./configure && make && checkinstall

checkinstall默认会运行make install,如果你的安装命令是setup.sh,这时候安装命令就要变成这样了:./configure && make && checkinstall setup.sh

[[email protected] ~]# cd fio-2.1.10
[[email protected] fio-2.1.10]# ./configure && make && checkinstall
Should I create a default set of package docs?  [y]:      # 按回车即可
Please write a description for the package.               # 输入对这个包的描述
End your description with an empty line or EOF.
>> 
This package will be built according to these values: 
1 -  Summary: [ Package created with checkinstall 1.6.2 ]
2 -  Name:    [ fio ]
3 -  Version: [ 2.1.10 ]
4 -  Release: [ 1 ]
5 -  License: [ GPL ]
6 -  Group:   [ Applications/System ]
7 -  Architecture: [ x86_64 ]
8 -  Source location: [ fio-2.1.10 ]
9 -  Alternate source location: [  ]
10 - Requires: [  ]
11 - Provides: [ fio ]
Enter a number to change any of them or press ENTER to continue:         # 回车继续
# 就这样fio的rpm有了,默认生成在/root/rpmbuild/RPMS/x86_64目录下,如果你的ubuntu,就会生成deb包,根据你平台来的
Done. The new package has been installed and saved to
 /root/rpmbuild/RPMS/x86_64/fio-2.1.10-1.x86_64.rpm
 You can remove it from your system anytime using: 
      rpm -e fio-2.1.10-1

checkinstall常用选项

--pakdir=<directory>      # 生成的rpm包存放目录

--pkgname=<name>          # 生成的rpm包名

--pkgversion=<version>    # 生成的rpm版本

参考链接

http://www.ibm.com/developerworks/cn/linux/l-cn-checkinstall/

时间: 2024-07-30 17:54:53

checkinstall - 从源码制作rpm包的相关文章

制作rpm包

生产环境配置一样,每次都需要重新编译软件包,太费时间了,制作成rpm包,搞好依赖,瞬间搞定 这里使用rpmbuild来制作rpm包 rpmbuild默认工作路径由%_topdir的宏变量来定义,这个变量在/usr/lib/rpm/macros里的定义.也可使用rpmbuild命令查 rpmbuild --showrc |grep _topdir 结果如下: -14: _builddir %{_topdir}/BUILD-14: _buildrootdir %{_topdir}/BUILDROOT

通过nginx源码包制作rpm包

目录 目录... 1 版权声明:... 2 文档信息:... 2 一.通过nginx源码包制作rpm包... 2 1.制作前环境准备:... 3 2.创建普通用户... 3 二.编写spec规则... 3 1.在模板里添加规则... 3 2.关于保存*.spec报错的解决... 4 2.1解决办法:... 5 2.2使用rpmbuild命令生成 rpm包... 5 三.在其他主机测试rpm包... 5 1. 需要按照依赖包... 5 2. 上传并安装nginxRPM包... 5 3. 查看端口开

烂泥:Linux源码包制作RPM包之Apache

本文首发于烂泥行天下 公司服务器比较多,需要把apache源码包制作成rpm包,然后放到公司内网yum源上进行下载安装.apache的rpm包安装方式比源码安装方式比较快,这能节约不少的时间. 有关内网yum源的搭建,可以参考<烂泥:yum的使用及配置>这篇文章. 一.安装rpm-build 查阅相关资料得知,要把源码包制作成rpm包需要使用rpm打包工具rpm-build. rpm-build通过rpmbuild命令根据本地源码包,通过spec文件中的规则就可以把源码包制作成rpm包. 现在

利用src.rpm包修改源码后重新制作rpm包

1. 下载 .src.rpm包.例:https://repos.fedorapeople.org/repos/openstack/EOL/openstack-grizzly/epel-6/openstack-quantum-2013.1.4-4.el6.src.rpm 2. 使用" rpm -ivh "解压源码包.例:rpm -ivh openstack-quantum-2013.1.4-4.el6.src.rpm  (--root=xxx 指定路径)解压的结果放在 /root/rpm

使用源码文件简单制作RPM包

实验环境: 实验的系统:Centos7.2_x86.64 源码包文件1:fastdfs-master 源码包文件2:libfastcommon-master 去github作者的站点克隆上面两个源码包文件 git clone https://github.com/happyfish100/fastdfs.git git clone https://github.com/happyfish100/libfastcommon.git 查看源码文件版本并修改文件名 -libfastcommon-mas

手动制作rpm包

制作RPM包的过程,简单的说,就是为制作过程提供一个“工作车间”,即一个目录,里面需要包含以下几个子目录: BUILD        ————编译相关源码包时的工作目录: RPMS         ————生成的二进制格式的RPM包存放的位置: SOURCES ————程序的源码文件及其其他辅助文件的存放位置: SPCES        ————spec文件的存放位置: SRPMS      ————生成的SRC格式的RPM包存放位置: 如果用户目录主目录下没有类似目录结构,可以通过一个工具软件

轻松使用Fpm封装制作Rpm包 --Linux

关于FPM的介绍 https://docs.google.com/present/view?id=0Aa9liCTsAyzRZGNtd3dkOTRfMTdmczY2azlkcg&hl=en FPM功能简单说就是将一种类型的包转换成另一种类型. 支持的源类型包:"dir":将目录打包成所需要的类型,可以用于源码编译安装的软件包 "rpm":对rpm进行转换 "gem":对rubygem包进行转换 "python":将py

速成制作rpm包

FPM 由于很多软件在安装时需要编译,这会浪费不少的时间,为了提升部署效率,于是就想到制作rpm包.通常rpm包的制作是使用rpmbuild命令来制作,但是你需要知道它的语法,比较繁琐.这就用到了FPM.FPM功能简单说就是将一种类型的包转换成另一种类型.FPM是Ruby模块,其实打包时也是调用rpmbuild命令. 支持的源类型包: dir 将目录打包成所需要的类型,可以用于源码编译安装的软件包 rpm 对rpm进行转换 gem 对rubygem包进行转换 python 将python模块打包

制作rpm包步骤

由于项目需要,需要自行制作rpm包.比较全面的可以参考如下链接: http://blog.chinaunix.net/uid-23069658-id-3944462.html 大致框架如下: 1,安装rpmdevtools sudo yum install rpmdevtools? 2,生成rpm制作过程中需要的几个目录,了解一下几个目录的含义,如源码位置,rpm包位置 rpmdev-setuptree? 3,主要的工作是spec文件的编写,如下命令生成spec文件的模板,可以百度一下各个参数的