操作系统:Linux Mint 18.3
我将自己描述为低中级 Linux 用户。
我只花了大约 4 个小时研究如何升级我的 NodeJS 版本。最后,我不得不调整一个被 CURLed 的构建脚本。
我的问题是:在 Linux 操作系统中安装新软件或更新现有软件的推荐方法是什么?
例如,在尝试寻找解决方案的过程中,我发现可以简单地为最新的 NodeJS 版本下载一个 .tar.gz,然后解压……然后配置 PATH 环境变量。这似乎是一种非常简单的做事方式。
但不知何故,这似乎不对:特别是,不是所有的 Linux 应用程序都使用系统中的现有包吗?因此,如果您只是使用一组自包含的可执行文件,这是否意味着您有重复代码、使用过时和未记录的依赖模块等的风险?
安装应用程序时是否还使用其他目录,例如 \opt?我不知道那是什么,但它可能很重要。此外,如果您没有使用列出的存档进行安装,您显然不能通过按一下按钮(apt-get update
然后apt-get install X
)进行更新。
优先顺序?
- 第一件事(据我了解)是查看本地 Synaptic 存储库(如果这是正确的话)。但是,如果您想要的东西不存在,或者通常情况下已经过时了怎么办?
- (在 Linux Mint 中)还有“软件管理器”。我永远不确定这通常与 Synaptic 有何关系。
- 在此之后有 PPA。它们是否比下载和解压压缩文件(通常是 .tar.gz)低或高?
- 最后,如果有的话,一个压缩文件。
当您的系统存储库缺少最新版本时,与使用 PPA 相比,简单下载的压缩文件有哪些优缺点?
例如,我收到的错误消息apt-get update
似乎表明我当前的 MariaDB 版本完全不正常:来自配置的 PPA 的 404 错误(我想就是这样)。我似乎需要更新或安装新版本。同样,我刚刚从该站点下载了最新的 MariaDB 的 .tar.gz:很容易提取它,并根据需要调整 PATH 变量。
IMO,您的优先顺序是正确的;软件管理器是 Synaptic 的一个更漂亮的版本,更像是一个 Windows 商店,但没有一些幕后功能。如果可能,您应该始终坚持使用默认存储库,因为它们由发行版经理检查,而您通过 PPA 将信任置于未知数量。
与压缩 tarball 相比,PPA 具有一个主要优势 - 它们被添加到您的系统中(无论好坏),这意味着它们将像系统一样获得更新。但是,正如您已经遇到的那样,如果 PPA 维护不善,您的系统可能会陷入困境。
压缩的 tarball 通常很容易删除,只需删除您将其解压缩到的目录树即可。只需准备手动检查更新。