AUR用户指南

作者: tx-cary
来自:archlinux.org.cn and linuxsir.org
摘要:AUR的全称是"ArchLinux User-community Repository",即ArchLinux社区用户的软件仓库。它是依靠社区贡献软件包。这个文档告诉普通用户们如何使用AUR。


+++++++++++++++++++++++++++++
正文
+++++++++++++++++++++++++++++

用途简介

AUR的全称是"ArchLinux User-community Repository",即ArchLinux社区用户的软件仓库。它是依靠社区贡献软件包。这个文档告诉普通用户们如何使用AUR。

AUR与用户

AUR中的软件是社区用户提供的,它们没有技术支持,也不保证其安全性(除非它们被TU标记上安全标志)。AUR软件包不一定会被一直维护也不一定会被及时更新。AUR完全依赖用户贡献,你可以以许多形式为AUR做贡献。

在UNSUPPORTED中共享你的PKGBUILD

用户可以将自己的PKGBUILD在AUR中共享。这些包会被标记为UNSUPPORTED。UNSUPPORTED的软件包是用户以PKGBUILD的形式上传提供的给其他用户下载的,不包含任何二进制文件。其他用户可以通过留言的方式提供关于这个软件包的反馈和改进建议。上传者需要注意你上传的包的信息页面上的留言。 TU们会在检测确定你上传的软件没有恶意代码后,会将这个包标记为"安全的"。但是,这些都是非官方的(TU也是非官方的)。所以,如果你要使用这些软件包,一切后果都由你自己负责。

到目前为止,还没有官方的下载编译UNSUPORTED中的软件包的工具,但是你可以在wiki或者community里面找到一些这方面的工具。

[community]

[community]仓库中的软件是作为官方的[current]和[extra]这两个仓库的一个补充。里面有许多很受欢迎的软件包。这些软件包都来自UNSUPPORTED并被TU们维护着。这个仓库里的软件包是提供二进制包的,可以直接被pacman安装。你也可以通过ABS获得这些包的源码。

如果你想在添加community仓库到你的pacman中,只需要在在你的/etc/pacman.conf中添加如下语句即可:

[community]
Server =   ftp://ftp.archlinux.org/community/os/i686/

如果你想通过abs下载community中的软件包源码,只需在/etc/abs/abs.conf 文件中找到如下一行,将community前面的叹号"!"删除:
SUPFILES=(arch extra !unstable community)

投票

所有Arch的用户都能为AUR做的一件最简单的事情就是"投票"。注册AUR用户后,你就可以为你喜欢的软件包投票了。具体方法是在你感兴趣的软件包信息web页面中找到"vote"按钮点击即可。所有包都有资格进入community仓库,投票数目是包选拔的一个标准。因此,大家积极投票吧!

如何使用AUR

使用UNSUPORTED中的软件包

