ArchLinux社区捐献包AUR安装工具Yaourt

根据官方的定义,MSYS2是一款Windows上运行的基于CYGWIN(主要是脱离了cygwin.dll, 重写的动态库msys-2.0.dll)和MINGW-W64的软件打包发行平台。相对于CYGWIN提倡的POSIX兼容,它更加注重与windows的兼容性和运行效率。它其中用到了一款winpty的开源软件来处理CYGWIN shell和WIN不兼容的问题。在漫长使用cygwin的过程中,我也是通过安装winpty来处理的。其实,babun shell封装cygwin时也利用了winpty.

对于MSYS,我09年安装过一次后并未再使用,不记得但是是神马原因没有选择它。MSYS2(官方版本安装完300MB不到,我没记错的话CYGWIN最小化安装的是500M样子吧)我使用的是git sdk 64版。对于同一台PC而言,我们适当建立软链接即可实现不同软件共享统一配置。在WIN中,对于各类shell的统一使用而言,我建议使用CONEMU(cmder)。这些都并非篇博文重点,就不详述啦。

在使用MSYS2的过程中,我感觉最方便的就是其包管理工具:pacman。一来是解决依赖问题,二来其维护者和社区还是相对比较活跃,换言之,它说支持的各类软件包都比较新。不用于生产环境,我们自己平时在家折腾下还是不错的。

对于PACMAN,使用起来和YUM/RPM、apt等工作原理都差不多。/etc/下配置文件配置源站/etc/pacman.d,然后是程序根据制包规则和依赖库去执行程序的安装。具体的命令使用大家可以man pacman或者点击这里查看

这里重点说的是其社区捐献包,这东西对于其他类unix系统有没有呢?其实,社区捐献同样是存在的。只是他们一般都会由一些大型的用户社区自行维护一些基于社区的源站,然后可以通过官方包管理工具来直接安装啦。 而对于ArchLinux,她相对是一个比较新兴的系统项目,他们目前的策略是分开推出了一个社区捐献的子项目(基于git系统)。使用用户可以自行将捐献用户的包按照官方提供的工具压制成pacman能够接受的格式(makepkg -s,之后用pacman -U xxx.tar.xz安装;或者直接makepkg -si)。从在正确的时候对正确的人做正确的时候而言,这绝对是一个明智之举。

所以,产品要火,未必要idea有多新颖,还牵涉到其他方方面面。从另一个层面而言,类unix系统那么多,为什么uBuntu后起之秀啦?为什么CentOS流行?为什么ArchLinux在市场基本成型时能杀出血路成为后起之秀?你看,我不是了解到了她,并慢慢开始去了解和关注他了嘛?貌似又跑题。。。

官方将该子项目命名为AUR(Arch User Repository)。至于如何使用,之前的wiki链接已经写得很清楚啦。而且今天的主角Yaourt本身也是一只AUR。

我们先看看Yaourt怎么安装吧。过程如下:

pacman -S --needed base-devel
cd /usr/local/src
git clone https://aur.archlinux.org/package-query.git
cd package-query
makepkg -sirc
cd ..
git clone https://aur.archlinux.org/yaourt.git
cd yaourt
makepkg -sirc
yaourt #查找和安装

到此安装完成,以上安装说明AUR目前是不能自己解决依赖问题的。

用户社区上还有很多yaourt和pacman相关的AUR,大家可以到ArchLinux官网搜索看看。

虽然开篇提及了cygwin、msys2等等,但我这里是在archlinux虚拟机上完成的操作! MSYS2下未成功,原因暂未调查~