
/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
みましたUserAuthorization
が、効果がないようです。
sudo を使用してインストールすると、実際に として実行できますroot
が、ソフトウェアは (正しくは) 非root
ユーザとしてインストールすることを想定しているため、動作しません。
同じパッケージで GUI Installer.app を使用すると ( を変更しなくてもIFPkgFlagAuthorizationAction
)、管理者パスワードではなくパスワードの入力が求められroot
、すべてが期待どおりに動作します。
コマンドラインから GUI ツールの動作を取得するにはどうすればよいですか?
答え1
私も今日同じ問題に遭遇しました。;)
インストールされたファイルに一般ユーザーの所有権を与えながらインストーラーを root として実行する方法をサポートすることはできませんが、インストール後に所有権を変更して同じ効果を得て、最終的にこの制限を回避できるはずです。
たとえば、ユーザー アカウントが「myusername」で、インストールするアプリケーションの所有者グループとして「_developer」などのグループがある場合は、インストール後に次のような方法で所有権をリセットできます。
sudo chown -R myusername:_developer ~/Library/[MYAPPNAME]
sudo chown -R myusername:_developer ~/Library/Application\ Support/[MYAPPNAME]
私の状況ではうまくいったようです。あなたにも役立つかもしれません。もちろん、パスとユーザー名/グループ名は状況によって異なります。:)