
Antes do Mountain Lion, eu conseguia instalar pacotes /usr/sbin/installer
como usuário administrador. No entanto, com o Mountain Lion, quando tento correr
installer -pkg blah.pkg -target /
eu recebo o erro
installer: Must be run as root to install this package.
Eu brinquei com a IFPkgFlagAuthorizationAction
variável no info.plist do pacote, definindo-a como AdminAuthorization
e even UserAuthorization
, mas isso não parece ter nenhum efeito.
Posso instalar com sudo para realmente rodar como root
, mas o software (corretamente) espera que eu instale como não- root
usuário e, portanto, não funciona.
Se eu usar a GUI Installer.app no mesmo pacote (mesmo sem modificação em IFPkgFlagAuthorizationAction
), será solicitada uma senha de administrador - não root
- e tudo funcionará conforme o esperado.
Como obtenho o comportamento da ferramenta GUI na linha de comando?
Responder1
Encontrei o mesmo problema hoje. ;)
Não posso ajudá-lo a executar o instalador como root enquanto atribui aos arquivos instalados a propriedade de um usuário comum, mas você poderá alterar a propriedade após a instalação para obter o mesmo efeito e, finalmente, contornar essa restrição.
Se, por exemplo, sua conta de usuário for "meunomedeusuário" e você tiver um grupo como "_developer" que seja um grupo de proprietários melhor para o aplicativo que você está instalando, você poderá redefinir a propriedade após a instalação através de algo como:
sudo chown -R myusername:_developer ~/Library/[MYAPPNAME]
sudo chown -R myusername:_developer ~/Library/Application\ Support/[MYAPPNAME]
Pareceu funcionar na minha situação. Pode ajudar você também. É claro que caminhos e nomes de usuários/grupos seriam específicos para sua situação. :)