AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / unix / 问题 / 686513
Accepted
dungarian
dungarian
Asked: 2022-01-16 11:29:33 +0800 CST2022-01-16 11:29:33 +0800 CST 2022-01-16 11:29:33 +0800 CST

Debian APT 软件包是否没有得到应用程序开发人员的正式支持或认可?

  • 772

考虑到我今天遇到的以下情况,我想了解 APT 包的总体管理方式:

我试图将 MongoDB 添加到我的 Debian 机器上。apt search mongodb显示了好看的结果,在尝试安装之前,我阅读了MondoDB 文档,其中指出:

按照以下步骤在您的系统上运行 MongoDB Community Edition。这些说明假设您使用的是官方的 mongodb-org 包——而不是 Debian 提供的非官方的 mongodb 包——并且使用的是默认设置。

由此,我理解并惊讶于我从 Debian's 得到的东西apt install是应用程序开发人员非官方的。这听起来比“不推荐”更糟糕。

我确实了解 Debian APT 软件包存储库倾向于显示旧版本,并且永远不会赶上最新的前沿更新。有很多方法可以解决这个问题,但现在我对非官方的词感到担忧。这是否意味着 APT 存储库中与 MongoDB(或任何其他应用程序)相关的软件包未得到应用程序开发人员的正式批准?或者它是由开发人员正式发布但“避免因为它不是最新版本”?还是有人(某个实体?)从官方安装包中复制并粘贴到 APT?

我并不是想了解 MongoDB 的这种特定情况。相反,我想了解应用程序和 APT 的整体“政治”。它是如何工作的,它应该如何工作?

如果这是一个菜鸟问题,那么我很抱歉,但我在网上找不到很好的解释。任何链接或参考将不胜感激。

debian apt
  • 4 4 个回答
  • 2654 Views

