我用 LinuxLinux学习|Gentoo/Arch/FreeBSDLinux

你所知道的Linux(五)——AUR邪教的那点事

2019-10-07  本文已影响0人  淀粉月刊

        大家好,我是无用挂件。可能大家会觉得本文有点标题党,但把AUR称作邪教一点也不为过(手动滑稽)。这篇文章就让大家领略一番AUR的魅力。

        讲AUR肯定绕不过Arch Linux。以我Debian党的眼光看来,平心而论,Arch Linux的确是一款相当优秀的发行版。Arch哲学以著名的KISS(Keep it Simple and Stupid)为指导原则,注重代码正确、优雅和极简主义,把Arch打造成了一个——半残品(大雾)。这个“半残品”真的什么都没有,完全按照用户的意愿对功能进行扩充,因而整体完全和用户需求相贴合,没有任何累赘,速度自然一流。但是这也带来一个问题——去看看archwiki内容有多详实就知道了。菜鸟入门,只得兴叹一声水深。而活跃于各式论坛交流群中的热衷于秀技术的creature,自然会不怀好意地拉拢新手到Arch的深坑,最终给Arch这种完全以用户为中心的系统打上神秘的名头以显得他们甚是厉害。不算邪教,那是什么?

        总归是一句话:“系统是拿来用的。”在折腾中精进技术,那是可以;然而为了炫技而去折腾,这是很不好的心态。Arch系发行版系由于其系统日渐稳定而重入我的视野(跟几年前动不动就滚挂相比有了很大的改善,可能是加入了回溯保护机制或者滚动频率降低),因而我才会在这里和大家介绍Arch Linux。

        回到上次的话题——包管理器。Arch系的包管理器是pacman,具有依赖处理和构建软件包的功能,运作模式与apt大致相同。给出常用命令如下:

pacman -Syy = apt update

pacman -Syu = apt update && apt dist-upgrade

pacman -S [PackageName] = apt install [PackageName]

pacman -Sy [PackageName] = apt update && apt install [PackageName]

pacman -R [PackageName] = apt remove [PackageName]

pacman -Rs [PackageName] = apt remove [PackageName] && apt autoremove

pacman -Scc = apt clean

        对源的管理类似。列表位于/etc/pacman.conf或/etc/pacman.d/mirrorlist下,此处篇幅所限,从略。

        先前提到,Arch的一大魅力在于AUR。AUR,即ArchLinux User-community Repository(Arch Linux社区用户软件仓库),可以在社区内自由分享PKGBUILD,然后AUR受信用户会定期把热门软件包提交至community软件库(官方源有core、extra、community、multilib等主要仓库)。AUR极大地扩充了Arch系的可用软件,甚而许多在其它发行版上需要复杂编译配置的软件,一句命令便可从AUR拿来。当然,代价也是有的:Instability。

        先配置archlinuxCN软件源。在/etc/pacman.conf末尾加入一下两行(以tuna镜像源为例):

[archlinuxcn]

Server = https://mirrors.tuna.tsinghua.edu.cn/archlinuxcn/$arch

        然后安装archlinuxcn-keyring导入GPG-Key。AUR工具有很多,最著名的便是yaourt和pacaur(均已停止开发,yaourt已停止维护),可以使用aurman、yay等正在开发的工具作替代(详见https://wiki.archlinux.org/index.php/AUR_helpers)。此处以yaourt为例。

        配置完archlinuxCN源后,执行命令如下安装yaourt:

pacman -Sy base-devel fakeroot

pacman -Sy yaourt

pacman -Syu

        yaourt的使用与pacman类似。

yaourt -S [PackageName] – 从AUR安装软件包

yaourt -Ss [Keyword] – 使用关键字搜索软件包

yaourt -Syu –aur – 从AUR升级本地软件数据库并安装更新

yaourt -Si [PackageName] – 列出软件包信息

yaourt -Sc – 从缓存中清除旧的软件包

yaourt -Su – 安装AUR中的更新软件包

yaourt -Sy – 获取最新的AUR软件包数据库

yaourt -Cd – 清除AUR软件包数据库

yaourt -R [PackageName] – 删除软件包

        关于Arch包管理器的介绍就到这里,我们下期再见。


本文首发于淀粉月刊:https://dfkan.com

本文作者:无用挂件

上一篇下一篇

猜你喜欢

热点阅读