什么是Arch用户存储库(AUR)?如何在Arch和Manjaro Linux上使用AUR?

时间:2020-01-09 10:37:15  来源:igfitidea点击:

如果我们一直在使用Arch Linux或者其他基于Arch的发行版(例如Manjaro),则可能会遇到术语AUR。我们尝试安装新软件,然后有人建议从AUR安装它。这让我们感到困惑。

这是什么AUR?为什么使用它?如何使用AUR?我将在本文中回答这些问题。

什么是AUR?

AUR代表Arch用户存储库。它是基于Arch的Linux发行版用户的社区驱动的存储库。它包含名为PKGBUILDs的软件包描述,使我们可以使用makepkg从源代码编译软件包,然后通过pacman(Arch Linux中的软件包管理器)进行安装。

创建AUR的目的是组织和共享社区中的新软件包,并帮助加速将流行的软件包纳入社区存储库。

进入官方存储库的大量新软件包都从AUR开始。在AUR中,用户可以贡献自己的软件包版本(PKGBUILD和相关文件)。

AUR社区可以对AUR中的软件包进行投票。如果一个软件包变得足够流行,只要它具有兼容的许可证和良好的包装技术,就可以将其输入pacman可直接访问的社区存储库中。

简而言之,AUR是开发人员在Arch软件库中正式包含新软件之前向Arch Linux用户提供新软件的方法。

我们应该使用AUR吗?有什么风险?

使用AUR就像过马路一样。如果我们谨慎行事,应该没问题。

如果我们不熟悉Linux,建议我们在建立有关Arch / Manjaro和Linux的基础知识之前不要使用AUR。

的确,任何人都可以将软件包上载到AUR,但是受信任的用户(TU)负责密切关注上载的内容。尽管TU对上载的软件包执行质量控制,但不能保证AUR中的软件包格式正确或者不是恶意的。

在实践中,AUR似乎很安全,但从理论上讲它可以造成一定程度的损害,但前提是我们不小心。聪明的Arch用户在从AUR构建软件包时总是检查PKGBUILD和* .install文件。

此外,TU(受信任的用户)还会删除AUR中包含在核心/额外/社区中的软件包,因此它们之间不应存在命名冲突。 AUR通常会包含软件包的开发版本(cvs / svn / git / etc),但它们的名称会被修改,例如foo-git。

对于AUR软件包,pacman处理依赖关系解析并检测文件冲突,因此,除非默认情况下使用force选项,否则我们不必担心用另一个软件包中的文件覆盖一个软件包中的文件。如果这样做,我们可能会遇到比文件冲突更严重的问题。

如何使用AUR?

使用AUR的最简单方法是通过AUR助手。 AUR帮助程序是一个命令行工具(有些还具有GUI),可让我们搜索在AUR上发布的程序包并进行安装。

在Arch Linux上安装AUR助手

假设我们要使用Yay AUR助手。确保在Linux上安装了git。然后克隆存储库,转到目录并构建程序包。

为此,请一一使用这些命令:

sudo pacman -S git
git clone https://aur.archlinux.org/yay.git
cd yay
makepkg -si

安装完成后,我们可以使用yay命令安装软件包:

yay -S package_name

并非必须使用AUR帮助程序从AUR安装软件包。展开下一部分,以了解如何在没有AUR帮助器的情况下使用AUR。

在没有AUR助手的情况下安装AUR软件包

如果我们不想使用AUR助手,也可以自行从AUR安装软件包。

一旦在AUR页面上找到要安装的软件包,建议我们确认许可证,受欢迎程度,最近更新,依赖关系等,作为额外的质量控制步骤。

git clone [package URL]
cd [package name]
makepkg -si

例如。假设我们要安装电报桌面软件包:

git clone https://aur.archlinux.org/telegram-desktop-git.git
cd telegram-desktop-git
makepkg -si

在Manjaro Linux中启用AUR支持

默认情况下未启用AUR,我们必须通过pamac启用它。我的笔记本电脑运行Manjaro肉桂,但是所有Manjaro口味的步骤都相同。

打开Pamac(列为"添加/删除软件"):

进入pamac后,请转到如下所示的首选项。

在首选项对话框中,转到" AUR"选项卡,启用AUR支持,启用检查更新并关闭对话框。

现在,我们可以搜索软件包,并且可以通过软件包描述下的标签来识别属于AUR的软件包。