4 个回答

  • Voted
  1. Best Answer
    Vojtech Trefny
    2022-01-16T12:14:45+08:002022-01-16T12:14:45+08:00

    所有发行版(不仅是 Debian)中的包通常不是由应用程序的开发人员打包,而是由发行版社区的成员打包,通常称为打包者或包维护者。有时应用程序开发人员也可以是某些发行版中的打包者,但这不是规则,开发人员绝对不能在所有发行版中维护他们的应用程序(例如,我在 Fedora 中维护我的软件,但它是由其他人在 Debian 中打包的)。

    当谈到“批准”和“官方”或“非官方”时。我们在这里谈论的是免费软件,许可证允许分发软件,因此您不需要任何人的批准即可打包软件进行分发。开发人员可能不同意他们的软件被打包和发布的方式,但这就是他们所能做的。

    我不确定是什么让这个包(非)官方。我猜所有的包在理论上都是非官方的,因为它们是由第三方制作的。这可能取决于您对(非)官方的定义。

    可能导致打包人员和开发人员之间紧张的一件事是发布周期。发行版(尤其是像 Debian Stable 或 RHEL/CentOS 这样的“稳定”发行版)有自己的发布周期以及对软件和 API稳定性的承诺,这通常与上游不同发布周期。这就是为什么您会在发行版中看到旧版本的原因,通常带有一些错误修复反向移植。有时上游开发人员不喜欢这样,因为他们会收到已经修复但未向后移植的错误报告等。有时打包人员会自行决定编译时间选项和其他改变软件(默认)功能的事情,这也很烦人。因此,开发人员会告诉您“使用我们的'官方'包而不是您的分发包”之类的内容,由用户决定什么对他们最有利。

    • 41
  2. Jörg W Mittag
    2022-01-17T02:31:06+08:002022-01-17T02:31:06+08:00

    主要问题是:“官方”根据谁?某事是否“官方”很大程度上取决于您要问的是哪个“办公室”!

    MongoDB 开发人员发布的软件包是 MongoDB 开发人员所说的“官方”软件包。Debian 开发人员分发的软件包是 Debian 开发人员所说的“官方”软件包。

    在某种全球意义上,两者都不比另一个更“官方” 。

    分发包可能与供应商包不同的原因有很多:

    • 供应商软件包不支持发行版支持的所有架构。例如,MongoDB 只为 AMD64 上的 Debian 提供包。但是 Debian 不仅支持 AMD64,还支持 armel、armhf、arm64、x86、mipsel、mips64el、ppc64el 和 s390x。因此,这意味着如果您在 RaspberryPi (ARM64) 上使用 Debian,则没有来自 MongoDB 的软件包。
    • 供应商软件包不支持最新的分发版本。Debian 的最新版本是 Debian 11,但 MongoDB 仅提供 Debian 9 和 10 的软件包。
    • 在支持分发的同时不支持供应商包。例如,Debian 安全团队通常会在下一个版本后的一年内支持 Debian 版本(通常工作到大约 3 年)。之后,Debian 社区中有一个名为“Debian LTS”的志愿者团队,他们在最初发布后接管维护长达 5 年。之后,还有一个名为“Debian ELTS”的第三方商业项目,它在原始版本发布后提供长达 7 年的支持。之后,您可以根据需要聘请 Debian 顾问以获得额外支持。
      这意味着,例如,Debian 8 仍然具有 ELTS 支持,但 MongoDB 中没有针对它的软件包。
    • 发行版开发人员保证他们发布的每个包都可以在发布的整个生命周期内与他们发布的每个其他包一起工作,他们保证他们发布的每个错误修复都是向后兼容的,等等。通常,供应商不会为他们自己的包裹。例如,如果您使用 MongoDB 包并且更新破坏了一些随机的其他包,那么您将不会从 Debian 获得支持(因为您没有使用他们的包),并且 MongoDB 开发人员可能根本不会关心那个随机的其他包包足以提供错误修复。(我并不是说 MongoDB 开发人员特别不在乎,我是说某些供应商的开发人员可能会不在乎。)
    • 有时,供应商软件包只是违反了一些关于如何为特定发行版打包软件的准则,因此发行版需要提供自己的软件包。例如,某些发行版对哪些类型的文件要存储在哪些目录中、哪些目录需要只读等有严格的规定。

    现在,事实证明,在这种特殊情况下,Debian 实际上已经停止提供自己的软件包,因为MongoDB 更改为不同的许可证。该mongodb软件包的最新版本在 Debian 9 中。Debian 本身不再为 Debian 10、Debian 11 或开发中的 Debian 12 中的 MongoDB 提供软件包。但是,Debian 9 中的软件包可用于 AMD64、ARM64、 x86 和 PowerPC 64 位 little-endian,而 MongoDB 开发人员提供的软件包可用于 Debian 9 和 10,但仅适用于 AMD64。

    一般来说,分销商提供自己的软件包的主要原因是因为分销商与软件供应商有不同的关注点和约束,因此软件供应商提供的软件包往往不能满足这些关注点和约束。

    请记住,大多数分发包是由无偿志愿者创建的,并且大多数分发包都希望提供更多包,但缺乏这样做的人力。如果有一种方法,他们可以直接从软件供应商处获取未经修改的软件包并将它们放入分发中,他们通常会这样做,而不是将精力集中在其他地方。

    • 30
  3. Artem S. Tashkinov
    2022-01-16T12:14:38+08:002022-01-16T12:14:38+08:00

    发行版维护者可以应用他们自己的一组补丁,上游可能不认可这些补丁。这可能会导致这样的情况。

    发行版也可能对他们提供的软件版本有某些政策,这些政策可能与原始创建者的想法不一致。

    Debian 有很多相关的事件:

    • https://www.theregister.com/2021/12/10/debian_firefox_issues/
    • https://en.wikipedia.org/wiki/Mozilla_software_rebrand_by_Debian
    • https://www.jwz.org/blog/2016/04/i-would-like-debian-to-stop-shipping-xscreensaver/

    一旦你更好地了解开源,它就不会那么乐观了。

    Debian APT 软件包是否没有得到应用程序开发人员的正式支持或认可?

    根据经验,这个问题的答案是“否”,不仅是 Debian,它也适用于其他发行版。

    例如,检查https://bugzilla.kernel.org

    请使用您的发行版的错误跟踪工具 此 bugzilla 用于报告针对上游 Linux 内核的错误。

    • 11
  4. Dmitry Grigoryev
    2022-01-17T04:08:33+08:002022-01-17T04:08:33+08:00

    这是否意味着 APT 存储库中与 MongoDB(或任何其他应用程序)相关的软件包未得到应用程序开发人员的正式批准?

    的确。“自由软件”(在 GPL 意义上)意味着任何人都可以获取您的源代码,对其进行修改,然后在未经您批准甚至根本不通知您的情况下重新分发它。

    几乎所有开源项目的开发人员都要求用户在报告错误之前尝试最新的可用版本。从这个意义上说,任何第三方包都是非官方的:如果它们工作,对你有好处,如果它们不工作,你应该将此报告给包维护者,而不是开发人员。

    • 3

