linux下使用checkinstall 制作zabbix的rpm包

目前,想要在所有的client端安装zabbix client,因为想要指定预定义的路径,通过zabbix资源制作rpm包,制作rpm包的方式有多种

一种是:rombuild的方式,主要是编写spec的文件

一种是:checkinstall 开源的

一种是:fpm,ruby写的,也是开源的

学习通过checkinstall 的方式,制作rpm包

1.下载安装

wget http://asic-linux.com.mx/~izto/checkinstall/files/source/checkinstall-1.6.2.tar.gz && tar fxz checkinstall-1.6.2.tar.gz && cd checkinstall-1.6.2 && make && make install 安装很简单 这样就OK了

安装完后 我们这么用呢 下面开始讲下这么用吧

咱们以前安装源码包的时候 都是 ./confugure 一堆参数 然后 make 最后make install 这样的流程

如果用checkinstall 这个工具后 安装一个软件后 不需要最后的make install 了 前2步搞完了 直接 用checkinstall 来搞就行

下面我正好用个 zabbix 我就用这个来搞一片吧

提前需要:yum install net-snmp net-snmp-devel

yum install libcurl-devel

cd zabbix-2.2.1

./configure –prefix=/usr/local/zabbix –enable-server –enable-agent –with-mysql –with-net-snmp –with-libcurl && make

好 先搞完这2步骤 然后用 checkinstall 工具

[[email protected] zabbix-2.2.1]# checkinstall

checkinstall 1.6.2, Copyright 2009 Felipe Eduardo Sanchez Diaz Duran

本软件以 GNU GPL 版权协议颁布

The checkinstallrc file was not found at:

/usr/local/sbin/../checkinstallrc

假定是缺省值。

The package documentation directory ./doc-pak does not exist.

Should I create a default set of package docs? [y]: y

准备软件包的文档……OK

请选择你想使用的打包方式。

Slackware [S], RPM [R] 还是 Debian [D]?R

请为这个软件包写一个描述。

用一个空行或 EOF 来结束你的描述。

>> this is a zabbix install file

>>

软件包将用下面的值来创建:

1 - Summary: [ this is a zabbix install file ]

2 - Name: [ zabbix ]

3 - Version: [ 2.2.1 ]

4 - Release: [ 1 ]

5 - License: [ GPL ]

6 - Group: [ Applications/System ]

7 - Architecture: [ x86_64 ]

8 - Source location: [ zabbix-2.2.1 ]

9 - Alternate source location: [ ]

10 - Requires: [ ]

11 - Provides: [ zabbix ]

输入一个数字来改变它们,或按回车键继续: (这里表示如果有需要去更改的地方

Installing with make install...
如遇到错误:

ERROR: ld.so: object ‘/usr/local/lib64/installwatch.so‘ from LD_PRELOAD cannot be preloaded: ignored.

make[1]: Entering directory `/tmp/checkinstall-1.6.2/zabbix-2.2.1/src‘

ERROR: ld.so: object ‘/usr/local/lib64/installwatch.so‘ from LD_PRELOAD cannot be preloaded: ignored.

ERROR: ld.so: object ‘/usr/local/lib64/installwatch.so‘ from LD_PRELOAD cannot be preloaded: ignored.

Making install in libs

解决办法:

echo "/usr/local/lib64" >/etc/ld.so.conf.d/installwatch.conf

ldconfig

ln -s /usr/local/lib/installwatch.so /usr/local/lib64/installwatch.so

如果正常的话,会有日志的输出:

Making install in libs

make[2]: Entering directory `/tmp/checkinstall-1.6.2/zabbix-2.2.1/src/libs‘

Making install in zbxcrypto

make[3]: Entering directory `/tmp/checkinstall-1.6.2/zabbix-2.2.1/src/libs/zbxcrypto‘

make[4]: Entering directory `/tmp/checkinstall-1.6.2/zabbix-2.2.1/src/libs/zbxcrypto‘

make[4]: Nothing to be done for `install-exec-am‘.

make[4]: Nothing to be done for `install-data-am‘.

make[4]: Leaving directory `/tmp/checkinstall-1.6.2/zabbix-2.2.1/src/libs/zbxcrypto‘

make[3]: Leaving directory `/tmp/checkinstall-1.6.2/zabbix-2.2.1/src/libs/zbxcrypto‘

Making install in zbxcommon

make[3]: Entering directory `/tmp/checkinstall-1.6.2/zabbix-2.2.1/src/libs/zbxcommon‘

make[4]: Entering directory `/tmp/checkinstall-1.6.2/zabbix-2.2.1/src/libs/zbxcommon‘

make[4]: Nothing to be done for `install-exec-am‘.

make[4]: Nothing to be done for `install-data-am‘.

=============================== 安装成功 =================================

Copying documentation directory...

./

./NEWS

./INSTALL

./AUTHORS

./COPYING

./README

./ChangeLog

把文件拷贝到临时目录……OK

Done. The new package has been saved to

/usr/src/redhat/RPMS/x86_64/zabbix-2.2.1-1.x86_64.rpm

You can install it in your system anytime using:

rpm -i zabbix-2.2.1-1.x86_64.rpm

之后,到 /usr/src/redhat/RPMS/x86_64/路径下,将生产的包scp到client端下,执行rpm进行安装

scp zabbix-2.2.1-1.x86_64.rpm [email protected]:/tmp

client 端的安装:

[[email protected] tmp]# rpm -ivh zabbix-2.2.1-1.x86_64.rpm

Preparing... ########################################### [100%]

1:zabbix ########################################### [100%]

安装路径下的内容

/usr/local/zabbix

[[email protected] zabbix]# ls

bin etc sbin share

OK,这样的制作方式就OK了

linux下使用checkinstall 制作zabbix的rpm包

时间: 2024-09-30 06:52:00

linux下使用checkinstall 制作zabbix的rpm包的相关文章

Linux下的两种服务:RPM包默认安装的服务和源码包安装的服务

有些软件安装到电脑上后就会有一个或多个服务出现在系统服务管理里面,比如Apache,VMware软件等就会出现在计算机服务里面,可以随系统的启动而启动,当然也可以设置不启动,等要用了的时候再去启动,(可以在运行里面输入services.msc直接打开服务列表),但是有些软件安装到电脑后不会有什么服务生成,比如我们的聊天工具QQ. Linux下有两种服务,一种是RPM包默认安装的服务,一种是源码包安装的服务. RPM默认安装的服务在/etc/rc.d/init.d/文件下,执行service sm

ubuntu上利用checkinstall制作deb或rpm包

1.安装checkinstall sudo apt-get install checkinstall 2.编译源码 通常的源码编译需要经过configure或cmake,之后再通过make编译. configure or cmake make 3.打包 make后执行 sudo checkinstall 随后跟随系统提示操作: 第一步,是否生成文档,选"yes" The package documentation directory ./doc-pak does not exist.

linux下yum安装jdk1.8(rpm包)和tomcat-8.5.11

Java是目前可移植性较高的语言,相当火热,tomcat运行就需要Java语言环境 ========= 完美的分割线 ========= 0.java简介 1)tomcat运行需要对应的Java环境,Java环境通过安装jdk来获得 2)为了防止兼容性问题,tomcat和Java的版本最好对应, 一般java-1.8对应tomcat8,java-1.7对应tomcat7,且高版本java可以支持低版本tomcat 3)Java安装包的命名方式: jdk-8uxxx一般称为jdk1.8对应的是ja

