目录
deb安装包的制作
介绍
deb包是Debian软件包格式,文件扩展名为.deb。是Debian系统(包含Debian和Ubuntu等)专属安装包格式。
deb包在Linux操作系统中类似于windows中的软件包(exe),几乎不需要什么复杂的编译即可通过鼠标点击安装使用。
制作deb包的核心文件(夹)
- DEBIAN 文件夹
- control 文件,位于DEBIAN文件夹中,主要包含deb包的安装描述信息
- preinit 文件(可选),位于DEBIAN文件夹中,安装处理文件,在解包前执行
- postinit 文件(可选),位于DEBIAN文件夹中,安装处理文件,在解包后执行
- prerm 文件(可选),位于DEBIAN文件夹中,卸载处理文件,在删除关联文件前执行
- postrm 文件(可选),位于DEBIAN文件夹中,卸载处理文件,在删除关联文件后执行
目录结构如下:
/DEBIAN/
/DEBIAN/control
/DEBIAN/preinit(可选)
/DEBIAN/postinit(可选)
/DEBIAN/prerm(可选)
/DEBIAN/postrm(可选)
/opt/(可选)
/usr/lib(可选)
步骤
1. 创建deb包的文件夹
在制作deb包时,该文件夹是不会打包的,而是会把该文件夹当作是系统的根目录,因此也可以称该文件夹为根文件夹或根目录,里面的所有文件和文件夹(除DEBIAN外)在安装时都会按照其在根文件夹的相对路径安装到Linux系统中
mkdir myApp
2. 在deb包根路径中创建DEBIAN文件夹
cd myApp
mkdir DEBIAN
3. 创建control
cd DEBIAN
touch vi control
control文件的内容
Package: AppName
Version: 1.0
Section: Application
Priority: optional
Architecture: armhf
Maintainer: -
Description: the application description.
说明:
Package: 软件包的名称
Version: 版本号
Section: 软件的类别,如 Utils
, Net
,Application
,Library
Priority: 软件对于系统的重要程度,如 required
, standard
, optional
, extra
Architecture: 软件包结构,如基于i386
, amd64
,armhf
等
Maintainer: 软件维护人员
Description: 描述
4. 创建 preinit、postinit、prerm、postrm 等文件
根据实际需要创建相应的文件,在文件中编写需要执行的脚本
例如:
创建postinit文件
touch postinit
postinit的内容
sudo ldconfig
由于这几个文件是需要在安装或卸载时执行的,因此需要给这几个文件加上可执行的权限
sudo chmod a+x postinit
5. 复制关联文件到deb包中
将deb包根目录当作是Linux系统的根目录,将需要安装的程序或文件按照指定路径存放。
-
示例1
可执行程序demo
需要安装到Linux系统的/opt/
中,则在deb包根目录中创建一个opt
文件夹,并把demo
复制到该文件夹中。 -
示例2
调用库libmyapp.so
需要安装到Linux系统的/usr/lib
中,则在deb包根目录中创建一个usr
文件夹,然后在usr
文件夹中再创建lib
文件夹,最后将libmyapp.so
文件复制到/usr/lib
中
6. 打包生成deb包
切换当前目录到deb包文件夹所在的目录,执行打包的命令
sudo dpkg -b 打包的目录 deb安装包文件名称
dpkg命令的使用
一、安装
sudo dpkg -i deb文件名
示例:
sudo dpkg -i slave-1.0.0.deb
二、卸载安装包
sudo dpkg -P 安装包名称
示例:
sudo dpkg -P slave
三、查看程序安装包的信息
sudo dpkg -s 安装包名称
示例:
sudo dpkg -s slave
四、编译打包deb文件
sudo dpkg -b 打包的目录 deb安装包文件名称
示例:
sudo dpkg -b slave-builder slave-1.0.0.deb
标签:文件,文件夹,deb,安装包,DEBIAN,dpkg
From: https://www.cnblogs.com/silfox/p/17184415.html