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

记录一次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

  • 10
    点赞
  • 42
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 在Ubuntu 20.04上安装deb的命令是: sudo dpkg -i 文件名.deb 其中,文件名.deb是你要安装的deb的文件名。需要注意的是,安装deb时可能会出现依赖关系问题,需要手动安装缺失的依赖。可以使用以下命令来安装缺失的依赖: sudo apt-get install -f 这个命令会自动安装缺失的依赖。 ### 回答2: Ubuntu是一款广受欢迎的开源操作系统,其版本更新速度也很快。在使用Ubuntu20.04系统时,有时需要安装deb。那么,下面就来介绍一下Ubuntu20.04安装deb命令的具体操作步骤。 首先,在Ubuntu20.04系统中,可以使用“dpkg”命令来安装deb。具体使用步骤如下: 1. 打开终端,切换到deb所在的目录。 2. 输入以下命令来进行安装: sudo dpkg -i [deb名称] 其中,“sudo”表示以管理员权限运行命令,“dpkg”是Ubuntu中的软件管理工具,“-i”表示安装,[deb名称]为需要安装的deb名称。 3. 在安装过程中可能会出现依赖性问题,需要手动安装依赖性软件。 4. 安装完成后,输入以下命令来检查安装情况: sudo dpkg -l | grep [deb名称] 其中,“-l”表示列出所有已安装的软件,“|”表示将前一个命令的输出结果作为后一个命令的输入,“grep”是一个查找关键字的命令,“[deb名称]”为需要查找的软件名称。 通过上述步骤,即可成功安装deb。需要注意的是,在安装过程中,如果出现错误信息,则需要根据错误信息进行排查和解决。同时,为了避免出现依赖性问题,建议在安装软件之前,先安装所有依赖性软件。 ### 回答3: Ubuntu 20.04 是一款非常流行的 Linux 操作系统,它提供了在桌面和服务器上运行软件和应用程序的功能。在 Ubuntu 20.04 中,使用.deb 文件格式进行软件安装是非常普遍的。本文将介绍如何在 Ubuntu 20.04 中安装.deb 文件。 .deb Debian 软件的文件格式,这些软件含可执行代码、库文件、配置文件和文档等文件。.deb 的安装很简单,只需要打开终端窗口,输入以下命令即可: ```bash sudo dpkg -i package-name.deb ``` 其中,“package-name.deb”表示要安装的.deb 文件的名称和路径。如果该文件在当前目录中,只需键入其名称即可。如果文件在其他目录中,则必须输入其完整路径。在执行该命令前,必须使用“sudo”命令获取 root 权限。 执行上述命令后,系统会自动安装软件并在终端窗口中显示安装信息。如果出现错误,可以检查该软件是否具有所有必需的依赖项。(如果没有,则必须手动安装这些依赖项)。 如果需要卸载.deb 软件文件,可以使用以下命令: ```bash sudo dpkg -r package-name ``` 其中,“package-name”是要卸载的软件的名称。这个命令将从系统中删除软件及其所有文件和配置文件。如果要彻底删除软件,也可以使用“sudo dpkg --purge package-name”命令。 总之,安装.deb 文件是 Ubuntu 中安装软件的一种简便方式。通过使用上述命令,用户可以很容易地安装和卸载软件
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值