将zookeeper源码打包成deb

2 篇文章 0 订阅
1 篇文章 0 订阅

一.进行基础操作,安装ant以及尝试打成tar包

详细文章参考zookeeper源码打包tar

二:进行deb打包修改

  1. 在zk源码中添加如下目录
    在这里插入图片描述
  2. 目录中文件内容
    dist\src\main\package\deb\zookeeper\control\control
Package: zookeeper3_4_6_3_0_1_0_187
Version: 3.4.6.3.0.1.0-187
Section: misc
Priority: low
Architecture: all
Description:  This package starts the zookeeper server on startup
Maintainer: root <root@ksyun-PC>
Depends: hadoop_3_0_1_0_187-client, hdp-select >= 3.0.1.0-187, redhat-lsb,config(zookeeper3_4_6_3_0_1_0_187) = 3.4.6.3.0.1.0

dist\src\main\package\deb\zookeeper\control\postinst

#!/bin/bash
# alien added permissions fixup code
chown 'zookeeper:zookeeper' '/var/lib/zookeeper'

/usr/bin/hdp-select --rpm-mode set zookeeper-client 3.0.1.0-187
/usr/bin/hdp-select --rpm-mode set zookeeper-server 3.0.1.0-187
if [ !  -e "/etc/zookeeper/conf" ]; then
    rm -f /etc/zookeeper/conf
    mkdir -p /etc/zookeeper/conf
    cp -rp /usr/hdp/3.0.1.0-187/etc/zookeeper/conf.dist/* /etc/zookeeper/conf
fi

dist\src\main\package\deb\zookeeper\control\preinst

#!/bin/bash
getent group zookeeper >/dev/null || groupadd -r zookeeper
getent passwd zookeeper > /dev/null || useradd -c "ZooKeeper" -s /bin/bash -g zookeeper -r -d /var/run/zookeeper zookeeper 2> /dev/null || :

if [[ ! -e "/var/run/zookeeper" ]]; then
        /usr/bin/install -d -o zookeeper -g zookeeper -m 0755 /var/run/zookeeper
fi

if [[ ! -e "/var/log/zookeeper" ]]; then
        /usr/bin/install -d -o zookeeper -g zookeeper -m 0755 /var/log/zookeeper
fi

dist\src\main\package\deb\zookeeper-server\control\control

Package: zookeeper3_4_6_3_0_1_0_187-server
Version:3.4.6.3.0.1.0-187
Section: misc
Priority: low
Architecture: all
Description:  This package starts the zookeeper server on startup
Maintainer: root <root@ksyun-PC>
Depends: zookeeper3_4_6_3_0_1_0_187 = 3.4.6.3.0.1.0-187

pom.xml

<plugin>
                <groupId>org.vafer</groupId>
                <artifactId>jdeb</artifactId>
                <version>1.8</version>
                <executions>
                    <execution>
                        <id>zookeeper-deb</id>
                        <phase>package</phase>
                        <goals>
                            <goal>jdeb</goal>
                        </goals>
                        <configuration>
                            <controlDir>${basedir}/src/main/package/deb/zookeeper/control</controlDir>
                            <deb>${basedir}/target/zookeeper_${hdp-version-dash}-${zookeeper-version}-${zookeeper-release}_all.deb</deb>
                            <dataSet>
                                <data>
                                    <src>${project.basedir}/../conf</src>
                                    <type>file</type>
                                    <mapper>
                                        <type>perm</type>
                                        <prefix>/usr/hdp/${hdp-version}/etc/zookeeper/conf.dist</prefix>
                                        <user>root</user>
                                        <group>root</group>
                                        <filemode>644</filemode>
                                    </mapper>
                                    <!-- <sources>
                                         <source>
                                             <location>${project.basedir}/../conf</location>
                                         </source>
                                         <source>
                                             <location>src/main/package/rpm</location>
                                             <includes>
                                                 <include>zookeeper-env.cmd</include>
                                                 <include>zookeeper-env.sh</include>
                                             </includes>
                                         </source>
                                     </sources>-->
                                </data>
                                <data>
                                    <type>link</type>
                                    <symlink>true</symlink>
                                    <linkName>/usr/hdp/${hdp-version}/zookeeper/conf</linkName>
                                    <linkTarget>/etc/zookeeper/conf</linkTarget>
                                </data>
                                <data>
                                    <src>${project.basedir}/../bin</src>
                                    <type>directory</type>
                                    <mapper>
                                        <type>perm</type>
                                        <prefix>/usr/hdp/${hdp-version}/zookeeper/bin</prefix>
                                        <user>root</user>
                                        <group>root</group>
                                        <filemode>755</filemode>
                                    </mapper>
                                </data>
                                <data>
                                    <src>${project.basedir}/../docs</src>
                                    <type>directory</type>
                                    <mapper>
                                        <type>perm</type>
                                        <prefix>/usr/hdp/${hdp-version}/zookeeper/doc</prefix>
                                        <user>root</user>
                                        <group>root</group>
                                        <filemode>644</filemode>
                                    </mapper>
                                </data>
                                <data>
                                    <src>src/main/package/rpm/zookeeper</src>
                                    <type>file</type>
                                    <mapper>
                                        <type>perm</type>
                                        <prefix>/usr/hdp/${hdp-version}/zookeeper/etc/rc.d/init.d</prefix>
                                        <user>root</user>
                                        <group>root</group>
                                        <filemode>755</filemode>
                                    </mapper>
                                </data>
                                <data>
                                    <src>${project.basedir}/../build/lib</src>
                                    <type>directory</type>
                                    <mapper>
                                        <type>perm</type>
                                        <prefix>/usr/hdp/${hdp-version}/zookeeper/lib</prefix>
                                        <user>root</user>
                                        <group>root</group>
                                        <filemode>644</filemode>
                                    </mapper>
                                </data>
                                <data>
                                    <src>${project.basedir}/../build/zookeeper-3.4.6.jar</src>
                                    <type>file</type>
                                    <mapper>
                                        <type>perm</type>
                                        <prefix>/usr/hdp/${hdp-version}/zookeeper</prefix>
                                        <user>root</user>
                                        <group>root</group>
                                        <filemode>644</filemode>
                                    </mapper>
                                </data>
                            </dataSet>
                        </configuration>
                    </execution>
                    <execution>
                        <phase>package</phase>
                        <goals>
                            <goal>jdeb</goal>
                        </goals>
                        <id>zookeeper-server-deb</id>
                        <configuration>
                            <deb>${basedir}/target/zookeeper_${hdp-version-dash}-server-${zookeeper-version}-${zookeeper-release}_all.deb</deb>
                            <controlDir>${basedir}/src/main/package/deb/zookeeper-server/control</controlDir>
                            <dataSet>
                                <data>
                                    <src>src/main/package/rpm/zookeeper-server</src>
                                    <type>file</type>
                                    <mapper>
                                        <type>perm</type>
                                        <prefix>/usr/hdp/${hdp-version}/zookeeper/etc/rc.d/init.d</prefix>
                                        <user>root</user>
                                        <group>root</group>
                                        <filemode>755</filemode>
                                    </mapper>
                                </data>
                            </dataSet>
                        </configuration>
                    </execution>
                </executions>
            </plugin>

三.编译

  1. 将代码进行打包,放入ant环境的机器上
  2. 编译:
[root@master hdp-zookeeper-release]# cd dist/
[root@master dist]# mvn clean package

在这里插入图片描述

  1. 查看
    在这里插入图片描述
  2. 解压deb包
[root@master target]# dpkg -X zookeeper_3_0_1_0_187-3.4.6.3.0.1.0-187_all.deb ./

  1. 解压rpm包
[root@master target]# cd rpm/zookeeper_3_0_1_0_187/RPMS/noarch/
[root@master noarch]# rpm2cpio zookeeper_3_0_1_0_187-3.4.6.3.0.1.0-187.noarch.rpm | cpio -div

在这里插入图片描述

  1. 打包完成
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值