什么是 Arch 用户仓库(AUR)以及如何使用?
创始人
2024-03-02 04:47:26
0

如果你一直在使用 Arch Linux 或其他基于 Arch 的发行版,如 Manjaro,那么可能会遇到 AUR。你尝试安装新软件,有人建议从 AUR 中安装它。这让你感到困惑。

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

什么是 AUR?

AUR 表示 Arch 用户仓库 Arch User Repository 。它是针对基于 Arch 的 Linux 发行版用户的社区驱动的仓库。它包含名为 PKGBUILD 的包描述,它可让你使用 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 似乎很安全,但理论上讲它可以造成一定程度的损害,但前提是你不小心。从 AUR 构建软件包时,聪明的 Arch 用户总是检查 PKGBUILD*.install 文件。

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

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

如何使用 AUR?

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

在 Arch Linux 上安装 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 助手,那么也可以自行从 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

在 Manjaro Linux 中启用 AUR 支持

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

打开 Pamac(显示为 “Add/Remove Software”):

进入 Pamac 后,请进入如下所示的 首选项 preferences 。

在首选项对话框中,进入 “AUR” 选项卡,启用 AUR 支持,启用检查更新,并关闭对话框。

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

希望本文对你有用,并关注社交媒体上即将出现的与 Arch 相关的主题。


via: https://itsfoss.com/aur-arch-linux/

作者:Dimitrios Savvopoulos 选题:lujun9972 译者:geekpi 校对:wxy

本文由 LCTT 原创编译,Linux中国 荣誉推出

AUR

相关内容

做AI应用的最佳姿势:首选...
↓推荐关注↓ 最近我花了一些时间用 Tauri+SvelteKi...
2025-02-27 22:19:11
AI赋能商务办公 Thin...
随着AI技术的深入应用,从数据分析到内容生成,再到高效日程管理,智...
2024-12-25 19:14:34
捕获到未经处理的无效图像,...
以下是一个示例解决方案,用于捕获未经处理的无效图像并将其添加到包含...
2024-12-25 00:01:52
ThinkPad X1 C...
随着AI技术的迅速落地,办公设备从传统工具向智能化助手的转变已成大...
2024-12-24 15:44:46
Blob的DataUri和...
Blob的DataUri和Base64字符串DataUri的区别在...
2024-12-22 19:01:34
BlazorWebasse...
在JavaScript中编写保存canvas内容为DataURL的...
2024-12-22 01:30:57

热门资讯

Helix:高级 Linux ... 说到 基于终端的文本编辑器,通常 Vim、Emacs 和 Nano 受到了关注。这并不意味着没有其他...
使用 KRAWL 扫描 Kub... 用 KRAWL 脚本来识别 Kubernetes Pod 和容器中的错误。当你使用 Kubernet...
JStock:Linux 上不... 如果你在股票市场做投资,那么你可能非常清楚投资组合管理计划有多重要。管理投资组合的目标是依据你能承受...
Epic 游戏商店现在可在 S... 现在可以在 Steam Deck 上运行 Epic 游戏商店了,几乎无懈可击! 但是,它是非官方的。...
《Apex 英雄》正式可在 S... 《Apex 英雄》现已通过 Steam Deck 验证,这使其成为支持 Linux 的顶级多人游戏之...
从 Yum 更新中排除特定/某... 作为系统更新的一部分,你也许需要在基于 Red Hat 系统中由于应用依赖排除一些软件包。如果是,如...
通过 SaltStack 管理... 我在搜索Puppet的替代品时,偶然间碰到了Salt。我喜欢puppet,但是我又爱上Salt了:)...
如何在 Github 上创建一... 学习如何复刻一个仓库,进行更改,并要求维护人员审查并合并它。你知道如何使用 git 了,你有一个 G...
Opera 浏览器内置的 VP... 昨天我们报道过 Opera 浏览器内置了 VPN 服务,用户打开它可以防止他们的在线活动被窥视。不过...
如何检查你的 Linux 系统... 不知道在使用哪个初始化系统?以下是方法。每个主流 Linux 发行版(包括 Ubuntu、Fedor...