
/usr/sbin/installer
Mountain Lion 이전에는 관리자 권한으로 패키지를 설치할 수 있었습니다 . 그런데 Mountain Lion으로 달리려고 하면
installer -pkg blah.pkg -target /
오류가 발생했습니다.
installer: Must be run as root to install this package.
IFPkgFlagAuthorizationAction
패키지의 info.plist에 있는 변수를 AdminAuthorization
and 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]
내 상황에서는 효과가 있는 것 같았다. 당신에게도 도움이 될 수 있습니다. 물론 경로와 사용자/그룹 이름은 상황에 따라 다릅니다. :)