Make
如果 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 身份執行,我應該如何安裝我的策略文件?
按照慣例,建構程序不需要 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 .'