要安装UNSUPPORTED中的软件包,你可以遵照如下步骤:
* 用AUR网站上的 [http://aur.archlinux.org/packages.php 搜索] 功能找到你感兴趣的软件包。点击软件包的名字,会打开一个关于这个包的信息页面。在包简介下方你会发现这三个链接:

Tarball :: Files :: PKGBUILD

  • 点击Tarball下载你构建二进制软件包所需要的文件。这个文件叫做 foo.tar.gz。其中foo是你需要的包的名称。
  • 解压这个文件。它会创建一个新目录,如foo。里面包含了你编译二进制软件包所需的所有文件。
  • 注意!!然后仔细检查PKGBUILD和所有的.install文件,看看里面是否有恶意代码。如果有,或者有"疑似"的,千万不要编译它。请在论坛或邮件列表中获得相关建议。
  • 建议大家使用 fakeroot 来编译软件包(下面会介绍)。你可以作为普通用户在编译目录运行makepkg来手动检查文件的完整性。源码文件会自动被下载,校验然后编译。
  • makepkg会生成一个后缀名为.pkg.tar.gz的包。这个包可以用pacman直接安装。如运行:
    pacman -U foo.pkg.tar.gz

"请注意":以上的方法只是一个编译软件包的流程概述。强烈建议阅读 [[ABS]] 文档了解更详细的内容,特别是第一次打包的用户。

使用akeroot

fakeroot 是一个让普通用户获得创建软件包所需的足够权限,而不会改变系统的其它部分。如果编译进程尝试访问编译环境以外的的目录会报错退出 - 这在检测PKGBUILD编写的质量、安全性、完整性十分有用。export USE_FAKEROOT="y"/etc/makepkg.conf,中的默认配置。因此fakeroot默认是开启的,除非你改变这个配置。

===向UNSUPPORTED提交软件包===
在AUR网站登录后,用户可以[http://aur.archlinux.org/pkgsubmit.php 提交]一个打包成 tar.gz 格式的包。这个包中需要包含一个目录,目录中有编译软件包需要的文件。这些文件必须包含一个PKGBUILD,还有一些其它文件是可选的。比如.install文件,补丁文件等。绝对不要包含任何二进制文件。你可以到/var/abs目录下参看相关的软件包。

当你准备要提交一个包时,请注意以下规定:
* 检查 [extra], [current], [unstable], UNSUPPORTED, 和 [community] 中的已有的包。无论这个包以任何形式存在于这些仓库中,请不要提交此包(如果已有的包无法使用,或者缺少应该具备的功能,请在[http://bugs.archlinux.org/ FlySpray]提交BUG报告。
* 仔细检查以确保你上传的东西是正确的。所有贡献者在编写PKGBUILD时必须阅读并遵守[[Arch Packaging Standards]]中的规则。用户能够基本顺畅而成功的使用AUR是十分重要的。别指望用户在一个糟糕的PKGBUILD上浪费了他们的时间后,还能给你笑脸。
* 包含二进制文件或者写得很烂的包将会在没有任何警告的情况下删除。
* 如果你还不熟悉如何编译、打包、提交软件包,或者还有不其它不明白的地方。在提交到AUR之前,先将你的PKGBUILD提交到AUR邮件列表或者论坛中的AUR板块中。在那里,大家会帮你检查你的软件包。
* 请确认你的包是有用的。其他用户会不会想用这个包?它是不是非常冷门的?如果至少有一些用户发现你的包有用,提交上AUR就是正确的。
* 在提交包之前多多积累经验。自己编译一些包以学习整个流程,然后再提交。

===维护在UNSUPPORTED中的包===
* 多看看其他用户的反馈,吸取他们的改进建议。把这当成是一个学习的过程!
* 请不要提交后就把它们忘了!在它处于UNSUPPORTED状态时,维护、更新和改进PKGBUILD是上传者的义务。
* 如果你由于种种原因不愿意再维护这个包了,在AUR信息页面中disown 这个包,然后(或者)在AUR邮件列表中发消息。

==AUR-DMS(下载和管理AUR的脚本)==

=== AUR-DMS 列表 ===
#aur-sync (Perl) - 下载所有的AUR包
#aur-install (bash)
#aurup (bash) - 向AUR上传包
#aurscripts (bash):
##aurcreate - 为上传AUR创建一个干净的包
##aurdownload - 下载然后解压一个AUR上的包
##aurupdate - 升级一个包的版本(如果指定)然后md5校验
#autoaur (bash) - 依赖aurscripts,自动升级你从AUR中安装的包
#yaourt (bash) - srcpac的一个打包器
#[[aurbuild]] (Python) - 投票最多的管理脚本
#[[aurbuild | qpkg]] (Python) - 也能用在不是AUR的软件,投票第二多的软件。但是……好像最强大?

所有脚本可以在 UNSUPPORTED 中找到。

评论

评论查看选项

选择您喜欢的显示评论的模式,并点击"保存设置"来激活您所做的改变。
scarpe nike:Scarpe 提交者: sneakers
Thank you very much.As I 提交者: sneakers
Do you know about some place 提交者: stellajohn