/usr/sbin/installer 安装失败,但基于 gui 的 installer.app 成功

/usr/sbin/installer 安装失败,但基于 gui 的 installer.app 成功

这只会影响一部分机器,不受 MDM 配置文件的影响。至少如果删除它们,问题仍然存在。

Google 搜索结果中有很多与以下内容相关的错误:

Install rejected with error: Error Domain=PKInstallErrorDomain 
Code=100 "Authorization is required to install the packages."

但这些建议均无效果。

这些是我找到的日志。我的问题是:

我该如何解释这些日志,我应该从哪里开始解决这个问题?

  • 2024-01-29 installd[1605]: PackageKit: 请求(在 * PKTrustLevelAppleDeveloperID)与权限 system.install.apple-software、system.install.software.iap 不兼容

  • 2024-01-29 installd[1605]: PackageKit: 安装被拒绝,错误原因:错误域 = PKInstallErrorDomain 代码 = 100 “安装软件包需要授权。”

  • 2024-01-29 安装程序 [5492]:install:didFailWithError:Error Domain=PKInstallErrorDomain Code=100 “安装软件包需要授权。” UserInfo={NSLocalizedDescription=安装软件包需要授权。}

答案1

日志表明 authDB 相关权限存在问题。在此特定情况下,与安装程序相关的 DB 条目被某个未知进程修改。

security authorizationDB read system.install.software

在受影响的机器上发现一个键的状态Allow-Root被设置为 false

在正常工作的机器上测试该命令后发现该值等于true。

更新授权以允许 root 已解决该问题。

Powershell解决方案:

security authorizationdb read system.install.software | 
plutil -convert json -o - - | ConvertFrom-Json | 
foreach {$_."allow-root" = $true ; $_} | ConvertTo-Json | 
plutil -convert xml1 -o - - | 
security authorizationdb write system.install.software

但是如果您遇到类似的问题,授权条目的权限或规则可能会以不同的方式修改,从而阻止安装程序正常工作。

有用的链接:https://theevilbit.github.io/posts/macos_authorization/

相关内容