据我所知,apt 是 Debian 软件包管理器的高级界面(如果我错了,请纠正/教育我)。它是一个让我避免去随机网站下载东西的工具。相反,它允许以更有条理的方式安装软件。
所以我的问题是这样的。既然我有像 apt 这样的工具,如果我安装了所有东西会怎么样?我计划下载像 node 和其他东西。在从网上下载之前,我是否应该始终检查它是否在 Debian 软件包存储库中?这样做的优点和缺点是什么?
答案1
apt
将使用您添加的任何存储库来收集软件包。如果您将其限制为 Canonical 存储库,那么您获得的所有内容都已经过测试,并且在大多数情况下和设置下都能正常工作。
在大多数情况下,它们都不会是您选择的软件包所提供的最前沿的技术。
它们将尽可能稳定和安全,只要管理这些存储库的人能够管理,并且尽可能减少兼容性和依赖性问题。
您可以向 中添加大量第三方存储库apt
。这样做将更新 的apt
可用软件包和版本视图,但可能会开始破坏依赖关系。
如果已安装的包 A 依赖于已安装的包 B,但包 C 需要包 B 的旧版本或新版本,则在尝试安装包 C 时将出现错误。强制安装也可能会破坏包 A。
通常,您可以使用apt
或来纠正大多数损坏的包dpkg
,它们apt
实际上是 的包装器。
如果您开始从非apt
基础源安装软件包,无论是其源代码还是预编译的二进制文件,您都只能听天由命。如果它们具有您无法满足的依赖项,则需要手动安装它们。可能通过apt
,也可能不通过。盲目遵循安装说明可能会将某些东西安装到您的系统中,从而覆盖apt
源软件包或其中的部分内容,从而有效地破坏任何需要该软件包处于特定版本的内容。或者,它们可以仅安装到您的用户,因此其他用户帐户将很难使用它们。
最终你可以做任何你想做并且觉得舒服的事情。
如果 USB 驱动器损坏了,您可以随时重新开始,因此请将其保存在安全的地方。
答案2
是也不是。
是(95% 的情况)
我个人使用以下顺序在 deb 存储库中查找软件:
在默认位置搜索包 (主要的,宇宙,多元宇宙,受限制的) Ubuntu 存储库
- 在本地机器上使用
apt search something
(或apt-cache search something
);或者使用 TUI 界面aptitude
;使用 Synaptic 或 Muon 等 GUI 程序。 - 在线访问https://packages.ubuntu.com
apt-file
。在这里,可以按名称、说明和内容搜索软件包。当我的系统上没有安装软件包时,我会使用这种方式。
- 在本地机器上使用
在第三方存储库中搜索包
使用特殊搜索页面在 LaunchPad (PPA) 上查找个人软件包档案 -https://launchpad.net/ubuntu/+ppas或Y PPA 经理。
OpenSUSE Build Service 使用搜索https://build.opensuse.org/。例如 Double Commander 的现代版本打包在这里甚至对于 Ubuntu。
存储库中的软件将使用下一个sudo apt update
版本进行更新sudo apt upgrade
(如果有新版本)。官方存储库的信任级别最高,第三方存储库的信任级别较低。
否(占 5%)
仅当您在官方或第三方 deb 存储库中找不到该软件时,您还有其他三个选择:
在上游找到软件包 - 对于 Ubuntu 来说它是 Debian,因此您可以访问https://packages.debian.org了解它是否可用。
通过其他渠道查找软件 - 例如折断,扁平包装或者应用图像。本地计算机上有 GNOME Software 和 KDE Discover 作为它们的前端。
查找包Repology网站估计其传播范围并获取可能的编译配方(例如来自 ArchLinux AUR
PKGBUILD
文件或 Gentooebuild
文件)。然后按照下一段所述,在本地机器上使用依赖项对其进行编译。自行编译应用程序并为其创建 deb 包,方法是:
checkinstall
- 这是最困难的方法。如果程序很简单,您可以不编译它,checkinstall
而是将其放在主文件夹中,或者将其留在源代码目录中。在这里您需要安装构建工具、构建时依赖项等。
阅读材料:
- 安装和删除软件Ubuntu 文档
- 包管理用于 Ubuntu 文档中的服务器。
- “如何在 Ubuntu 中安装应用程序?”这里
man apt
man apt-file
man apt-cache
man dpkg
man checkinstall
答案3
当您想要安装软件时,第一步应该是运行以查明该软件是否以软件包形式存在于操作系统的默认 Ubuntu 存储库中。可选的第二步是运行以查明该软件包是否存在于更高版本的 Ubuntu 的默认存储库中。apt search 'package-name'
rmadison 'package-name'
与其他安装软件的方式相比,apt 的优势在于 Ubuntu 支持其存储库中的每个软件包,并且默认 Ubuntu 存储库中的所有软件包将在更新可用时更新。优先使用 apt 和 snap 而不是其他方法还可以防止大多数软件包管理问题的发生。没有软件包管理问题的操作系统可以比由于选择不当而导致多个软件包管理问题的操作系统更安全、更轻松地进行更新,因为这些软件包管理问题来自比默认 Ubuntu 存储库更不可靠的来源。
没有其他安装软件的方法比apt
从 PPA 安装 .deb 文件、使用其他包管理器安装应用程序、使用软件安装脚本(如 katoolin)安装软件或从源代码编译软件更安全。这些替代来源的软件经常由个人上传,而且开发人员对它们的审查比 apt 包少得多。