zookeeper 打包rpm和tar.gz

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了zookeeper 打包rpm和tar.gz相关的知识,希望对你有一定的参考价值。

参考技术A

zookeeper 3.4.6 使用的是ant,后边儿改用maven了
所以需要先安装ant:参见 https://blog.csdn.net/m0_37039484/article/details/80798139
build参考链接: https://cwiki.apache.org/confluence/display/ZOOKEEPER/HowToContribute

我们要执行的命令:

这个test会执行大量junit test,需要时间挺久的
去掉test,tar包很快就会生成,大概二十多秒的样子吧
详细ant 打包方式参见build.xml中target,特别丰富

http://repo2.maven.org/maven2 替换成 https://repo.hortonworks.com/content/groups/public

build.xml

Ivysettings.xml

报错信息:error: possibly undefined macro: AM_PATH_CPPUNIT

查到是因为缺少cppunit包,所以安装即可

Centos:
yum install cppunit cppunit-devel

Debian/ubuntu
sudo apt-get install libcppunit-dev

解决办法:

当我们直接使用 ant rpm 命令打包rpm的时候,会报错如下:

解决办法:
修改相应文件
http://zookeeper-user.578899.n2.nabble.com/Cannot-build-zookeeper-3-4-5-RPM-on-CentOS-6-3-td7578336.html

build.xml

src/contrib/zkpython/src/packages/rpm/spec/zkpython.spec

src/contrib/zkpython/build.xml

src/packages/rpm/spec/zookeeper.spec

我们重新打包rpm:
ant -Djavac.args="-Xlint -Xmaxwarns 1000" clean rpm
很快在build目录下生成rpm

Linux下安装软件的一般步骤

目录

一、解析Linux应用软件安装包

二、了解包里的内容

三、搞定使用tar打包的应用软件

四、搞定使用rpm打包的应用软件

五、搞定使用deb打包的应用程序

一、解析Linux应用软件安装包(回目录)

通常Linux应用软件的安装包有三种:

  • tar包,如software-1.2.3-1.tar.gz。它是使用UNIX系统的打包工具tar打包的。
  • rpm包,如software-1.2.3-1.i386.rpm。它是Redhat Linux提供的一种包封装格式。
  • dpkg包,如software-1.2.3-1.deb。它是Debain Linux提供的一种包封装格式。

大多数Linux应用软件包的命名也有一定的规律,它遵循:

名称-版本-修正版-类型

例如:

  • software-1.2.3-1.tar.gz 意味着:
    • 软件名称:software
    • 版本号:1.2.3
    • 修正版本:1
    • 类型:tar.gz,说明是一个tar包。
  • sfotware-1.2.3-1.i386.rpm
    • 软件名称:software
    • 版本号:1.2.3
    • 修正版本:1
    • 可用平台:i386,适用于Intel 80x86平台。
    • 类型:rpm,说明是一个rpm包。
    注:由于rpm格式的通常是已编译的程序,所以需指明平台。
  • 对于software-1.2.3-1.deb就请大家自己练习一下。

二、了解包里的内容(回目录)

一个Linux应用程序的软件包中可以包含两种不同的内容:

  • 一种就是可执行文件,也就是解开包后就可以直接运行的。在Windows中所 有的软件包都是这种类型。安装完这个程序后,你就可以使用,但你看不到源程序。而且下载时要注意这个软件是否是你所使用的平台,否则将无法正常安装。
  • 另一种则是源程序,也就解开包后,你还需要使用编译器将其编译成为可执行文件。这在Windows系统中是几乎没有的,因为Windows的思想是不开放源程序的。

通常,用tar打包的,都是源程序;而用rpm、dpkg打包的则常是可执行程序。一般来说,自己动手编译源程序能够更具灵活性,但也容易遇到各种问题和困难。而相对来说,下载那些可执行程序包,反而是更容易完成软件的安装,当然那样灵活性就差多了。所以一般一个软件总会提供多种打包格式的安装程序的。你可以根据自己的情况来选择。

三、搞定使用tar打包的应用软件(回目录)

  • 安装

    整个安装过程可以分为以下几步:

    1. 取得应用软件:通过下载、购买光盘的方法获得;
    2. 解压缩文件:一般tar包,都会再做一次压缩,如gzip、bz2等,所以你需要先解压。如果是最常见的gz格式,则可以执行:“tar –xvzf 软件包名”,就可以一步完成解压与解包工作。如果不是,则先用解压软件,再执行“tar –xvf 解压后的tar包”进行解包;
    3. 阅读附带的INSTALL文件、README文件;
    4. 执行“./configure”命令为编译做好准备;
    5. 执行“make”命令进行软件编译;
    6. 执行“make install”完成安装;
    7. 执行“make clean”删除安装时产生的临时文件。

    好了,到此大功告成。我们就可以运行应用程序了。但这时,有的读者就会问,我怎么执行呢?这也是一个Linux特色的问题。其实,一般来说,Linux的应用软件的可执行文件会存放在/usr/local/bin目录下!不过这并不是“放四海皆准”的真理,最可靠的还是看这个软件的INSTALL和README文件,一般都会有说明。

  • 卸载

    通常软件的开发者很少考虑到如何卸载自己的软件,而tar又仅是完成打包的工作,所以并没有提供良好的卸载方法。

    那么是不是说就不能够卸载呢!其实也不是,有两个软件能够解决这个问题,那就是Kinstall和Kife,它们是tar包安装、卸载的黄金搭档。它们的使用方法,笔者会另行文介绍。在此就不加赘述了。

四、搞定使用rpm打包的应用软件(回目录)

rpm可谓是Redhat公司的一大贡献,它使Linux的软件安装工作变得更加简单容易。

  • 安装

    执行:

    rpm –ivh rpm软件包名

    更高级的,请见下表:

    rpm参数参数说明
    -i 安装软件
    -t 测试安装,不是真的安装
    -p 显示安装进度
    -f 忽略任何错误
    -U 升级安装
    -v 检测套件是否正确安装

    这些参数可以同时采用。更多的内容可以参考RPM的命令帮助。

  • 卸载

    我同样只需简单的一句话,就可以说完。执行:

    rpm –e 软件名

    不过要注意的是,后面使用的是软件名,而不是软件包名。例如,要安装software-1.2.3-1.i386.rpm这个包时,应执行:

    rpm –ivh software-1.2.3-1.i386.rpm

    而当卸载时,则应执行:

    rpm –e software。

    另外,在Linux中还提供了象GnoRPM、kpackage等图形化的RPM工具,使得整个过程会更加简单。这些软件的具体应用,笔者会另行文介绍。

五、搞定使用deb打包的应用程序(回目录)

这是Debian Linux提供的一个包管理器,它与RPM十分类似。但由于RPM出现得更早,所以在各种版本的Linux都常见到。而debian的包管理器dpkg则只出现在Debina Linux中,其它Linux版本一般都没有。我们在此就简单地说明一下:

  • 安装
    dpkg –i deb软件包名

    如:

    dpkg –i software-1.2.3-1.deb

     

  • 卸载
    dpkg –e 软件名

    如:

    dpkg –e software

     

以上是关于zookeeper 打包rpm和tar.gz的主要内容,如果未能解决你的问题,请参考以下文章

ZooKeeper deb 打包方法

ZooKeeper deb 打包方法

ZooKeeper deb 打包方法

Fpm 之 Zookeeper-3.4.6 rpm 包定制

ZooKeeper从源码到RPM包制作过程详解

ZooKeeper从源码到RPM包制作过程详解