Ubuntu 20.04 打包制作DEB包详细步骤及雷区

您所在的位置:网站首页 安装包怎么看文件大小 Ubuntu 20.04 打包制作DEB包详细步骤及雷区

Ubuntu 20.04 打包制作DEB包详细步骤及雷区

2024-01-10 17:52| 来源: 网络整理| 查看: 265

记录一次Deb打包过程及踩雷警示

最近写了一个python的小程序,希望能打包成deb文件,把这个程序弄得有头有脸,安装deb后可以在应用列表和桌面看到。参考了许多资料(文后附),它们给了我很多指导,对此表示感谢。

需要准备的

1、源代码(前提要可执行)或者编译好的程序,这里只介绍python 2、能用的ubuntu系统 3、用户的密码 4、图标(一定要有!)

这里给大家介绍一个案例,包名叫做debpacktest,整个过程中所有用到名字的地方,统统都是这个名字。xxx也指代这个名字。

一、建立目录架构

程序是要放到一个系统中的各个部分去的。其实这个并没有那么严格,不一定全都要挤到/usr/lib里边去,放到/home等都没有太大的问题。这里你需要用一个文件夹模拟出linux的文件架构,只需要模拟你程序需要安放到的位置就行了。比如说我有main.py和mainform.py两个文件,放到的文件夹是/usr/lib/debpacktest。那么我只需要建一个大文件夹(命名随意),cd到这个大文件夹,直接一个mkdir新建/usr /lib /debpacktest,然后把py文件丢进debpacktest文件夹。下面罗列出来的是目录结构,多余出来的是需要手工添加的deb包配置文件(夹)。(share部分和DEBIAN部分)

├── debpackTotal │ ├── DEBIAN(这个目录要添加control文件(无后缀名),可选添加postinst等) │ └── usr │ ├── lib │ │ └── debpacktest(预定要安装到系统中的文件) │ │ ├── mainform.py │ │ └── main.py │ └── share │ ├── applications(在这里添加xxx.desktop,使应用中能够加载出你的应用) │ └── icons(你的图标,这个必须有) **踩雷一** 在DEBIAN目录下制作control文件

cd到DEBIAN,在命令行输入(当然,你用gedit也行)

vim control

在其中粘贴:

Package: debpacktest Version: 1.0.0 Architecture: amd64 Maintainer: bakamitai Description: just a test

Package:你的包名 Version:版本 Architecture:架构 Maintainer:维护者 Description:解释

括号后的内容 根据你自己的需要去改变 然后保存

在/usr/share/applications下制作桌面图标 debpacktest.desktop

这一步非常重要 关系到你能否在应用列表出现你自己的程序,清一定按照下面的步骤完成。 首先在/usr/share/applications/下新建debpacktest.desktop这个文件。 里面的内容是:

[Desktop Entry] Name=debpacktest Comment=An example Exec=/usr/lib/debpacktest/main.py Icon=/usr/share/icons/debpacktest.png Terminal=false Type=Application X-Ubuntu-Touch=true Categories=Development

Name:你的包名 Comment:评论 注释 Exec:这里非常重要!这里如果不对 会直接导致这个图标没有办法显示。对于python来说,一定要具体到执行哪个py。这里执行的是main.py。不要忘记chmod,给main.py加上可执行权限。踩雷二 Icon:图标,不可以忽略 踩雷三 Terminal:是否在终端执行。这里是QtPy窗体,不需要。如果需要的话可以参考vim的desktop文件 踩雷四 Categories:分类。可以在引用和参考那里寻找更多。

剩下的东西 都不要动 都不要动 文件不能有多余的空格! 踩雷五

desktop文件要有可执行权限!

打包

到这里,一个基本的deb软件包就大功告成了。 我们返回到debpackTotal的上级目录。我们执行

sudo dpkg -b debpackTotal debpacktest_1.0.0_amd64.deb

包的命名要符合规范,我这里是随便打的。 检验的话,可以输入

sudo dpkg -i debpacktest_1.0.0_amd64.deb

在我的机器上,运行很完美,我在应用列表里看到了我的程序。 如果要卸载,请执行

sudo dpkg -r debpacktest

注意 这里面的参数 是包名,并非包的文件名,就是一开始我让你们注意的那个全局命名。

关于postinst文件(即制作桌面图标)

cd到DEBIAN目录,新建postinst文件,没有后缀。这个文件是在安装完包以后执行的脚本 复制以下内容:

#!/bin/bash sudo cp /usr/share/applications/debpacktest.desktop ~/桌面 echo POST INSTALLATION FUNCTION EXECUTED

这里是在包安装完成后,执行代码,将desktop文件复制到桌面。不同语言的发行版需要注意桌面的路径。踩雷六 postinst要有可执行权限。踩雷七

重新打包,安装,检验,发现桌面上多了个东东,是我们复制过去的文件,但并没有显示图标。 我们需要右击它,选择允许执行。你想要的结果便出现了。

总结

以上就是简单制作一个基本的deb文件的全部步骤以及部分扩展。需要耐心。Enjoy it.

参考&引用

https://www.ibm.com/developerworks/cn/linux/l-cn-dtef/index.html https://www.cnblogs.com/young525/p/5873806.html



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3