Advertisement

ubuntu创建.deb安装文件,亲测可行

阅读量:

创建

例如我是C/C++程序员为用户提供部分功能并将其打包成一个. deb文件供用户下载使用

假设,我给用户的包名叫libmytools,

第一步 首先 创建 一个文件夹 被命名为libmytools 并且在其中 创建 两个子目录 分别名为DEBIAN 和usr/local

在local中又包含include和lib两个子目录,在分别存储用户所需的源代码头文件以及动态链接库(DLL):

在这里插入图片描述

随后,在位于deque项目的根目录下的'deb'目录中生成一个名为'control'的配置文件。该控制文件将记录有关此deb的关键信息,并将在后续操作中发挥重要作用。为了更好地理解这个控制文件的作用,请允许我在此举一个简单的例子来说明其基本用法。

复制代码
    Package: libmytools
    Section: devel
    Version: 0.0.1
    Maintainer: tom
    Architecture: amd64
    Description: libmytools is a tool for .......
    Depends: libyaml-cpp,libjsoncpp(>=0.6)

其中:

  • 包名表示该软件包的名称。
  • 功能类别说明了该软件包所属的应用领域。
  • 版本号代表该软件包的版本信息。
  • 维护者信息提供了软件包的所有者或 maintainer 的详细资料。
  • 架构描述了该软件包所支持的操作系统架构。
  • 功能与用途说明了该软件包能够实现的主要功能及其适用场景。
  • Depends 是指安装当前依赖项时需要同时安装哪些其他工具或库。

该文件编写完成后,需要在文件末尾换行,留下一行空白,否则会报错

生成

复制代码
    sudo dpkg-deb -b libmytools .

一旦执行完成随后将在当前目录中创建libmytools_0.0.1_amd64.deb;此时创建过程已完成。

安装

获取到该deb文件后,就可以进行安装了

复制代码
    sudo dpkg -i libmytools_0.0.1_amd64.deb

该软件的包含头文件和动态库会被分别安装到usr/local/libusr/local/include

如果系统中没有libyaml-cpp或libjsoncpp存在的情况,请注意:当系统中存在libjsoncpp但其版本不符合要求时,默认情况下会导致系统自动尝试安装该库或抛出错误信息。

总结:

deb的生成过程中设置相当多的参数可能会让初次接触的人感到困惑。然而,在本例中我们只是采用了基本配置即可满足需求。如果无法达到预期效果,则建议参考其他资源进一步了解详细配置方法

大多数企业通常会配置一套专门的apt源,在这个源中包含了有许多不同的deb包。这也是一种值得推广的有效管理方法。

全部评论 (0)

还没有任何评论哟~