网络下载的软件没有权限安装到Mac上 或 “报磁盘已损坏”

网络下载的软件没有权限安装到Mac上 或 “报磁盘已损坏”

解决方法:
打开“系统偏好设置”->安全与隐私->通用->选择“任何来源”。

“通用”里边有时没有显示“任何来源”这个选项

解决方法:
显示“任何来源”选项在控制台中执行:“sudo spctl --master-disable”命令;
不显示“任何来源”选项(Mac OS10.12默认为不显示)在控制台中执行:“sudo spctl --master-enable”命令;

若安装的软件打开时,报“XXX”已损坏,无法打开。 您应该将它移到废纸篓。
image.png

解决办法:

  1. 打开“任何来源”,然后重新打开软件。在开启任何来源的状态下,若依然报错,无法打开,则继续看下面步骤;

  2. 使用xattr 命令清除 app 的隔离属性:
    1) 打开Finder,选择“应用程序”,在应用程序中找到你当前有问题的软件,待用;
    2) 打开“终端”,在命令行输入一下命令:
    sudo xattr -r -d com.apple.quarantine [SoftwarePackagePath]
    其中“[SoftwarePackagePath]”,即为安装的软件包位置,将应用程序中的目标软件直接拖入命令行即可,然后回车执行命令;(若命令报错,可将-r去掉,再尝试执行)
    3) 输入电脑密码,回车;

    image.png

macOS 中如果安装一些修改版或破解版软件,通过拖拽方式放到 application 目录,在打开 app 的时候可能提示应用程序无法运行或无法打开的情况,通常我们在“系统偏好设置->安全与隐私”里可以手动选择软件来源,来允许软件运行,但是有时候使用这种方法也无法打开,这是由于macOS系统有一个GateKeeper保护机制(自 OSX 10.5 加入),从互联网上下载下来的文件,在系统识别到这个文件(app)可能有问题,就会被自动打上com.apple.quarantine隔离属性标志,翻译过来就是免疫隔离,系统根据这个附加属性对这个文件作出限制,或阻止了它的运行。

如果我们需要运行目标软件,就需要删除 app 的 com.apple.quarantine 属性,可以使用 xattr 来处理。

macOS 上的文件不只有 “normal” 属性,也有 “读”, “写”, “执行” 等其他属性。常规属性可以用 ls -l myfile 命令来查看。除此之外还可以定义扩展属性,扩展属性的修改可以用 xattr 来处理。

你可能感兴趣的:(网络下载的软件没有权限安装到Mac上 或 “报磁盘已损坏”)