什么是 DEB 文件?以.deb结尾的文件称为 Debian 软件包文件 , 用于在 Linux 上安装应用程序 。DEB 文件仅用于基于 Debian 的 Linux 发行版 , 如Ubuntu 、统信UOS、麒麟系列等基于Linux内核的操作系统 。
目录结构创建
文章插图
DEB打包目录结构基本固定 , 不要问我为什么要这样定义 , 其实我也想知道 。你暂且按我的步骤来 , 保证打包无恙 , 但有以下几点需要注意:
- timedeb是自己定义 , 名字随意起 , 但后面需要跟版本号 , 我这里是1.0.0.0 , 如果不加版本号生成tar时会报错 。
- bin下放可执行文件及图标 , 比如:我这里timePy是用Python pyinstaller生成的可执行程序 , 由于我只是测试 , 没有准备图标 。
- timedeb.desktop是桌面文件 , 要保证文件名(我这里是timedeb)和info里的appid保持一致 。安装的时候就能够自动把桌面文件添加到/usr/share/applications,在启动器中就能够找到应用图标 。
#安装指令命令apt install dh-make#打包命令dh_make --createorig -s -y命令执行成后 , 在timedeb-1.0.0.0下会生成debian目录 , 在上一级目录会生成
timedeb_1.0.0.0.orig.tar.xz文件 。
修改control文件control 主要用来描述软件的版本 , 名称等详细信息 , 如下所示:
Package -- 软件包名称control文件内容(供参考)Source: timedebSection: unknownPriority: optionalMaintainer: 小逗IT Build-Depends: debhelper (>= 11)Standards-Version: 4.1.3Homepage: #Vcs-Browser: https://salsa.debian.org/debian/timedeb#Vcs-Git: https://salsa.debian.org/debian/timedeb.gitPackage: timedebArchitecture: anyDepends: ${shlibs:Depends}, ${misc:Depends}Description: 这里是描述信息 详细描述(注意这一行前面要留一个空格!)新建 install 文件在debian 目录下新建 install 文件 , 文件内容如下:
Version -- 版本号
Description -- 软件描述
Section -- 软件类型 utils, net, mail, text, x11
Priority -- 软件对系统的重要程度 , required, standard, optional, extra 等
Architecture -- 软件支持的平台 , 如 amd64 arm64 等
Installed-Size -- 软件尺寸
Depends -- 软件依赖的其他软件和库文件等 , 多个文件用逗号隔开
Pre-Depends -- 安装软件前需要安装的库或软件
Maintainer -- 打包者信息或者联系方式
安装过程中各个脚本的调用次序如下, 这些脚本均为 bash shell:
preinst 文件于软件包安装之前会被调用
postinst 文件于软件包安装之后被调用
prerm 文件于软件包卸载之前调用
postrm 文件于软件包卸载之后调用
timedeb/ /opt/appstimedeb/entries/applications/timedeb.desktop /usr/share/applications修改changelog文件把版本号 (1.0.0.0-1) 改成 (1.0.0.0) , 保持与上面info设定的版本号一致 , 不然系统读取deb的版本号就变成1.0.0.0-1 , 修改deb包的版本号也是在这个位置进行设置 。
文章插图
删除所有 *.ex *.EX 类型文件rm *.ex *.EX执行打包命令在timedeb.1.0.0.0目录下执行如下命令:
sudo dpkg-buildpackage -rfakeroot -tc -uc -us -b这里可能因为操作系统版本差异会有两个报错:
- 如果报错-rfakeroot不存在 , 则把-rfakeroot去掉 。
- 如果报错dh_shlibdeps: Aborting due to earlier error,打开rules文件 , 在dh $@后添加:
- 小米mix更换手机外屏幕详细教程 小米mix2怎么换屏幕
- 超全投屏教程 电视投屏怎么设置
- 恢复出厂设置教程 oppor17怎么恢复出厂设置
- 苹果手机跟电脑互传文件教程 苹果手机里的视频怎么传到电脑
- 乐视手机投屏微鲸电视 乐视投屏到电视教程
- 用手机远程控制另一台手机的软件叫什么 腾讯应用宝教程
- 什么是后油法?手工揉面后油法图文教程
- 小米手环绑定手机方法教程 公交卡怎么绑定手机
- 小米11关闭ai通话助手教程 小米手机自动接听怎么取消
- 忘记OPPO手机解锁密码教程 oppo手机密码忘了怎么开锁