如何使用 Yaourt 轻松下载 Arch Linux 社区软件包

介绍


在这篇文章中,我希望解释为什么Arch选择以这种方式工作,以及你如何可以轻松获得其中几乎任何包。

字典:**

  • PKGBUILD:构建创建 Arch 包的脚本
  • makepkg:读取 PKGBUILD 并生成 Arch 包的工具
  • AUR: Arch 用户存储库,社区集 PKGBUILDs
  • pacman: Arch Linux 的标准包管理工具
  • yaourt: 获取和构建 AUR 包的工具

哲学


创建新 Arch Linux 滴后,您可以使用 pacman 访问三个标准存储库:

  • 核心
  • 额外
  • 社区

核心和额外的存储库是由权力维护的。社区是由Arch用户维护的,但这可能不是你所期望的。Arch维护者对成为标准包的内容非常严格。除了达到投票门槛外,官方的社区包必须被Arch称为可信用户所采用。维护者看不到一个包与第1方包管理器可访问的理由,除非它可能在第1方级保持。这与试图维护尽可能多的包相反,许多其他发行商已经尝试(而且往往失败了)。

然而,与大多数其他发行版不同的是,Arch Linux还保留了一个额外的社区存储库,用户可以快速和松散地播放。这就是Arch User Repository(https://aur.archlinux.org/)。AUR是透明的,由集体在线调控,因此它鼓励有机增长。

AUR 套件不是源包或二进制套件,而是用于获取、构建(如有必要)和安装软件的指令(PKGBUILD)。这种方法是从 FreeBSD 端口借来的。在源二进制频谱上,PKGBUILD 可以将任何东西从 git 存储库到.deb 存储库作为源。

Arch Linux 是一个滚动版本的发行版,所以您从 AUR 或标准存储库下载的任何包将是最新的 Arch 版本,即使您正在使用较旧的发行版。 由于任何数据包只有一个可下载版本,所以更容易修复包 ,并且修复程序适用于所有人。 如果更新破坏了某些东西,降级可以像在 PKGBUILD 中更改源文件版本一样容易,只要旧源文件仍然可用。

主条目:Arch Linux vs Mainstream Linux


Arch Linux:

  • 由 Arch 维护者和受信任用户维护的标准包
  • 阴影社区包被锁在 AUR 领域
  • 随时发布一次包 = 群集修复效果
  • 透明度鼓励社区参与和有机增长

主流 Linux:

  • 标准包下载均匀但不保持均匀
  • 包版本取决于发布 = 群集修复效果不可行
  • 反面社区包装阻碍了有机增长

Ubuntu 有一个存储库类似于 AUR 称为宇宙. 从 9.04 (Jaunty) 开始,宇宙存储库是默认启用的. 要把这一点放在前景中,Ubuntu 的情况类似于让 Arch 用户访问几种不同的 AUR 与 pacman 直接出盒子,不允许闭源项目,也不提供立即社区反馈的手段。

这里是 AUR 中的 nodejs git 包

这里是Ubuntu的宇宙存储库中的nodejs dev包

除了缺乏关于包的谈话之外,请注意 Ubuntu 包页面的侧面出现了哪些单词:

`一般来说,用户不应该联系原始维护者。

法语为酸奶


遗憾的是,尽管 AUR 中有许多精彩且保养良好的包,但在新安装 Arch 后,无法轻松访问它们,但是,ArchWiki 有许多AUR 助手(https://wiki.archlinux.org/index.php/AUR_Helpers)的页面,可以简化收购包的过程。

Yaourt 将安装 AUR 包的繁琐过程缩小到关键字搜索和一系列没有问题,这也有效地取代了 pacman,因为它可以搜索和安装 AUR 和标准包。

下载 鸡蛋,鸡蛋


瑜伽可以通过几种方式获得:

  1. 将 archlinuxfr 存储库添加到 /etc/pacman.conf
  2. 从 AUR 中构建酸奶包

如果您想知道从 AUR 下载和构建包通常是如何工作的,请跳过 方法 2。

方法 1:通过自定义存储器安装


打开 pacman 的配置文件以添加自定义存储库。

1sudo vi /etc/pacman.conf

将 archlinuxfr 存储库添加到底部。

1[archlinuxfr]
2SigLevel = Never
3Server = http://repo.archlinux.fr/$arch

$arch 变量只保留您的分布是 x86 还是 x86_64。

将自定义存储库添加到 pacman.conf 后,需要同步包数据库以包括来自 archlinuxfr 的包和任何需要的标准包的更新。

1sudo pacman -Sy

现在,酸奶及其依赖品可以像任何其他包一样通过Pacman安装。

1sudo pacman -S yaourt

另一种方式是,你可以在一行中做这两件事。

1sudo pacman -Sy yaourt

方法2:通过 AUR 安装


虽然不是心脏疲软的,但这种方法实际上是你通常会从AUR下载,构建和安装任何包,如果没有一个辅助工具,如酸奶。

一般过程是这样的:

  1. 下载包含 PKGBUILD 的 tarball 2. 扩展 tarball
  2. 在包含 PKGBUILD 的文件夹中运行 makepkg 4. 安装生成的.xz 文件

首先,酸奶需要包问卷包才能工作。

确保标准存储库是最新的任何包查询或酸奶可能需要的。

1sudo pacman -Sy

从 AUR 提取文件。

1curl -O https://aur.archlinux.org/packages/pa/package-query/package-query.tar.gz

扩展文件以访问 PKGBULD。

1tar zxvf package-query.tar.gz

输入包含 PKGBUILD 的文件夹。

1cd package-query

The -s flag 同步包的标准存储依赖(如果有)与 pacman 在尝试构建包之前。

1makepkg -s

** 选项**:如果您没有用户设置,请添加 --asroot 以强迫 makepkg 作为 root 运行. 在正常情况下,您不应该构建具有 root 权限的包 ,因为 PKGBUILD 可能包含恶意或错误的代码。

1makepkg -s --asroot

安装由 makepkg 生产的.xz 文件. 作为捷径,您可以运行 makepkg 用 -i (即 makepkg -si 而不是 makepkg -s) 以包括此步骤。

1sudo pacman -U *.xz

接下来,与酸奶蛋白一样做。

1curl -O https://aur.archlinux.org/packages/ya/yaourt/yaourt.tar.gz
2tar zxvf yaourt.tar.gz
3cd yaourt
4makepkg -si

** 注意**:虽然包查询是酸奶的依赖性,但给予 makepkg -s旗不会同步它,因为它不在标准存储库中。这就是为什么它需要单独构建的原因。尽管包查询是在archlinuxfr存储库中,一旦你添加它,你也可以通过pacman安装酸奶。由于酸奶处理AUR依赖性,你通常不需要单独构建AUR依赖性。

使用瑜伽


典型的酸奶的使用开始通过它一个想要的关键字. 酸奶将看两个包的名称和描述。

1yaourt <keyword>

当您进行搜索时,每个匹配的包的酸奶列表:

  • 描述 *版本号 *是否安装包 *投票对包

如果安装的软件包比 AUR 中的软件包更老,则将被突出显示,这可以帮助追踪正在破坏您的系统的软件包。

当你从列表中选择一个包时,酸奶显示了最新的评论,并询问你是否想编辑PKGBUILD。

除了搜索之外,瑜伽还支持其他标准的包管理操作。

  • yaourt -S :安装或更新包
  • yaourt -Sy:同步 pacman包数据库
  • yaourt -R :删除包
  • yaourt -G :获取包 的PKGBUILD * yaourt -stats:显示使用了多少空间包

Yaourt有出口选项,可在建造后存储包裹。

1yaourt -Sb --export <destination dir> <package>

如果你想构建和存档包而不安装它,只需在安装步骤中说不,因为酸奶是一种交互式工具,如果你需要自动化这个过程,你可能会想找到其他东西。

资源


Arch User Repository Arch Build System makepkg PKGBUILD Yaourt The yaourt AUR package

Submitted by: Robert Qualls
Published At
Categories with 技术
Tagged with
comments powered by Disqus