Apple Remote Desktop(ARD)操作系统特定的软件包安装

面对苹果的静默更新强加的最近的Java kerfuffle ,我正在寻找一个解决scheme来安装特定于操作系统版本的.pkg文件。

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

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

问题:我想知道ARD Software Distribution是否具有基于客户端操作系统版本进行安装的能力,我不想试图在我们的任何10.6客户端上安装适用于10.7+以上的机器的Oracle Java。 我似乎无法在网上find任何文档或讨论。 任何/所有的帮助表示赞赏。

我制定了答案(以下答案提供了很大的帮助,只是想给那些仍然挠头的人提供一个最终结果):

#!/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 

说明:

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

我希望这有助于他人,感谢您的意见和指导。

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

  1. 单击远程桌面窗口左下angular的“+”button,然后select“新build智能列表…”
  2. 在“Mac OS版本”大于“版本”10.7“的位置命名新的”智能列表“(如果需要,可以添加其他filter),然后单击确定。
  3. 从来源列表中select新的智能列表。
  4. select该列表中的所有计算机。
  5. 单击Install Packagesbutton(或者selectManage – > Install Packages …)以继续将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 

一旦你build立了一个正确的你想要的脚本,那么你可以在ARD中select所有的机器,然后你可以做Manage – > Run UNIX Command …(或者点击Send UNIX Commandbutton)并粘贴脚本。

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

示例输出:

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