Archlinux安装OpenResty

Anchlinux安装

参考链接:安装指南

pacman使用国内源的脚本

1
2
3
4
5
6
7
8
9
10
11
12
update_mirrorlist(){
curl -sSL 'https://www.archlinux.org/mirrorlist/?country=CN&protocol=http&protocol=https&ip_version=4&use_mirror_status=on' | sed 's/^#Server/Server/g' | rankmirrors - > /etc/pacman.d/mirrorlist
}
while true; do
update_mirrorlist
cat /etc/pacman.d/mirrorlist
read -r -p "Is this mirrorlist OK? [Y/n]" confirm
if [[ ! "$confirm" =~ ^(n|N) ]]; then
break
fi
done

社区软件安装

使用yaourt

懒人利器!

1
2
3
4
5
6
7
8
9
10
11
方法1: 使用AUR安装
方法2:使用archlinuxfr源中的yaourt安装包
1. 在/etc/pacman.conf文件中增加如下代码
[archlinuxfr]
# SigLevel = Optional TrustAll # 和下面有什么不同吗?
SigLevel = Never # 解决签名出现missing错误的问题
Server = http://repo.archlinux.fr/x86_64 #针对64位,32位为i686,国内源?=http://repo.fr.archlinux.cn.org/$arch
2. 安装yaourt
$ sudo pacman -Sy yaourt
3. 使用yaourt安装其他非官方软件包,例如OpenResty
$ suduo yaourt openresty

使用AUR

确保已安装 =base-devel= 软件包 : pacman -S –needed base-devel
在/etc/makepkg.conf中,针对处理器使用合适的CFLAGS,CXXFLAGS编译参数,以优化软件包编译。通过设置MAKEFLAGS变量,可以启用多线程。

步骤:

  1. 从AUR下载包含PKGBUILD和其他安装文件的tar包
    两种下载方式:
    • 从软件包信息页面点击 “Download snapshot”(下载快照)
    • 从 “Package Details”中找到”Git Clone URL”然后使用git命令下载,好处是可以使用 =git pull= 命令来更新。
  2. 用命令 =tar -xvzf packagename.tar.gz= 解包
  3. 验证 =PKGBUILD= 和其他相关文件,确保其中不含有恶意代码
    可以使用less命令来进行检查:
    $ less PKGBUILD
    $ less foo.install
  4. 在上述解包文件夹中运行 =makepkg -si= 命令会自动调用pacman解决依赖关系,下载代码,编译打包安装。
    • -s/–syncdeps 标识自动执行pacman安装依赖关系
    • -i/–install 安装软件包
    • -r/–remdeps 移除只在构建时需要的软件包,这回导致重新编译时的再次安装
    • -c/–clean 构建结束时删除临时文件。需要调试构建过程时比较有用

可能的错误和解决办法:

  1. =openresty-1.11.2.3.tar.gz … FAILED (unknown public key B550E09EA0E98066)=
    解决办法:
    $ gpg –keyserver pgp.mit.edu –recv-keys A0E98066
    $ gpg –keyserver hkp://pgp.mit.edu –recv-keys A0E98066
  2. =openresty-1.11.2.3.tar.gz .. FAILED (the public key 25451E….A0E98066 is not trusted)
    解决办法:
    $ gpg2 –edit-key A0E98066
    gpg> trust
    gpg> 5