当前位置:   article > 正文

ZooKeeper deb 打包方法_zkdbt

zkdbt


本文主要以 ZooKeeper 为例,介绍了source2deb、deb2deb、rpm2deb、tar2deb四种打包 deb 的方法,具有好的通用性。

简介

主要测试了四种zookeeper打包成deb的方式,分别为从源码直接打成deb包(source2deb)、逆向打包(deb2deb)、从rpm包转成deb包(rpm2deb)和使用源码编译成tar包,再将编译好的tar包打成deb包(tar2deb),推荐使用最后一种方式。

实验环境

以下操作均为在 Ubuntu 19 中使用 root 用户操作。

Source2deb

有些组件官方提供直接从源码打包成 deb 的方式,比如 ZooKeeper

源码下载

zookeeper-release-HDP-2.6.5.148-3-tag.tar.gz:https://github.com/hortonworks/zookeeper-release/releases/tag/HDP-2.6.5.148-3-tag

打成deb包

cd zookeeper-release-HDP-2.6.5.148-3-tag/
ant deb
  • 1
  • 2

查看

cd build
  • 1

Deb2deb

这种属于逆向打包过程。

创建工作环境

mkdir zkdeb
cd zkdeb/
mkdir zookeeper
  • 1
  • 2
  • 3

解包

dpkg -X zookeeper_3.4.6-1_amd64.deb zookeeper/
cd zookeeper/
  • 1
  • 2

提取DEBIAN信息

mkdir DEBIAN
  • 1

cd /home/erik/Downloads/zkdeb

dpkg -e zookeeper_3.4.6-1_amd64.deb ./zookeeper/DEBIAN/
  • 1
  • 2
  • 3

重新打包deb

mkdir build

cd /home/erik/Downloads/zkdeb

dpkg-deb -b zookeeper/ build/
  • 1
  • 2
  • 3
  • 4
  • 5

查看deb文件

cd build/
  • 1

DEBIAN文件解析

control

Preinst

在Deb包文件解包之前,将会运行该脚本。许多“preinst”脚本的任务是停止作用于待升级软件包的服务,直到软件包安装或升级完成。

Postinst

该脚本的主要任务是完成安装包时的配置工作。许多“postinst”脚本负责执行有关命令为新安装或升级的软件重启服务。

prerm

Postrm

该脚本负责修改软件包链接或文件关联,或删除由它创建的文件。

md5sums

各文件的md5值

conffile

Rpm2deb

打包好的rpm包可以直接使用“alien”工具转换为deb包。

实验环境:Ubuntu 19

工具:alien

安装工具

sudo apt-get install alien
  • 1

因为zookeeper的来源可以是source2rpm和source2tar2rpm,所以现分别使用这两个rpm包进行测试

Source2rpm2deb

准备好之前打包好的rpm包

执行命令:

alien zookeeper-3.4.6-1.x86_64.rpm
  • 1

Source2tar2rpm2deb

与之前方法类似,执行步骤如下图所示

Tar2deb

推荐使用这种方式,先使用源码编译成tar包,再使用tar包打成deb包,由于之前打rpm包时已经介绍过zookeeper打成tar包的流程,并且使用ant打包方法,不具有代表性,这里不再赘述,只介绍从tar包到deb包的步骤。

实验环境:Ubuntu 19

创建工作目录

mkdir zookeeper
  • 1

创建DEBIAN 目录

cd zookeeper/

mkdir DEBIAN

cd DEBIAN/

vim control
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7

准备安装文件

编译好的zookeeper tar 包解压到DEBIAN的同级目录下,
也就是说我们把当前的目录当成根目录, 制作完成后安装时,
当前目录下除DEBIAN目录的其他目录都会被默认安装到系统的/目录下,比如之后要将zookeeper安装到/opt/zookeeper/这个目录下,那么就将编译好的zookeeper解压到/opt/zookeeper/目录下

cd /home/erik/zookeeper/tar2deb/zookeeper

mkdir opt
  • 1
  • 2
  • 3

cd opt

将编译好的tar包上传到这个文件夹

解压

tar –xvf zookeeper-3.4.6.tar.gz

mv zookeeper-3.4.6 zookeeper

rm –rf zookeeper-3.4.6.tar.gz
  • 1
  • 2
  • 3
  • 4
  • 5

打包deb

创建存放deb包目录

cd /home/erik/zookeeper/tar2deb

mkdir build
  • 1
  • 2
  • 3

在这里插入图片描述

执行

dpkg-deb -b zookeeper/ build/
  • 1

安装

安装环境为另一台Ubuntu 19 虚拟机,模拟安装环境。

Deb2deb

dpkg -i zookeeper_3.4.6_all.deb
  • 1

修改打包时的依赖

寻找安装目录

配置文件

启动脚本
在这里插入图片描述

启动

在安装的主机上,
在这里插入图片描述

Source2tar2deb

找到安装目录

cd /opt/zookeeper/
  • 1

修改配置文件

cd conf/

cp zoo_sample.cfg zoo.cfg
  • 1
  • 2
  • 3

启动
在这里插入图片描述

Source2tar2rpm2deb

在这里插入图片描述
在这里插入图片描述

参考资料

  • Ubuntu下制作deb包的方法详解 - AderStep - CSDN博客
    https://blog.csdn.net/gatieme/article/details/52829907

  • Deb包介绍 - 简书
    https://www.jianshu.com/p/67094ffe9578

  • deb和rpm包相互转换 - chenyulancn的专栏 - CSDN博客
    https://blog.csdn.net/chenyulancn/article/details/62216190

注:本文首发于个人博客网站: http://www.erik-ly.com/

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/空白诗007/article/detail/790875
推荐阅读
相关标签
  

闽ICP备14008679号