/usr/sbin/installer에는 패키지를 설치하려면 관리자가 아닌 루트가 필요합니다.

/usr/sbin/installer에는 패키지를 설치하려면 관리자가 아닌 루트가 필요합니다.

/usr/sbin/installerMountain Lion 이전에는 관리자 권한으로 패키지를 설치할 수 있었습니다 . 그런데 Mountain Lion으로 달리려고 하면

installer -pkg blah.pkg -target /

오류가 발생했습니다.

installer: Must be run as root to install this package.

IFPkgFlagAuthorizationAction패키지의 info.plist에 있는 변수를 AdminAuthorizationand even 로 설정했지만 UserAuthorization아무런 효과가 없는 것 같습니다.

실제로 로 실행하기 위해 sudo를 사용하여 설치할 수 있지만 root소프트웨어는 (올바르게) 비 root사용자로 설치할 것으로 예상하므로 작동하지 않습니다.

동일한 패키지에서 GUI Installer.app을 사용하는 경우( 를 수정하지 않은 경우에도 IFPkgFlagAuthorizationAction) 비밀번호가 아닌 관리자를 입력하라는 메시지가 표시되고 root모든 것이 예상대로 작동합니다.

명령줄에서 GUI 도구의 동작을 어떻게 얻습니까?

답변1

오늘도 같은 문제가 발생했습니다. ;)

설치된 파일에 일반 사용자의 소유권을 부여하면서 설치 프로그램을 루트로 실행하는 데 도움을 줄 수는 없지만 동일한 효과를 얻고 궁극적으로 이 제한 사항을 해결하려면 설치 후에 소유권을 변경할 수 있어야 합니다.

예를 들어 사용자 계정이 "myusername"이고 설치 중인 응용 프로그램에 대해 더 나은 소유자 그룹인 "_developer"와 같은 그룹이 있는 경우 설치 후 다음과 같은 방법을 통해 소유권을 재설정할 수 있습니다.

sudo chown -R myusername:_developer ~/Library/[MYAPPNAME]
sudo chown -R myusername:_developer ~/Library/Application\ Support/[MYAPPNAME]

내 상황에서는 효과가 있는 것 같았다. 당신에게도 도움이 될 수 있습니다. 물론 경로와 사용자/그룹 이름은 상황에 따라 다릅니다. :)

관련 정보