目录

一:了解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仓库搭建—reprepro新手入门(附shell自动化创建DEB仓库源码)

reprepro工具同步Deb仓库详解(附Shell半自动与自动同步Deb仓库源码)【提供两种配置web服务的方式,nginx与apache2】

一:了解DEB包

1、deb包最简单的格式

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

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

控制信息DEBIAN/control数据包usr/bin/XXX.sh

(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文件(编写完成后,要空出来最后一行,否则可能找不到)

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 安装一个 Debian 软件包。

2、dpkg -c 列出 的内容。

3、dpkg -I 中提取包信息。

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

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

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

7、dpkg -e

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

8、dpkg -x

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

2、进行打包操作

(1)打包

sudo dpkg -b ccwy

(2)命名

dpkg-name ccwy.deb

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

sudo dpkg -i ccwy_1.0.0_amd64.deb

sudo dpkg -r ccwy

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

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

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