Ubuntu 等使用的存储库系统概念有哪些优缺点?

Ubuntu 等使用的存储库系统概念有哪些优缺点?

它比从 Web 下载和安装应用程序的 Windows 和 Mac 系统有何优势?

答案1

从一个中央存储库安装软件有好处也有坏处。

好的:

  • 所有内容都集中在一个地方,因此您知道该在哪里查找。
  • 它支持非常简单的目录类型应用程序(例如 aptitude、synaptic)
  • 好的发行版会相当严格地维护他们的软件仓库,因此有相当多的质量控制,这意味着你可以信任来自软件仓库的软件,而不是来自不受信任的来源的软件
  • 它使你能够对软件依赖关系进行一些非常奇特的自动解析(好吧,允许你这样做更容易至少)
  • 单一更新源 - 您无需检查每个单独的应用程序(或应用程序的网站)以获取更新,所有更新都来自一个地方
  • 它允许将操作系统的所有已知良好软件镜像到世界各地的不同服务器(例如,我工作的地方维护着一个 Ubuntu repo 镜像)

坏的:

  • 从仓库外的其他来源安装并不容易
  • 它非常适合开源软件,而不是专有软件
  • 感觉受到限制;如果你不在 repo 中,你就不会在雷达上(尽管你仍然可以从 repo 外部安装软件,但这太难了,所以很多人不这么做)

总体而言,大多数 Linux 发行版(实际上,大多数 Unix 可能也是如此)的优点大于缺点,这就是它在 Unix 世界中被广泛使用的原因。它也以多种不同的方式使用;ubuntu 的 deb/apt 存储库、fedora/redhat/其他 rpm/yum 存储库、*bsd 的 ports 树、gentoo 的 portage、pkgsrc,等等。其中一些比其他的做得更好 :)

答案2

首先,实际上并不存在一个“Linux 存储库系统”。每个 Linux 发行版都会自行决定使用哪个包管理系统(或是否使用),并且通常都有自己的存储库。

Ubuntu 使用 Debian 的 dpkg/apt 包管理系统以及 Ubuntu 自己的存储库。其工作原理基本如下:对于每个可以通过 apt 安装的应用程序,都有一个 dpkg-package,它基本上是一个压缩档案,其中包含应用程序的文件(带有为 Ubuntu 编译的可执行文件)和一些元数据,元数据(除其他内容外)包含包的描述和包的依赖项,因此包管理器知道在安装此包之前需要安装哪些其他包(例如,游戏可能需要安装 opengl 和 SDL,gnome 应用程序显然需要安装 gnome 等)。

现在,存储库是 Ubuntu 软件包维护者上传特定 Ubuntu 版本软件包的地方。然后,Apt 会浏览可用的存储库,找到您要安装的软件包及其依赖项,下载并安装它们。

这比自己下载所有内容要好,因为 a) 您不必自己下载所有内容 b) 您不必在整个网络上搜索所有依赖项 c) 您不会遇到像在 Windows 中那样每个游戏都安装自己的 DirectX 版本的情况。

答案3

也许更好的问题是:x 和 y 包管理器之间有什么区别?

Mac OS 软件包管理器:Darwinports

Windows 软件包管理器:Windows_update

越来越多的人转向使用 repo,而不再从网页下载,你会问“为什么?”。实际上,看待这个问题的最好方式是阅读已经写好的内容:

“影响

伊恩·默多克 (Ian Murdock) 曾评论说,软件包管理是“Linux 为业界带来的最大进步”,它模糊了操作系统和应用程序之间的界限,并且使“将新的创新推向市场和改进操作系统变得更容易”[1]“。

-wikipedia,包管理

我认为,可靠性是软件包管理的主要优势,此外还有更高的安全性。此外,它还很容易访问http://packages.ubuntu.com并查看每个受支持的软件。您可以期待,只要您在包管理器的框内操作,一切都会自动运行并且安全。当然,有标准的“买者自负”条款。如果它真的完美地工作,就不需要邮件列表了。

这与“修复”注册表或没有软件包管理器时的维护工作相比。在 Mac 上,值得注意的是,没有第三方软件的“官方”软件包管理器,但是,根据我对维基百科的理解,Mac OS 实用程序位于某种软件包管理器中,尽管我不知道它的名字。

相关内容