![为什么“Synaptic 软件包管理器”里有大量的软件,而“Ubuntu 软件中心”里只有很少的软件?](https://linux22.com/image/828612/%E4%B8%BA%E4%BB%80%E4%B9%88%E2%80%9CSynaptic%20%E8%BD%AF%E4%BB%B6%E5%8C%85%E7%AE%A1%E7%90%86%E5%99%A8%E2%80%9D%E9%87%8C%E6%9C%89%E5%A4%A7%E9%87%8F%E7%9A%84%E8%BD%AF%E4%BB%B6%EF%BC%8C%E8%80%8C%E2%80%9CUbuntu%20%E8%BD%AF%E4%BB%B6%E4%B8%AD%E5%BF%83%E2%80%9D%E9%87%8C%E5%8F%AA%E6%9C%89%E5%BE%88%E5%B0%91%E7%9A%84%E8%BD%AF%E4%BB%B6%EF%BC%9F.png)
我刚刚在 Ubuntu 软件中心搜索一些软件,它显示“未找到”,但我可以轻松地在 synaptic 上找到并安装它们。
答案1
软件中心包含完整软件包以及所需的依赖项。但在 Synaptic 中,所有软件包都是单独的。
如果您想从软件中心安装任何东西,选择包就足够了,但如果您使用 Synaptic 包管理器来执行此操作,那就不行了。
如果您是 Linux/Ubuntu 的基本用户,那么我建议您选择软件中心而不是 synaptic。
答案2
Ubuntu 软件中心默认列出非技术软件包——普通用户可能想要安装的软件包。您需要采取额外步骤才能查看文档、调试、依赖项等软件包(这些软件包可能令人不知所措,通常适合技术人士)。
搜索主题后点击Show
n technical packages
在 USC 包裹清单的底部可以看到这些。
答案3
据我所知,Synaptic 软件包管理器和 Ubuntu 软件中心都是使用 apt-get 的 GUI。无论使用哪个,依赖项都会自动安装。软件和更新程序是一个方便的 GUI,用于操作 apt-get 的软件列表。
一开始,有 apt-get
apt-get 是真正完成繁重工作的工具,可通过命令行使用。它负责处理依赖关系和自动更新。
它们都处理依赖关系
大多数软件(包括 Windows 软件)由一个或多个主可执行文件(Windows 中为 .exe)和许多库模块(Windows 中为 .dll)组成。每个库模块都可以由许多应用程序共享。反过来,这些可执行文件中的许多文件可以是另一个产品的子组件;例如,Synaptic Package Manager 依赖于 apt-get。
由于依赖项由 apt-get 管理,因此如果您要求从上述任何工具安装产品,则所有必要的依赖项也将被安装(apt-get 和 Synaptic Package Manager 将首先征求您的许可)。这意味着如果您选择安装 Java,这些工具中的任何一个也将安装 Java 所依赖的所有库和模块。
已批准的存储库
默认情况下,apt-get 只会显示包含 Ubuntu 批准的软件列表的 Ubuntu 存储库,其中包括免费和开源软件以及商业软件。但是,apt-get 允许您添加其他存储库(ppa 或个人软件包存档)的 URL。
然后是 GUI
Synaptic Package Manager 被设计为 apt-get 的全功能 GUI 界面;它应该可以执行您从命令行执行的所有操作,并且已经存在很长时间了。所有内容都会显示在 SPM 和 apt-get 中。
但是,显示支持特定产品的所有库和其他程序会让您很难找到所需的内容。如果您没有仔细选择,您可能只会安装一些 Java 库或可选模块,而不是真正安装 Java。
更新的 Ubuntu 软件中心更加用户友好,因此隐藏了所有依赖项。如果您想添加 Java,则无需查看名称或描述中包含 java 的所有库和子程序。
此外,Ubuntu 软件中心还制定了某种政策,隐藏了一些产品,这些产品可能是操作系统不可或缺的一部分,通常不应该被弄乱。例如,您可以在 UBC 中找到 gcc,但找不到 apt-get。这些政策的细节对我来说仍然是个谜。
推荐的解决方案
1. 首先尝试在 Ubuntu 软件中心找到您的主要目标。
当然,有时您可能只想安装一些库或模块,例如当您安装 Ubuntu 未提供的产品时,而该产品依赖于软件中心隐藏的其他内容。那么您必须恢复到 Synaptic 包管理器。
仅当您所在的服务器没有 GUI 桌面,或者 GUI 出现故障,或者您的说明仅涉及 apt-get 时,您才需要转到 apt-get(通常这样做是为了让相同的说明在服务器和桌面上都有效)。
答案4
Synaptic 还列出了特定软件附带的每个软件包,而软件中心仅列出该软件,而不列出更“技术性”和较小的软件。
我也思考由于批准原因,USC 没有列出所有软件(?)