LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 1132|回复: 0

[转载]yaourt——一个好用的AUR工具

[复制链接]
发表于 2007-11-23 21:59:34 | 显示全部楼层 |阅读模式
转载自:http://www.pigg.org.cn/read.php?85
今后会陆续写一些关于Archlinux使用的文章,欢迎关注。


想必你已经对Archlinux的软件包管理工具Pacman很熟悉了。今天我要为大家介绍AUR和yaourt,只需要简单几个命令,它就可以为你安装很多额外的(Archlinux官方不支持的)软件。


1. 什么是AUR?
AUR表示Archlinux User-Community Repository。翻译成中文就是Archlinux社区软件仓库。它是Archlinux的用户自行编写的PKGBUILDs的集合。我将会在随后为大家解释什么是PKGBUILD。

简单来说,AUR是一些官方软件仓库不支持的社区软件包的组合(当然这里的包也可能作为官方软件包的候选者)。AUR用户只需要对这些软件包进行投票,得票超过一定数目并经过官方包维护人员审批通过既可以进入官方的软件仓库。你可以通过这个站点进行投票:http://aur.archlinux.org


2. 如何使用AUR?
要使用AUR,你需要选择一个合适的包管理工具。这里你有如下一些选择:

aur-sync - 非常简单的工具(用Perl编写);它可以下载
aurbuild - 用Python编写的非常流行的工具;它有很多功能,可惜的是目前它已经没有人来维护了
aur-get - 超级简单的、精炼的工具;它只能下载
yaourt - 可能是最成熟的也是最流行的工具,它有很强大的功能;它是一个很好的Pamcan的前端;你可以从Archlinux法国社区仓库获取它,在/etc/pacman.conf中添加如下仓库,通过pacman -S yaourt命令安装之

[archlinuxfr]
Server = http://repo.archlinux.fr/i686

[archlinuxfr]
Server = http://repo.archlinux.fr/x86_64



3. 如何使用yaourt?
yaourt用起来很简单,而且类似于Pacman的命令,下面是常用的一些命令:

yaourt -S package_name - 从AUR安装软件包
yaourt -Ss password - 使用关键字搜索软件包
yaourt -Syu --aur - 从AUR升级本地软件数据库并安装更新
yaourt -Si package_name - 列出软件包信息
yaourt -Sc - 从缓存中清楚旧的软件包
yaourt -Su - 安装AUR中的更新软件包
yaourt -Sy - 获取最新的AUR软件包数据库
yaourt -Cd - 清楚AUR软件包数据库
yaourt -R package_name - 删除软件包

你可以通过yaourt --help命令获得更多信息。


4. ABS和AUR的区别
ABS只含有Arch开发者创建的软件包。而AUR正相反,它包含用户(社区成员)的PKGBUILDs。你无须太担心,每一个软件包,即使可能会有很多用户的个人风格,但它在发布之前是经过了信任用户(Trusted User)的检查的。


5. PKGBUILD是什么?
前面多次提到了PKGBUILD这个概念,让我们来看看它究竟是什么。PKGBUILD是一个简单的文本文件,它包含如何创建一个软件包的相关描述和该软件包的一些其他信息。

这是一个PKGBUILD文件的例子:



  1. # $Id: PKGBUILD,v 1.12 2003/11/06 08:26:13 dorphell Exp $
  2. # Maintainer: judd
  3. # Contributor: Judd Vinet
  4. pkgname=foo
  5. pkgver=0.99 # note: if the program version is '0.99-10' you should \
  6. write '0.99_10'
  7. pkgrel=1
  8. pkgdesc="short description  foo"
  9. arch=(i686 x86_64)
  10. url="[url=http://www.foo.org%22/][u][color=#0000ff]http://www.foo.org"[/color][/u][/url]
  11. groups=
  12. provides=
  13. depends=('qt' 'python')
  14. makedepends=('guile')
  15. conflicts=('yafoo')
  16. replaces=('mffoo')
  17. backup=('etc/foo/foo.conf')
  18. install=('foo.install')
  19. source=([url=http://www.foo.org/download/$pkgname-$pkgver.tar.gz)][u][color=#0000ff]http://www.foo.org/download/$pkgname-$pk...[/color][/u][/url]
  20. md5sums=('2c0cca3ef6330a187c6ef4fe41ecaa4d35175bee593a7cc7d6205584a94d8625')

  21. build() {
  22. cd $startdir/src/$pkgname-$pkgver
  23. ./configure --prefix=/usr
  24. make || return 1
  25. make prefix=$startdir/pkg/usr install
  26. }
复制代码


标签的含义:
标签 -  含义
Maintainer - 软件包的维护者
Contributor - 第一次发布这个软件包的人
pkgname - 软件包名字
pkgver - 包版本
pkgdesc - 包描述
arch - 该软件包适用的机器架构,如i686或x86_url - 软件包的主页
md5sums - md5计算值,用于包源代码完整性的检测
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表