相关问题

  • GRUB 配置以识别同一 Linux 发行版的不同桌面环境(安装)

  • astyle 不会更改源文件格式

  • 接收有关全新 Debian 的电子邮件

  • Debian Stretch:libgs_plugin_systemd-updates.so 中的 gnome-software 段错误

  • 如何在拼音输入法中输入ü?

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    模块 i915 可能缺少固件 /lib/firmware/i915/*

    • 3 个回答
  • Marko Smith

    无法获取 jessie backports 存储库

    • 4 个回答
  • Marko Smith

    如何将 GPG 私钥和公钥导出到文件

    • 4 个回答
  • Marko Smith

    我们如何运行存储在变量中的命令?

    • 5 个回答
  • Marko Smith

    如何配置 systemd-resolved 和 systemd-networkd 以使用本地 DNS 服务器来解析本地域和远程 DNS 服务器来解析远程域?

    • 3 个回答
  • Marko Smith

    dist-upgrade 后 Kali Linux 中的 apt-get update 错误 [重复]

    • 2 个回答
  • Marko Smith

    如何从 systemctl 服务日志中查看最新的 x 行

    • 5 个回答
  • Marko Smith

    Nano - 跳转到文件末尾

    • 8 个回答
  • Marko Smith

    grub 错误:你需要先加载内核

    • 4 个回答
  • Marko Smith

    如何下载软件包而不是使用 apt-get 命令安装它?

    • 7 个回答
  • Martin Hope
    user12345 无法获取 jessie backports 存储库 2019-03-27 04:39:28 +0800 CST
  • Martin Hope
    Carl 为什么大多数 systemd 示例都包含 WantedBy=multi-user.target? 2019-03-15 11:49:25 +0800 CST
  • Martin Hope
    rocky 如何将 GPG 私钥和公钥导出到文件 2018-11-16 05:36:15 +0800 CST
  • Martin Hope
    Evan Carroll systemctl 状态显示:“状态:降级” 2018-06-03 18:48:17 +0800 CST
  • Martin Hope
    Tim 我们如何运行存储在变量中的命令? 2018-05-21 04:46:29 +0800 CST
  • Martin Hope
    Ankur S 为什么 /dev/null 是一个文件?为什么它的功能不作为一个简单的程序来实现? 2018-04-17 07:28:04 +0800 CST
  • Martin Hope
    user3191334 如何从 systemctl 服务日志中查看最新的 x 行 2018-02-07 00:14:16 +0800 CST
  • Martin Hope
    Marko Pacak Nano - 跳转到文件末尾 2018-02-01 01:53:03 +0800 CST
  • Martin Hope
    Kidburla 为什么真假这么大? 2018-01-26 12:14:47 +0800 CST
  • Martin Hope
    Christos Baziotis 在一个巨大的(70GB)、一行、文本文件中替换字符串 2017-12-30 06:58:33 +0800 CST

热门标签

linux bash debian shell-script text-processing ubuntu centos shell awk ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve