我应该如何检查 PKGBUILD?

我应该如何检查 PKGBUILD?

使用 AUR,您需要手动验证 PKGBUILD 文件并安装脚本。

你实际上应该做什么/如何做?需要注意哪些危险信号?合法软件包所做的哪些常见操作是“正常”的?

我查看的包通常会下载一些脚本或档案,然后运行其中的内容。 PKGBUILD 本身似乎没有做任何坏事,但它会卷曲包含数百个文件的存档,然后运行它们。大多数 AUR 工具甚至没有办法查看除 PKGBUILD 和安装脚本之外的任何内容,并期望您仅根据这些内容做出决定。我是否应该寻找下载的文件,花几个小时(或几天)阅读所有代码(这可能超出我自己的编程知识),然后回来“决定”安装 AUR 包?

答案1

PKGBUILD 只是 bash 脚本。它们被设计为可读。

Arch Wiki 有一个不同功能的指南,以及您应该在每个内容中看到什么。

这里的奇怪变化,特别是prepareinstall函数中的变化,应该仔细检查。删除涉及$HOME$PATH应予以怀疑并进行全面调查的文件或安装。

这些包括有效的 pgp 密钥和完整性校验和,确保您下载的源代码有效。如果其中任何一个失败,Makepkg 都会向您发出警告,这将是一个巨大的危险信号,不能继续进行。

您还可以阅读Arch 包装标准了解如何创建 PKGBUILD。

至于实际的上游源,假设它是有效的,那是只有你可以进行的调用。恶意软件无处不在,但受信任的用户在阻止 AUR 获取恶意软件方面做得非常出色。如果您使用其他来源的 PKGBUILD,那么您就得靠自己了。

还有由于打包器错误而损坏的 PKGBUILD这可能会带来灾难性的后果。因此,在运行它们之前,尽可能阅读它们是有意义的。

相关内容