deb安装(deb安装包怎么安装)全程干货
什么是 DEB 文件?以.deb结尾的文件称为 Debian 软件包文件,用于在 Linux 上安装应用程序。DEB 文件仅用于基于 Debia
什么是 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,在启动器中就能够找到应用图标timedeb.desktop文件内容(供参考)[Desktop Entry]Version
=1.0.0.0Encoding=UTF-8Name=timePy Comment=Client for single sign on UOS system Exec=/opt/apps/timedeb/bin/timePy %u
Icon=/opt/apps/com.ultra.sso/icon/sso.ico Terminal=falseType=Application Categories=Application;StartupNotify
=trueName[zh_CN]=timePy GenericName[zh_CN]= Comment[zh_CN]=UOS时间日历 MimeType=x-scheme-handler/timePyinfo文件内容(供参考)
{ "appid": "timedeb", "name": "timePy", "version": "1.0.0.0", "arch": [
"amd64"], "permissions": { "autostart": false, "notification"
: false, "trayicon": false, "clipboard": false, "account"
: false, "bluetooth": false, "camera": false, "audio_record"
: false, "installed_apps": false } }生成deb包在timedeb-1.0.0.0目录下执行dh_make命令,如果命令不存在,则需要安装。
#安装指令命令aptinstall dh-make#打包命令dh_make--createorig -s -y命令执行成后,在timedeb-1.0.0.0下会生成debian目录,在上一级目录会生成timedeb_1.0.0.0.orig.tar.xz文件。
修改control文件control 主要用来描述软件的版本,名称等详细信息,如下所示:Package -- 软件包名称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 文件于软件包卸载之后调用control文件内容(供参考)Source:
timedebSection:unknownPriority:optionalMaintainer:小逗ITBuild-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 文件 ,文件内容如下:timedeb/
/opt/apps timedeb/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 $@后添加:。
override_dh_auto_build:override_dh_shlibdeps: --dpkg-shlibdeps-params=--ignore-missing-info override_dh_strip:
指令执行完成后会在timedeb-1.0.0.0目录下生成deb文件:timedeb_1.0.0.0_amd64.debdeb安装deb可以通过GUI方式图形化安装,我这里是统信UOS国产化操作系统,双击deb安装程序按提示操作就行了。
安装完成后,启动器里就能看到该程序。
至此,大功告成!你学废了吗?
- 标签:
- 编辑:李松一
- 相关文章
-
唯一歌词(唯一歌词告五人)居然可以这样
我真的爱你 句句不轻易是什么歌曲?告五人《唯一》哪里听
-
唯一歌词(唯一歌词告五人)全程干货
初听不知曲中意再听已是曲中人唯一告五人你真的懂唯一 的定义并不简单如呼吸你真的希望你能厘清若没交心怎么说明我真的爱你句句…
- 浙J(浙j是哪里的车牌)全程干货
- 浙J(浙j是哪里的车牌)这样也行?
- 漠河舞厅歌词(漠河舞厅歌词表达的含义)干货分享
- 漠河舞厅歌词(漠河舞厅歌词表达的含义)干货分享
- 散的多音字组词(挨的多音字组词)万万没想到