Arch Linux 的AUR用户软件仓库
Posted sztom
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Arch Linux 的AUR用户软件仓库相关的知识,希望对你有一定的参考价值。
==== Arch 官方软件仓库,
共10998个(20190325), 使用pacman搜索安装。
https://www.archlinux.org/packages/
Core 210
Extra 2048
Community 4184
以上是/etc/pacman.conf配置里默认启用的包。
下面是不常用或不稳定的包,默认不开启,所以使用pacman -Ss搜索不到的。
multilib,282; KDE-Unstable,253; multilib-Testing,1; Community-Testing,14; Testing,1;
==== Arch AUR 用户软件仓库,
共55590个(20190325), 使用yay(当红的AUR_helpers)搜索安装。
https://aur.archlinux.org/packages/
==== Arch AUR 主页
https://aur.archlinux.org
https://wiki.archlinux.org/index.php/Arch_User_Repository
Arch User Repository(AUR)是Arch用户的社区驱动存储库。
用户可以从AUR Web界面搜索和下载PKGBUILD 。
它包含包描述(PKGBUILDs),允许您使用makepkg从源代码编译包,然后通过pacman安装它。
创建AUR是为了组织和共享来自社区的新包,并帮助加速流行包被包含到社区存储库中。
进入官方存储库的大量新软件包始于AUR。
在AUR中,用户可以贡献自己的包构建(PKGBUILD和相关文件)。
AUR社区可以投票支持AUR中的套餐。
如果包装变得足够流行,且具有兼容的许可证和良好的包装技术,就可以输入community社区存储库(可以通过pacman或abs直接访问)。
警告: AUR包是用户生成的内容,没有官方支持。使用提供的文件的风险由您自行承担。
==== 使用 Arch AUR 必要条件
安装AUR里的软件包前需要安装 base-devel 软件包组,内含编译软件包所需要的工具.
$ sudo pacman -S --needed base-devel
==== 安装 AUR 包步骤(1查找获取包>2检查包>3构建并安装)
从AUR安装包是一个相对简单的过程。实质上:
== 1. 获取构建文件,包括PKGBUILD和可能的其他所需文件,如systemd单元和补丁(通常不是实际代码)。
通过AUR主页,找到所需的包,点击右侧的"Download snapshot"就可以下载到软件包的快照.
AUR主页:https://aur.archlinux.org/
AUR包列表:https://aur.archlinux.org/packages/
有几种获取构建文件的方法:
选项1:克隆在“包详细信息”中标记为“Git Clone URL” 的git存储库。这是首选方法。
$ git clone https://aur.archlinux.org/package_name.git
此方法的一个优点是您可以通过以下方式轻松获取包的更新: git pull
选项2:通过单击右侧“打包操作”下的“下载快照”链接,使用Web浏览器下载构建文件。这将下载一个压缩文件,必须将其解压缩(最好在为AUR版本预留的目录中)
$ tar -xvf package_name.tar.gz
同样,您可以从终端下载tarball(并解压缩):
$ curl -L -O https://aur.archlinux.org/cgit/aur.git/snapshot/package_name.tar.gz
== 2. 验证PKGBUILD和附带的文件是否是恶意的或不可信的。
进入解压后的PKGBUILD文件目录。
$ cd package_name
警告:仔细检查PKGBUILD,任何.install文件以及程序包的git存储库中的任何其他文件是否存在恶意或危险命令。
如果有疑问,请不要构建软件包,并在论坛或邮件列表上寻求建议。
$ less PKGBUILD
提示:如果要更新软件包,可能需要查看自上次提交以来的更改。
要查看自上次git提交以来的更改,您可以使用git show。
要查看自上次使用vimdiff提交以来的更改,请执行 git difftool @[email protected] vimdiff 的优点是您可以查看每个文件的全部内容以及已更改内容的指示符。
== 3. makepkg -si在保存文件的目录中运行。这将下载代码,使用pacman解决依赖关系,编译它,打包它并安装包。
制作包裹。手动确认文件内容后,以普通用户身份运行makepkg:
$ makepkg -si
注: makepkg的三个主要选项
-s/ 在构建之前,--syncdeps使用pacman自动解析并安装任何依赖项。如果包依赖于其他AUR包,则需要先手动安装它们。
-i/ --install如果包成功构建,则安装包。或者,可以安装内置包。pacman -U package.pkg.tar.xz
其他有用的标志是
-r/ --rmdeps删除构建后的构建时依赖项,因为它们不再需要。但是,下次更新程序包时可能需要重新安装这些依赖项。
-c/ --clean在构建之后清理临时构建文件,因为它们不再需要。通常只有在调试构建过程时才需要这些文件。
若遇到类似如下报错,
==> 错误: ‘pacman‘ 无法安装缺少的依赖关系。
这表示这个软件包依赖的某些包也在AUR里,重复上面步骤,按提示先安装缺少的依赖包。
======================
======================
==== 其他选项,使用AUR helpers
https://wiki.archlinux.org/index.php/AUR_helpers
AUR helpers
Jump to navigationJump to search
Warning: AUR helpers are not supported by Arch Linux. You should become familiar with the manual build process in order to be prepared to troubleshoot problems.
AUR_helpers,简单的说就是帮你做上面那些步骤,实现的结果和使用安装官方包的命令pacman几乎一致。只是他们搜索的仓库不同。
民间的AUR_helpers很多,也都在AUR仓库里。比较知名的有yaourt(最近更新时间:2017-07-19),不过这个已经很久没有更新了,斟酌使用。
排名在第一页的还有yay,使用和pacman一样,
https://aur.archlinux.org/packages/yay/
https://github.com/Jguer/yay
== 安装
git clone https://aur.archlinux.org/yay.git
cd yay
makepkg -si
== 使用
yay -Ss 包名 查找包
yay -S 包名 安装包
$ yay -Rns 包 删除包
$ yay -Syu 升级已安装的包
$ yay -Syu --devel --timeupdate 包含开发包
PKGBUILD修改时间(不是版本号)来确定更新。
$ yay -Yc 清除不需要的依赖项
$ yay -G <AUR Package> 从ABS或AUR下载PKGBUILD。
$ yay <搜索术语> 启动包选择菜单
$ yay -Ps 打印系统统计信息
$ yay -Y --gendb 生成用于devel更新的开发包数据库。
$ yay -Sc删除你不再需要的一切。??
============
Yay不显示彩色输出。我如何解决它?
确保您有Color选项/etc/pacman.conf (请参阅问题#123)。
https://github.com/Jguer/yay/issues/123
yay now follows pacman‘s config /etc/pacman.conf for colors.
You need to add Color to your options /etc/pacman.conf
Example (my pacman.conf):
#{{{ General options
[options]
HoldPkg = pacman glibc
CleanMethod = KeepInstalled
UseDelta = 0.7
Architecture = auto
#}}}
#{{{ Misc options
UseSyslog
Color
TotalDownload
CheckSpace
VerbosePkgLists
#}}}
#{{{ Trust
SigLevel = Required DatabaseOptional
LocalFileSigLevel = Optional
RemoteFileSigLevel = Required
#}}}
#{{{ Repositories
[core]
Include = /etc/pacman.d/mirrorlist
[extra]
Include = /etc/pacman.d/mirrorlist
[community]
Include = /etc/pacman.d/mirrorlist
[multilib]
Include = /etc/pacman.d/mirrorlist
#}}}
# vim:fdm=marker
=======================
============================================
以上是关于Arch Linux 的AUR用户软件仓库的主要内容,如果未能解决你的问题,请参考以下文章