如果 make 不应该以 root 身份运行,那么我如何安装策略文件?

如果 make 不应该以 root 身份运行,那么我如何安装策略文件?

我知道 Makefile 不应该要求用户是 root。所以我/usr/local这样使用:

PREFIX=/usr/local

install:
    install -D example $(PREFIX)/bin/example

效果很好。但我还需要为 polkit 安装一个策略文件。唯一有效的路径是/usr/share/polkit-1/actions/.如果我尝试使用install,我会收到以下错误:

install: cannot create regular file '/usr/share/polkit-1/actions/com.example.policy': Permission denied

如果我无法要求用户make以 root 身份运行,我该如何安装我的策略文件?

答案1

按照惯例,建筑程序不需要 root 访问权限,但是安装经常如此。所以跑起来很正常

make
sudo make install

或者,在构建要包含在包中的软件时,例如:

make
mkdir install-root
fakeroot -- sh -c 'make PREFIX="$PWD/install-root/usr/local" install && cd install-root && tar -czf ../package.tgz .'

相关内容