linux下交叉编译器制作

目前我用的交叉编译器是TQ2440配套光盘中制作好了的,解压后需要如下配置: 1.对于Fedora系统:修改/etc/profile文件,在其中添加交叉编译器的环境变量的设置. 对于Ubuntu系统,修改/etc/enviroment文件 2.我用的是Fedora系统,修改PATH值,在其后添加上交叉编译器的路径,添加pathmunge /opt/EmbedSky/4.3.3/bin 对于Ubuntu系统,修改PATH="/usr/local/sbin:/usr/local/bin:/usr/s

linux 下动态链接库的制作与使用

linux 下动态链接库的制作与使用 linux 下动态链接库的制作与使用动态链接库*.so的编译与使用- -动态库*.so在linux下用c和c++编程时经常会碰到,最近在网站找了几篇文章介绍动态库的编译和链接,总算搞懂了这个之前一直不太了解得东东,这里做个笔记,也为其它正为动态库链接库而苦恼的兄弟们提供一点帮助.1.动态库的编译下面通过一个例子来介绍如何生成一个动态库.这里有一个头文件:so_test.h,三个.c文件:test_a.c.test_b.c.test_c.c,我们将这几个文件编

Python学习第六天----Linux内存管理、进程管理、RPM包安装管理及源码安装软件

Linux内存管理.进程管理.RPM包安装管理及源码安装软件 一.交换分区     交换分区其实就相当于Windows系统下的虚拟内存的概念,当物理内存不够用的时候,由操作系统将硬盘的一块区域划分出来作为内存使用.具体使用方法如下:      [[email protected] ~]# fdisk -l 磁盘 /dev/sdb:16.1 GB, 16106127360 字节,31457280 个扇区 Units = 扇区 of 1 * 512 = 512 bytes 扇区大小(逻辑/物理):5

【java】 linux下利用nohup后台运行jar文件包程序

Linux 运行jar包命令如下: 方式一: java -jar XXX.jar 特点:当前ssh窗口被锁定,可按CTRL + C打断程序运行,或直接关闭窗口,程序退出 那如何让窗口不锁定? 方式二 java -jar XXX.jar & &代表在后台运行. 特定:当前ssh窗口不被锁定,但是当窗口关闭时,程序中止运行. 继续改进,如何让窗口关闭时,程序仍然运行? 方式三 nohup java -jar XXX.jar & nohup 意思是不挂断运行命令,当账户退出或终端关闭时,

FPM打包工具制作Tengine为RPM包详解

目录 1.Tengine编译安装 2.FPM制作Tengine为RPM包 3.总结 1.Tengine编译安装 [[email protected] ~]# cat /etc/issue CentOS release 6.4 (Final) Kernel \r on an \m [[email protected] ~]# uname -r 2.6.32-358.el6.x86_64 请确保系统安装了"Development tools"和"Server Platform D

利用checkinstall制作deb或rpm工具包

1. 概述 有时候我们向用户提供软件时,并不希望提供源码(虽然这挺狗的...),而是只希望提供一些可执行文件.小程序还好说,可以轻易地提取有用的信息出来. 但对于一些比较庞大的程序,尤其是需要配置文件,并且需要内核的支持等条件的时候,就会因为程序内部各个文件与程序的复杂性,在搞清其中关系上花上不少的时间了. 这样就需要一个办法将其中的可执行文件提取出来并且能够保证其能够正常执行,当然,你可以将你编译源代码的目录中的代码都删掉,只留下中间产物和可执行文件,是可以的.但这里我们讨论的是如何通过制作d