目录

一:了解DEB包

1、deb包最简单的格式

(1)创建格式

(2)control文件(编写完成后,要空出来最后一行,否则可能找不到)

2、编写可执行文件

(1)可以编写C++/C/Shell,那我就编写个Shell的helloworld.sh。先进入usr/bin并创建helloworld.sh

(2)对helloworld.sh文件添加可执行权限

二、了解dpkg的用法

1、.dpkg参数以及解压

2、进行打包操作

(1)打包

(2)命名

(3)安装和卸载(卸载只需要前面的包名即可)

三、shell自动化脚本打包源码(源码请下载我上传的【Shell自动化打包(DEB包)源码】)


一:了解DEB包

1、deb包最简单的格式

deb包是在linux系统下的一种安装包,它是基于tar包的。所以同样会记录着文件的权限信息(读、写、可执行)、所有者、用户组等 可以使用dpkg -l命令来查看系统以及安装了哪些deb包。

最简单的目录树(02.sh是我的自动化打包代码):

控制信息

DEBIAN/control

数据包

usr/bin/XXX.sh

deb 打包Java前后端项目 deb打包工具_deb 打包Java前后端项目

(1)创建格式

1、建立一个目录名称,如ccwy。

mkdir ccwy

2、进入ccwy,依次创建DEBIAN、usr目录。进入usr目录在创建bin目录。

mkdir DEBIAN usr && cd usr && mkdir bin

3、DEBIAN目录用与存放配置信息control文件,bin目录用于存放可执行文件。

4、进入DEBIAN,创建control文件,编辑配置信息。

cd DEBIAN && vim control

(2)control文件(编写完成后,要空出来最后一行,否则可能找不到)

deb 打包Java前后端项目 deb打包工具_Shell_02

Package: ccwy
Version: 1.0.0
Architecture: amd64
Maintainer: WonderThink
Secion: utils
Priority: optional
Installed_Size: 20
Description: This is my second deb package
 

control:这个文件主要描述软件包的名称(Package)版本(Version)Installed-Size(大小)Maintainer(打包人和联系方式)以及描述(Description)等,是deb包必须具备的描述性文件,以便于软件的安装管理和索引。

Package 程序名称(中间不能有空格)
Version 软件版本  
Description 程序说明  
Section 软件类别 utils, net, mail, text, x11
Priority 软件对于系统的重要程度 required, standard, optional, extra等;
Essential 是否是系统最基本的软件包 yes/no,若为yes,则不允许卸载(除非强制性卸载)
Architecture 软件所支持的平台架构 i386, amd64, m68k, sparc, alpha, powerpc等
Source 软件包的源代码名称  
Depends 软件所依赖的其他软件包和库文件 若依赖多个软件包和库文件,采用逗号隔开
Pre-Depends 软件安装前必须安装配置依赖性的软件包和库文件
Recommends 推荐安装的其他软件包和库文件  
Suggests 建议安装的其他软件包和库文件  

2、编写可执行文件

(1)可以编写C++/C/Shell,那我就编写个Shell的helloworld.sh。先进入usr/bin并创建helloworld.sh

cd usr/bin && vim helloworld.sh
#!/bin/bash

echo "hello,world!"

(2)对helloworld.sh文件添加可执行权限

chmod +x helloworld.sh

二、了解dpkg的用法

1、.dpkg参数以及解压

1、dpkg -i <xxx.deb>
安装一个 Debian 软件包。

2、dpkg -c <xxx.deb>
列出 <xxx.deb> 的内容。

3、dpkg -I <xxx.deb>
从 <xxx.deb> 中提取包信息。

4、dpkg -r <xxx>
删除一个已安装的包。

5、dpkg -P <xxx>
完全清除一个已安装的包。和 remove 不同的是,remove 只是删掉数据和可执行文件,purge 还删除所有的配置文件。

6、dpkg -L <xxx>
列出 <xxx> 安装的所有文件清单。同时dpkg -c 来检查一个 .deb 文件的内容。

7、dpkg -e <xxx>

解压出包的控制信息:dpkg -e xxx.deb 解压路径

8、dpkg -x <xxx>

解压出包中的文件:dpkg -x xxx.deb 解压路径

2、进行打包操作

(1)打包

sudo dpkg -b ccwy

deb 打包Java前后端项目 deb打包工具_运维_03

(2)命名

dpkg-name ccwy.deb

deb 打包Java前后端项目 deb打包工具_运维_04

(3)安装和卸载(卸载只需要前面的包名即可)

sudo dpkg -i ccwy_1.0.0_amd64.deb
sudo dpkg -r ccwy

安装完成之后,你可以在任意目录直接运行你的helloworld.sh就可以打印出hello,world!了。

目前,你的deb包打包成功!

deb 打包Java前后端项目 deb打包工具_deb 打包Java前后端项目_05

三、shell自动化脚本打包源码(源码请下载我上传的【Shell自动化打包(DEB包)源码】)

deb 打包Java前后端项目 deb打包工具_自动化_06