使用 Linux 包管理器的 5 个理由
软件包管理器跟踪您安装的软件的所有组件,使更新、重新安装和故障排除变得更加容易。
2021 年,人们喜爱 Linux 的理由比以往任何时候都多。在本系列中,我将分享使用 Linux 的 21 个不同原因。今天我就来说说软件仓库
在使用 Linux 之前,我认为计算机上安装的应用程序是理所当然的。我会根据需要安装应用程序,如果我最终没有使用它们,我就会忘记它们,让它们在占用我的硬盘空间时变得萎靡不振。最终,我的驱动器上的空间将变得稀缺,我最终会疯狂地删除应用程序,为更重要的数据腾出空间。但不可避免的是,这些应用程序只会释放这么多空间,因此我将注意力转向与这些应用程序一起安装的所有其他零碎内容,无论是媒体资产还是配置文件和文档。这不是管理我的计算机的好方法。我知道这一点,但我并没有想到另一种选择,因为正如他们所说,你不知道你不知道什么。
当我切换到 Linux 时,我发现安装应用程序的工作方式略有不同。在 Linux 上,我们建议您不要访问网站来获取应用程序安装程序。相反,您运行命令,应用程序就会安装在系统上,并记录每个单独的文件、库、配置文件、文档和资产。
什么是软件存储库?
在 Linux 上安装应用程序的默认方法是从分发软件存储库。这听起来像是一个应用程序商店,这是因为现代应用程序商店借鉴了软件存储库的概念。 Linux 也有应用程序商店,但软件存储库是独一无二的。您可以通过包管理器从软件存储库获取应用程序,这使您的 Linux 系统能够记录和跟踪您已安装的每个组件。
以下五个原因表明,准确了解系统上的内容会非常有用。
1. 删除旧应用程序
当您的计算机知道随任何给定应用程序安装的每个文件时,卸载不再需要的文件就非常容易。在 Linux 上,安装 31 个不同的文本编辑器但随后卸载您不喜欢的 30 个是没有问题的。当你在 Linux 上卸载时,你就真正卸载了。
2.按照您的意思重新安装
卸载不仅彻底,重新安装也很有意义。在许多平台上,如果应用程序出现问题,有时会建议您重新安装它。通常,没有人能说出为什么您应该重新安装应用程序。尽管如此,人们仍然经常模糊地怀疑某处的某些文件已损坏(换句话说,数据写入不正确),因此希望重新安装可能会覆盖损坏的文件并使一切再次正常运行。这不是一个坏建议,但对于任何技术人员来说,不知道出了什么问题都会令人沮丧。更糟糕的是,如果不仔细跟踪,就无法保证在重新安装过程中所有文件都会被刷新,因为通常无法知道随应用程序安装的所有文件是否首先被删除。使用包管理器,您可以强制完全删除旧文件,以确保全新安装新文件。同样重要的是,您可以考虑每个文件,并可能找出哪个文件导致了问题,但这是开源和 Linux 的一项功能,而不是包管理。
3. 保持应用程序更新
不要让任何人告诉您 Linux 比其他操作系统“更安全”。计算机是由代码组成的,我们人类每天都在寻找以新的、有趣的方式利用这些代码的方法。由于 Linux 上的绝大多数应用程序都是开源的,因此许多漏洞被公开归档为常见漏洞和暴露 (CVE)。大量传入的安全错误报告似乎是一件坏事,但这绝对是知道比不知道要好得多的情况。毕竟,没有人告诉您存在问题并不意味着没有问题。错误报告很好。他们使每个人受益。当开发人员修复安全错误时,您能够迅速获得这些修复非常重要,而且最好不必记得亲自修复。
包管理器就是为了做到这一点而设计的。当应用程序收到更新时,无论是为了修补潜在的安全问题还是引入令人兴奋的新功能,您的包管理器应用程序都会提醒您有可用的更新。
4.保持轻松
假设您有应用程序 A 和应用程序 B,两者都需要库 C。在某些操作系统上,通过获取 A 和 B,您将获得 C 的两个副本。这显然是多余的,因此想象一下每个应用程序会发生多次。冗余库会快速增加,并且由于给定库没有单一的“真实”来源,因此几乎不可能确保您使用的是最新版本,甚至只是一致的版本。
我承认我不倾向于整天坐着思考软件库,但我确实记得我这样做的日子,尽管我不知道这就是困扰我的事情。在切换到 Linux 之前,我在处理工作媒体文件时遇到错误、玩不同视频游戏时出现故障、阅读 PDF 时出现怪癖等情况并不罕见。当时我花了很多时间来调查这些错误。我仍然记得我的系统上的两个主要应用程序都捆绑了相同(但不同)的图形后端技术。当一个输出导入另一个时,不匹配会导致错误。它本来是可以工作的,但由于同一库文件集合的旧版本中存在错误,一个应用程序的修补程序并没有使另一个应用程序受益。
软件包管理器知道每个应用程序需要哪些后端(称为依赖),并且不会重新安装系统上已有的软件。
5. 保持简单
作为一名 Linux 用户,我很欣赏一个好的包管理器,因为它让我的生活变得简单。我不必考虑我安装的软件、我需要更新什么,或者当我完成某些东西后是否真的被卸载了。我毫不犹豫地试用了软件。当我设置一台新计算机时,我运行一个简单的 Ansible 脚本来自动安装我所依赖的所有软件的最新版本。它简单、智能且具有独特的解放性。
更好的包管理
Linux 从整体角度看待应用程序和操作系统。毕竟,开源是建立在其他开源的工作之上的,因此发行版维护者理解依赖堆栈的概念。 Linux 上的包管理可以了解您的整个系统、系统上的库和支持文件以及您安装的应用程序。这些不同的部分协同工作,为您提供一组高效、优化且强大的应用程序。