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上的包管理了解您的整个系统、其中的库和支持文件,以及您安装的应用程序。这些不同的部分协同工作,为您提供高效、优化和强大的应用程序。
