make가 루트로 실행되지 않는 경우 정책 파일을 어떻게 설치합니까?

make가 루트로 실행되지 않는 경우 정책 파일을 어떻게 설치합니까?

나는 Makefile이 사용자에게 루트 권한을 요구해서는 안 된다는 것을 알고 있습니다. 그래서 저는 /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정책 파일을 어떻게 설치합니까 ?

답변1

평소처럼,건축학이 프로그램에는 루트 액세스가 필요하지 않지만설치하다자주. 그러니 달리는 게 정상이지

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 .'

관련 정보