Arch Linux makepkg

makepkg并行任务

我在使用 Arch Linux AUR 完成 使用zfs-dkms在arch linux(X86)编译安装ZFS 编译内核时发现,默认情况下 make 只使用一个CPU core,导致编译效率非常低。最初,我以为只要采用 并行make 一样的设置方法,即配置 alias 就可以,所以给我当前普通用户 admin 设置了环境变量配置:

配置 make 命令 alias
alias make="/usr/bin/make -j2"

但是我惊奇地发现完全没有效果, yay 安装编译过程依然只使用1个CPU core。

原来 yay 编译生成软件包是通过 makepkg 来完成的,而 makepkg 控制运行参数位于 /etc/makepkg.conf ,其中有独立参数控制了如何并行使用主机CPU。默认情况下, makepkg 没有启用多处理器设置,所以需要手工修订 /etc/makepkg.confDistCC/CMP 开关打开:

修订 /etc/makepkg.conf 启用并行任务设置
#-- Make Flags: change this for DistCC/SMP systems
MAKEFLAGS="-j2"

参考