Apple 远程桌面 (ARD) OS 特定软件包安装

Apple 远程桌面 (ARD) OS 特定软件包安装

面对最近的 Java 混乱由于 Apple 的静默更新而导致的,我正在寻找一种解决方案来安装特定于操作系统版本的 .pkg 文件。

Apple 继续为 10.6 提供 Java 更新,但对于 10.7+,我们需要从 Oracle 获取文件。Apple 最终于周五发布了 10.6 的 Java 更新,但该软件在通过操作系统的“软件更新”部分显示为“软件更新”之前就已经可用。

对于 10.6,我们可能最终只能等待 Apple 通过其软件更新来推送它并使用 ARD 来运行这些软件更新,但是当使用 Oracle 提供的 .pkg 文件通过 ARD 推送 Java 更新时,我想确保我们只尝试安装在版本 10.7+ 的机器上,而不是安装在版本低于 10.7 的机器上。

问题:我想知道ARD 软件分发具有基于客户端操作系统版本进行安装的功能,我不想尝试在任何 10.6 客户端上安装适用于 10.7+ 机器的 Oracle Java。我似乎无法在线找到任何文档或讨论。任何/所有帮助都值得感谢。

我制定的答案(以下答案很有帮助,只是想为那些可能仍在挠头的人提供一个最终结果):

#!/bin/bash
os_ver_maj=$(sw_vers -productVersion | cut -d . -f 2)
    if [ $os_ver_maj -ge 7 ]; then
        mkdir /Volumes/ARD && mount_afp afp://ardservername.localdomain/ARD_pkgs /Volumes/ARD && installer -pkg /Volumes/ARD/jre-7u13-macosx-x64.pkg -target /
    else
        mkdir /Volumes/ARD && mount_afp afp://ardservername.localdomain/ARD_pkgs /Volumes/ARD && installer -pkg /Volumes/ARD/Java6u12OSX10.6.pkg -target /
    fi
umount /Volumes/ARD

解释:

  • 我选择直接在 ARD 服务器上托管文件,从 Oracle 下载几乎是不可能的,而且我确信它会在没有任何警告的情况下发生变化。
  • 我还选择不使用softwareupdate10.6,即使在选择特定的 PackageName 时也出现了太多其他问题。
  • 当新的 Java 更新发布时,我们将从 .dmg 中下载并提取 .pkg,将其放在 ARD 服务器上的 ARD_pkgs 目录中,并更新脚本以反映软件包版本的变化。

我希望这对其他人有所帮助,感谢您的意见和指导。

答案1

Apple Remote Desktop 的复制项目和安装包功能没有特定的过滤能力,但你可以使用智能列表通过两个简单的步骤来完成:

  1. 单击远程桌面窗口左下角的“+”按钮,然后选择“新建智能列表……”
  2. 将新的“智能列表”命名为“Mac OS 版本”大于“10.7”(如果愿意,您可以添加其他过滤器)然后单击“确定”。
  3. 从源列表中选择新的智能列表。
  4. 选择该列表中的所有计算机。
  5. 单击“安装包”按钮(或选择“管理”->“安装包...”)继续将 Oracle Java 包安装到选定的 Mac 上。

或者,如果您想要同时在所有机器上运行软件更新或安装 Oracle Java 包,您可以编写一个 shell 脚本来检查操作系统版本。以下是示例bash

os_ver_maj=$(sw_vers -productVersion | cut -d . -f 2) # get the major OS version
if [ $os_ver_maj -ge 7 ]; then
    # download & install the Oracle Java package
else
    # run software update
fi

一旦您构建了一个可以正确执行所需操作的脚本,那么您可以选择 ARD 中的所有机器,然后您可以执行管理 -> 运行 UNIX 命令...(或单击发送 UNIX 命令按钮)并粘贴脚本。

答案2

我认为您要找的是sw_vers。您可以创建一个脚本来调用它并解析输出。如果匹配(或不匹配),则调用包安装程序。

示例输出:

Marks-MacBook-Pro:~ mark$ sw_vers
ProductName:    Mac OS X
ProductVersion: 10.8.2
BuildVersion:   12C60

相关内容