deb 包和 tar balls 有什么区别?每个的优点/缺点是什么?

sir*_*raj 11 package-management

我不知道焦油球。大多数软件包都以 tar ball 形式提供,但 Ubuntu 软件包是 Debian 软件包。

deb 包和 tar balls 有什么区别?

每个的优点/缺点是什么?

rev*_*dj1 9

焦油球通常是您必须编译的源代码。Debs 是预编译程序,已经为 Ubuntu/Debian 构建和配置。

我强烈建议在可用时使用 debs,因为它们更容易,并且它们与包管理器集成,因此您可以轻松卸载它们。

Debs 还将安装所需的任何依赖项。从源代码安装会导致人们亲切地称之为“依赖地狱”。大多数开源程序依赖于其他几个程序/库才能运行。从源代码安装时,它不会安装这些,而是​​(希望)抱怨不满足依赖项。然后您尝试安装该依赖项,然后它会爆炸,需要另一个依赖项,等等。

从源代码安装也可以将您的文件放在意想不到的地方,因为不同的发行版布局略有不同。

当我需要安装程序时,我会按以下顺序尝试我的选项:

  1. 在软件中心查看。这显然是最简单的,尽管软件中心不是包罗万象的,也不是最新版本。

  2. 尝试找到提供它的存储库。添加存储库将使程序显示在软件中心,及时获得升级等。

  3. 寻找 .deb 包。

  4. 从源(tar 球)安装。


har*_*mkv 9

焦油球只是另一种压缩形式,如 zip。尽管压缩的格式和技术不同,但它基本上是一组文件和文件夹的容器。

通常,源代码和它所需的文件将由编写软件的个人/团体以 tar 球的形式在互联网上提供。所以你可以下载它,解压它,编译软件并安装它。

然而,deb 包的作用是通过维护标准使这个安装过程对您来说变得容易。互联网上可用的软件将由 Debian 软件包维护者获取,制作成相应的 .deb 软件包并放入 Debian 存储库。

在此处输入图片说明

您可以从 Debian 软件包维护者的博客中了解它:http : //www.j4v4m4n.in/2012/05/01/debian-utsavam-at-mes-kuttippuram-kerala-2/

至于优点和缺点,.deb 包由 apt 和 aptitude 等包管理器管理。因此,每当您使用它安装软件时,他们都会自动确定您是否具有在系统上运行该软件所需的依赖项,并为您安装它们。

但是,如果您使用 tar ball 安装它,您将必须弄清楚该软件依赖什么,并且每次您都必须手动检查您正在安装的软件的依赖项是否之前已经安装过。

但是 apt 会为您完成这一切。

此外,从源代码安装(从 tar 包安装)对于不同的软件会有不同的方法。有配置-制造-制造安装的 GNU 哲学,还有其他方法取决于软件的编写方式。

但是,将它们转换为 deb 完全消除了所有这些差异,并使用户更容易安装和使用该软件。

还有一点。什么时候需要从源安装?那是来自焦油球吗?基本上有两种情况。

  1. 如果 debian 打包团队还没有打包软件。
  2. 如果你想为项目做出贡献。这意味着您可以对源代码进行更改、编译并测试更改。

如果您想了解有关 debian 打包的更多信息,可以从这里阅读:http : //www.debian.org/doc/manuals/maint-guide/

希望这可以帮助。