介绍
在这篇文章中,我希望解释为什么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 直接出盒子,不允许闭源项目,也不提供立即社区反馈的手段。
除了缺乏关于包的谈话之外,请注意 Ubuntu 包页面的侧面出现了哪些单词:
`一般来说,用户不应该联系原始维护者。
法语为酸奶
遗憾的是,尽管 AUR 中有许多精彩且保养良好的包,但在新安装 Arch 后,无法轻松访问它们,但是,ArchWiki 有许多AUR 助手(https://wiki.archlinux.org/index.php/AUR_Helpers)的页面,可以简化收购包的过程。
Yaourt 将安装 AUR 包的繁琐过程缩小到关键字搜索和一系列是
或没有
问题,这也有效地取代了 pacman,因为它可以搜索和安装 AUR 和标准包。
下载 鸡蛋,鸡蛋
瑜伽可以通过几种方式获得:
- 将 archlinuxfr 存储库添加到 /etc/pacman.conf
- 从 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下载,构建和安装任何包,如果没有一个辅助工具,如酸奶。
一般过程是这样的:
- 下载包含 PKGBUILD 的 tarball 2. 扩展 tarball
- 在包含 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