若是你一直在使用 Arch Linux 或其余基于 Arch 的发行版,如 Manjaro,那么可能会遇到 AUR。你尝试安装新软件,有人建议从 AUR 中安装它。这让你感到困惑。php
什么是 AUR?为何使用它?如何使用 AUR?我将在本文中回答这些问题。linux
AUR 表示Arch 用户仓库。它是针对基于 Arch 的 Linux 发行版用户的社区驱动的仓库。它包含名为 PKGBUILD 的包描述,它可以让你使用 makepkg 从源代码编译软件包,而后经过 pacman(Arch Linux 中的软件包管理器)安装。ios
建立 AUR 的目的是组织和共享社区中的新软件包,并帮助加速将流行的软件包归入社区仓库。git
进入官方仓库的大量新软件包都从 AUR 开始。在 AUR 中,用户能够贡献本身的软件包构建(PKGBUILD 和相关文件)。github
AUR 社区能够对 AUR 中的软件包进行投票。若是一个软件包变得足够流行(假设它具备兼容的许可证和良好的打包技术),那么能够将其加入 pacman
直接访问的社区仓库中。安全
简而言之,AUR 是开发人员在 Arch 仓库中正式包含新软件以前向 Arch Linux 用户提供新软件的一种方式。ruby
使用 AUR 就像过马路同样。若是你谨慎操做,应该就没问题。bash
若是你刚接触 Linux,建议你在创建有关 Arch/Manjaro 和 Linux 的基础知识以前不要使用 AUR。svn
的确,任何人均可以将软件包上传到 AUR,但受信任用户(TU)负责监视上传的内容。尽管 TU 对上传的软件包执行质量控制,但不能保证 AUR 中的软件包格式正确或没有恶意。工具
在实践中,AUR 彷佛很安全,但理论上讲它能够形成必定程度的损害,但前提是你不当心。从 AUR 构建软件包时,聪明的 Arch 用户老是检查 PKGBUILD
和 *.install
文件。
此外,TU(受信任用户)还会删除 AUR 中包含在 core/extra/community 中的软件包,所以它们之间不该存在命名冲突。AUR 一般会包含软件包的开发版本(cvs/svn/git 等),但它们的名称会被修改,例如 foo-git。
对于 AUR 软件包,pacman
会处理依赖关系并检测文件冲突,所以,除非你默认使用 –force
选项,不然你没必要担忧用另外一个包中的文件会覆盖另外一个包的文件。若是这么作了,你可能会遇到比文件冲突更严重的问题。
使用 AUR 的最简单方法是经过 AUR 助手。 AUR 助手 是一个命令行工具(有些还有 GUI),可以让你搜索在 AUR 上发布的软件包并安装。
假设你要使用 Yay AUR 助手。确保在 Linux 上安装了 git。而后克隆仓库,进入目录并构建软件包。
依次使用如下命令:
sudo pacman -S git
sudo git clone https://aur.archlinux.org/yay-git.git
cd yay
makepkg -si
复制代码
安装后,你可使用 yay
命令来安装软件包:
yay -S package_name
复制代码
并不是必须使用 AUR 助手来从 AUR 安装软件包。从如下文章解如何在没有 AUR 助手的状况下使用 AUR。
若是你不想使用 AUR 助手,那么也能够自行从 AUR 安装软件包。
在 AUR 页面上找到要安装的软件包后,建议确认“许可证”、“流行程度”、“最新更新”、“依赖项”等,做为额外的质量控制步骤。
git clone [package URL]
cd [package name]
makepkg -si
复制代码
例如。假设你要安装 telegram 桌面包:
git clone https://aur.archlinux.org/telegram-desktop-git.git
cd telegram-desktop-git
makepkg -si
复制代码
它默认状况下未启用 AUR,你必须经过 pamac
启用它。个人笔记本电脑运行 Manjaro Cinnamon,可是全部 Manjaro 变种的步骤都相同。
打开 Pamac(显示为 “Add/Remove Software”):
进入 Pamac 后,请进入以下所示的首选项。
在首选项对话框中,进入 “AUR” 选项卡,启用 AUR 支持,启用检查更新,并关闭对话框。
如今,你能够搜索软件包,而且能够经过软件包描述下的标签来识别属于 AUR 的软件包。
但愿本文对你有用,并关注社交媒体上即将出现的与 Arch 相关的主题。
做者:Dimitrios Savvopoulos 选题:lujun9972 译者:geekpi 校对:wxy