包管理器可以跟踪你安装的软件的所有组件,促使更新、重装和故障排除愈发容易。
在2021年,人们喜欢Linux的理由比往年任何时侯都多。在这个系列中,我将分享21个使用Linux的不同理由。明天,我将说说软件库房。
在我使用Linux之前,我觉得在计算机上安装的应用是理所其实的。我会依照须要安装应用,假如我最后没有使用它们,我都会把它们忘记,让它们占用我的硬碟空间。总算有三天,我的硬碟空间会显得稀缺,我都会疯狂地删掉应用,为更重要的数据腾出空间。但不可防止的是,应用只能释放出有限的空间,所以我将注意力转移到与那些应用一起安装的所有其他零碎内容上,无论是媒体内容还是配置文件和文档。这不是一个管理笔记本的好方式。我晓得这一点,但我并没有想过要有其他的选择,由于正如人们所说,你不晓得自己不晓得哪些。
当我改用Linux时,我发觉安装应用的方法有些不同。在Linux上,会建议你不要去网站上找应用的安装程序。取而代之的是,运行一个命令,应用才会被安装到系统上,并记录每位单独的文件、库、配置文件、文档和媒体资产。
哪些是软件库房?
在Linux上安装应用的默认方式是从发行版软件库房中安装。这可能听上去像应用商店,那是由于现代应用商店借鉴了好多软件库房的概念。Linux也有应用商店,但软件库房是独一无二的。你通过一个包管理器从软件库房中获得一个应用,它使你的Linux系统才能记录和跟踪你所安装的每一个组件。
这儿有五个诱因可以让你准确地晓得你的系统上有哪些东西,可以说是极其有用。
1、移除旧应用
当你的计算机晓得应用安装的每一个文件时,卸载你不再须要的文件真的很容易。在Linux上,安装31个不同的文本编辑器,之后卸载30个你不喜欢的文本编辑器是没有问题的。当你在Linux上卸载的时侯,你就真的卸载了。
2、按你的意思重新安装
除了卸载要彻底,重装也很有意义。在许多平台上,假若一个应用出了问题,有时会建议你重新安装它。一般情况下,谁也说不清为何要重装一个应用。不过linux 删除文件,人们还是常常会隐约约约地怀疑某个地方的文件早已毁坏了(换句话说,数据写入错误),所以希望重装可以覆盖坏的文件以让软件重新工作。这是个不错的建议,但对于任何技术人员来说,不晓得是哪些地方出了问题都是令人失望的。更糟糕的是,假若不仔细跟踪,就不能保证所有的文件就会在重装过程中被刷新,由于一般没有办法晓得与应用程序一起安装的所有文件在第一时间就删掉了。有了软件包管理器,你可以强制彻底删掉旧文件,以确保新文件的全新安装。同样重要的是,你可以研究每位文件并可能找出造成问题的文件linux软件一般安装在哪里,但这是开源和Linux的一个特征,而不是包管理。
3、保持你应用的更新
不要听他人告诉你的Linux比其他操作系统“更安全”。计算机是由代码组成的linux内核,而我们人类每天都会以新的、有趣的方法找到借助那些代码的方式。由于Linux上的绝大多数应用都是开源的,所以许多漏洞就会以“常见漏洞和曝露CommonVulnerabilityandExposures”(CVE)的方式公开。大量涌向的安全漏洞报告虽然是一件坏事,但这绝对是一个晓得远比不晓得好的案例。虽然,没有人告诉你有问题,并不意味着没有问题。漏洞报告是好的。它们对每位人都有益处。并且,当开发人员修补安全漏洞时,对你而言,及时获得这种修补程序很重要,最好不用自己记着动手修补。
包管理器正是为了实现这一点而设计的。当应用收到更新时,无论是修复潜在的安全问题还是引入令人激动的新功能,你的包管理器应用就会提醒你可用的更新。
4、保持轻便
假定你有应用A和应用B,这两个应用都须要库C。在个别操作系统上,通过得到A和B,都会得到了两个C的副本。这其实是多余的,所以想像一下linux软件一般安装在哪里,每位应用就会发生几次。冗余的库很快都会降低,并且因为对一个给定的库没有单一的“正确”来源,所以几乎不可能确保你使用的是最新的甚至是一致的版本。
我承认我不会整天坐在这儿寻思软件库,但我确实记得我寻思的日子,虽然我不晓得这就是困惑我的缘由。在我还没有改用Linux之前,我在处理工作用的媒体文件时遇见错误,或则在玩不同的游戏时出现故障,或则在阅读PDF时出现奇特的现象,等等,这种都不是哪些稀奇的事情。当时我花了好多时间去调查这种错误。我一直记得,我的系统上有两个主要的应用分别捆绑了相同(但有区别)的图形前端技术。当一个程序的输出导出到另一个程序时,这些不匹配会造成错误。它原本是可以工作的,并且因为同一个库文件集合的旧版本中的一个错误,一个应用的热修补程序并没有给另一个应用带来益处。
包管理器晓得每位应用须要什么前端(被称为依赖关系),而且防止重新安装早已在你系统上的软件。
5、保持简单
作为一个Linux用户,我要谢谢包管理器,由于它帮助我的生活显得简单。我毋须考虑我安装的软件,我须要更新的东西,也毋须考虑完成后是否真的将其卸载了。我毫不迟疑地试用软件。而当我在安装一台新笔记本时,我运行一个简单的Ansible脚本来手动安装我所依赖的所有软件的最新版本。这很简单,很智能,也是一种奇特的解放。
更好的包管理
Linux从整体看待应用和操作系统。虽然,开源是构建在其他开源工作基础上的,所以发行版维护者理解依赖栈的概念。Linux上的包管理了解你的整个系统、系统上的库和支持文件以及你安装的应用。这种不同的部份协调工作,为你提供了一套高效、优化和强悍的应用。
via:
作者:SethKenlon选题:lujun9972译者:geekpi校对:wxy
本文由LCTT原创编译,Linux中国荣誉推出