
在使用 Mountain Lion 之前,我能夠以/usr/sbin/installer
管理員使用者身分安裝軟體包。然而,和山獅一起,當我嘗試跑步時
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
我今天遇到了同樣的問題。 ;)
我無法幫助您以 root 身份運行安裝程序,同時為安裝的文件提供普通用戶的所有權,但您應該能夠在安裝後更改所有權以獲得相同的效果並最終繞過此限制。
例如,如果您的使用者帳戶是“myusername”,並且您有一個群組(例如“_developer”),該群組對於您正在安裝的應用程式來說是更好的所有者群組,則您可以在安裝後透過以下方式重置所有權:
sudo chown -R myusername:_developer ~/Library/[MYAPPNAME]
sudo chown -R myusername:_developer ~/Library/Application\ Support/[MYAPPNAME]
這似乎適合我的情況。也可能對你有幫助。當然,路徑和使用者/群組名稱將根據您的具體情況而定。 :)