背景
最近由于公司项目需求,需要将项目部署到龙芯麒麟国产化操作系统下,项目使用tomcat进行部署。由于安全控制,运行sh脚本必须将项目打deb安装包进行安装后,sh脚本才能进行运行。
于是在网上找了很多的教程,找到个不错的视频教程:
https://www.bilibili.com/video/BV1V54y1v7a2?t=1262
教程上只讲了非常简单的打包。
于是自己研究了一下,将tomcat打deb包:
制作tomcat的deb安装包
环境安装(我也不清楚装了哪些环境了)
使用apt-get 安装以下工具: automake,dh-make ,devscripts。
使用 apt-get install automake 将安装 autoconf{a} automake autotools-dev{a} 三个包。
使用 apt-get install dh-make 将安装 debhelper dh-make html2text三个包。
使用 apt-get install devscripts ,这个是使用debuild所需要的。
使用 apt-get install dh-make checkinstall
官网下载Linux版本的tomcat压缩包,解压到目录中
su root
mkdir -p ~/tomcat/opt/
mkdir -p ~/tomcat/DEBIAN/
mv ./tomcat9 ~/tomcat/opt/tomcat9
在当前用户下创建文件路径为/root/tomcat/opt
,将解压后的tomcat移动到/root/tomcat/opt
目录下。目的是:到时候打deb包安装后,tomcat安装在/opt/下
目录结构:
在DEBIAN
目录下使用命令vim
或者vi
创建编辑文件内容:
比如:
cd DEBIAN/
vim control
control内容:
Package: tomcat9
Version: 1.0.0
Architecture: all
Maintainer: tomcat9 2552846359@qq.com
Depends:
Recommends: ca-certificates
Section: web
Priority: standard
Homepage:
Description: tomcat9服务器
这里就不描述每一个属性了,翻译一下就能理解里面的意思了哈。
compat内容:
11
对,内容就只有 11
rules内容:
#!/usr/bin/make -f
# See debhelper(7) (uncomment to enable)
# output every command that modifies files on the build system.
#export DH_VERBOSE = 1
# see FEATURE AREAS in dpkg-buildflags(1)
#export DEB_BUILD_MAINT_OPTIONS = hardening=+all
# see ENVIRONMENT in dpkg-buildflags(1)
# package maintainers to append CFLAGS
#export DEB_CFLAGS_MAINT_APPEND = -Wall -pedantic
# package maintainers to append LDFLAGS
#export DEB_LDFLAGS_MAINT_APPEND = -Wl,--as-needed
%:
dh $@
# dh_make generated override targets
# This is example for Cmake (See https://bugs.debian.org/641051 )
#override_dh_auto_configure:
# dh_auto_configure -- # -DCMAKE_LIBRARY_PATH=$(DEB_HOST_MULTIARCH)
设置文件权限
chmod -R 755 tomcat9/DEBIAN/
chmod -R 777 tomcat9/opt/tomcat9/
使用dpkg -b
进行打deb包
dpkg -b ./tomcat9/ tomcat9-1.0.0.deb
./tomcat9/
指要构建deb的目录
tomcat9-1.0.0.deb
指制作的deb安装包名字
使用 apt install
安装制作的软件包
apt install ./tomcat9-1.0.0.deb
安装成功后,进行/opt/下
进入tomcat9/bin/
启动startup.sh
使用 apt remove
卸载软件包
apt remove tomcat9