Arch Linux makepkg
makepkg并行任务
我在使用 Arch Linux AUR 完成 使用zfs-dkms在arch linux(X86)编译安装ZFS 编译内核时发现,默认情况下 make 只使用一个CPU core,导致编译效率非常低。最初,我以为只要采用 并行make 一样的设置方法,即配置 alias 就可以,所以给我当前普通用户 admin 设置了环境变量配置:
配置
make 命令 aliasalias make="/usr/bin/make -j2"
但是我惊奇地发现完全没有效果, yay 安装编译过程依然只使用1个CPU core。
原来 yay 编译生成软件包是通过 makepkg 来完成的,而 makepkg 控制运行参数位于 /etc/makepkg.conf ,其中有独立参数控制了如何并行使用主机CPU。默认情况下, makepkg 没有启用多处理器设置,所以需要手工修订 /etc/makepkg.conf 将 DistCC/CMP 开关打开:
修订
/etc/makepkg.conf 启用并行任务设置#-- Make Flags: change this for DistCC/SMP systems
MAKEFLAGS="-j2"