5

До появления Mountain Lion я мог устанавливать пакеты с помощью /usr/sbin/installer как пользователь с правами администратора. Тем не менее, с горным львом, когда я пытаюсь бежать

installer -pkg blah.pkg -target /

Я получаю ошибку

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

Я связался с переменной IFPkgFlagAuthorizationAction в IFPkgFlagAuthorizationAction пакета, установив для него значение AdminAuthorization и даже UserAuthorization , но, похоже, это не имеет никакого эффекта.

Я могу установить с sudo, чтобы фактически запустить от имени пользователя root , но программное обеспечение (правильно) ожидает, что я установлю его как пользователь без полномочий root и поэтому не работает.

Если я использую GUI Installer.app в том же пакете (даже без изменения IFPkgFlagAuthorizationAction), мне будет предложено ввести пароль администратора, а не пользователя root и все будет работать как положено.

Как узнать поведение инструмента с графическим интерфейсом из командной строки?

1 ответ1

1

Я столкнулся с той же проблемой сегодня. ;)

Я не могу помочь вам запустить программу установки с правами root, предоставляя установленным файлам права владения обычному пользователю, но вы сможете изменить владельца после установки, чтобы получить тот же эффект и в конечном итоге обойти это ограничение.

Если, например, ваша учетная запись пользователя "myusername" и у вас есть группа, например "_developer", которая является лучшей группой владельцев для устанавливаемого вами приложения, вы можете сбросить владельца после установки с помощью чего-то вроде:

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

Казалось, работает в моей ситуации. Может помочь тебе тоже. Конечно, пути и имена пользователей / групп будут соответствовать вашей ситуации. :)

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .