我是 Linux 生态系统的新手,对所使用的术语有一些困惑。话虽如此,我从 Windows 切换到 Linux 发行版的原因是它提供了一个统一的包管理器,我可以从其中下载和安装软件,而无需在网络上查找必要的软件。我目前使用的发行版是 Ubuntu 20.04.2.0,这很好,但他们提供的软件包有点旧,如果他们至少提供了该软件的 LTS 版本,我就不会抱怨。因此,我最近遇到了 Arch 和 Manjaro,它们是滚动发行版,但我很感兴趣,因为它提供了软件的最新版本和 LTS 版本。太棒了。但是,我有点担心,因为我使用的大多数软件都在社区存储库中(Node JS、Dotnet Core 和 gh)。并且,这里引用了 Arch 文档:
社区包含受信任的用户从 Arch 用户存储库中采用的软件包。其中一些软件包最终可能会过渡到核心或额外存储库,因为开发人员认为它们对发行版至关重要。
它说“受信任的用户”(尊重他们)将包从 AUR 挑选到“社区回购”。从一些在线论坛和文章中,我了解到避免使用 AUR 是一个很好的做法,因为它可能会导致不必要的事情,甚至使电脑感染病毒和恶意软件。再说一次,我是 Linux 世界的菜鸟,对 Arch Linux 及其衍生产品完全不了解。所以,我想知道,使用社区存储库中的软件包是否安全。 “受信任的用户”(社区存储库的维护者)是否检查转换到社区存储库的 AUR 的有效性和安全性?
答案1
是的,您可以信任 Archlinux 的“可信用户”,并且通常也可以信任知名发行版维护者。如果不这样做,您可以自己编译软件(但在这种情况下您应该信任软件开发人员)。我不熟悉任何类型的任何发行版的开发人员故意在公共存储库中传播恶意软件的情况。
关于 archlinux 中的“可信用户”。他们不仅仅是随机将包从 AUR 移动到社区存储库的专家用户。他们被选举出来,他们的 AUR 包也经过审查。当选后,他们被授予特殊权利,包括向社区存储库添加软件包。因此,基本上在 archlinux 中有两种类型的开发人员:“管理”核心/额外存储库的核心开发人员和管理社区存储库和 AUR 包脚本的可信用户。
此外,没有多少软件包从 AUR 移至社区存储库。当某人被选为可信用户时通常会发生这种情况 - 他可以将他使用的一些 AUR 包移动到社区存储库。如果您认为每天有数十个随机 AUR 脚本被移至社区存储库,那么事实并非如此。
Tl;dr,您可以信任社区存储库包。默认情况下,您不应“信任”AUR 包(PKGBUILD 脚本),因为任何用户都可以上传它。
答案2
Arch 社区包是否安全,不会受到病毒或恶意软件的侵害?
不!那么为何不:
大多数包都是从原始来源编译的,或者例如使用并提取/重新打包了另一个发行版的包,因此存在复杂的构建脚本、从 github 下载的东西、补丁...如果您阅读全部内容,您将永远无法确定其他包!脚本、补丁和源文件。
因此,即使 AUR 脚本是干净的,来自其他来源的内容也可能受到污染。
但是,在过去十年左右的时间里,我从未读到过这样的问题。