一.deb的文件结构

        要打包的文件中主要包含DEBIAN和软件具体的安装目录,其中,DEBIAN目录下有control(必须存在),postinst(在安装deb包后触发的脚本文件),postrm(在卸载软件时触发的脚本),preinst(在安装deb包前触发的脚本),prerm(在卸载软件前触发的脚本),copyright(版权),changlog(修订记录)和conffiles,其中除了control是必须的,其余文件可以不创建。

        

 二.control文件内容

 

Package:软件包的名称(mysoftware)

Version:版本号(2021-08-06)

Section:申明软件的类别(常见的有'utils','net','mail','text','x11'等)

Priority:软件对于系统的重要程度(如'required','standard','optional','extra')

Essential:申明是否是系统最基本的软件包(yse或者no)

Architecture:软件包结构(如'i386','amd64','m68k','sparc','alpha','powerpc')

Source:软件包的源代码名称

Depends:软件所依赖的其他软件包和库文件。如果是依赖多个软件包和库文件,彼此之间采用逗号隔开

Pre-Depends:软件安装前必须安装、配置依赖性的软件包和库文件,它常常用于必须的预运行脚本需求

Recommends:表明推荐的安装的其他软件包和库文件

Suggests:建议安装的其他软件包和库文件

Priority:声明这个包的优先级(大部分的时候使用optional(可选的))

Eseential:指该软件包是否是必须的(大部分的时候不是)

Maintainer:制作此打包文件的作者(zh[邮箱])

Conflicts:表示跟这个程序冲突的软件

Replaces:表明哪些软件包将被这个程序取代

Description:针对此软件的描述

(在control末尾一定要空一行)

        其中,Pre-Depends和Depends所说明的包,若在安装deb包时不存在,会安装失败并提示包依赖问题,此时可以通过sudo apt-get -f install解决包依赖问题,然后再次安装deb包,或者是在安装deb包时选择apt命令安装,即sudo apt-get install ./xxx.deb ,此命令可以先自动安装deb包所依赖的包,然后安装deb包。

        control文件所必需的参数有:Package,Version,Architecture,Maintainer,Depends,Description

三.dpkg相关命令

dpkg -b xxx1 xxx2.deb 第一个参数为将要打包的目录名,第二个参数为生成包的名称

dpkg -i xxx.deb 安装deb包

dpkg -r xxxx(包名) 卸载deb包

dpkg -s xxxx(包名) 查看deb包是否安装

dpkg -c xxx.deb 查看deb包文件内容

dpkg --info xxx.deb 查看当前目录某个deb包的信息

dpkg -X xxxx.deb xxx(目录名) 解压deb包中所要安装的文件(解压到后面的目录下)

dpkg -e xxx.deb xxx/DEBIAN 解压deb包中DEBIAN目录下的文件(至少包含control文件)

sudo apt-get install ./xxx.deb 先安装依赖包,再安装deb包(注意,在包名前必须要指定相对路径或者绝对路径)

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