AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / server / 问题 / 475370
Accepted
TryTryAgain
TryTryAgain
Asked: 2013-02-05 14:27:16 +0800 CST2013-02-05 14:27:16 +0800 CST 2013-02-05 14:27:16 +0800 CST

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

  • 772

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

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

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

问题:我想知道ARD Software Distribution是否能够根据客户端操作系统版本进行安装,我不想尝试在我们的任何 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 目录中,并更新脚本以反映包版本更改。

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

mac-osx
  • 2 2 个回答
  • 1542 Views

2 个回答

  • Voted
  1. Best Answer
    morgant
    2013-02-05T15:16:00+08:002013-02-05T15:16:00+08:00

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

    1. 单击远程桌面窗口左下角的“+”按钮,然后选择“新建智能列表...”
    2. 命名新的“智能列表”,其中“Mac OS 版本”是“大于”版本“10.7”(您可以根据需要添加其他过滤器),然后单击“确定”。
    3. 从源列表中选择新的智能列表。
    4. 选择该列表中的所有计算机。
    5. 单击 Install Packages 按钮(或选择 Manage -> 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
    

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

    • 4
  2. MDMarra
    2013-02-05T15:15:42+08:002013-02-05T15:15:42+08:00

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

    示例输出:

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

相关问题

  • Mac OS X:从 python 脚本中更改 $PATH

  • 登录网络用户帐户 (Open Directory) 时,Adobe Reader 不会启动

  • 如何在客户端计算机上阻止 Finder 的“记住此密码”?

  • 如何在 Mac OS X 中正确安装 Subversion?

  • 随行人员通过 VPN 连接到 Exchange 2007

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    新安装后 postgres 的默认超级用户用户名/密码是什么?

    • 5 个回答
  • Marko Smith

    SFTP 使用什么端口?

    • 6 个回答
  • Marko Smith

    命令行列出 Windows Active Directory 组中的用户?

    • 9 个回答
  • Marko Smith

    什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同?

    • 3 个回答
  • Marko Smith

    如何确定bash变量是否为空?

    • 15 个回答
  • Martin Hope
    Tom Feiner 如何按大小对 du -h 输出进行排序 2009-02-26 05:42:42 +0800 CST
  • Martin Hope
    Noah Goodrich 什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同? 2009-05-19 18:24:42 +0800 CST
  • Martin Hope
    Brent 如何确定bash变量是否为空? 2009-05-13 09:54:48 +0800 CST
  • Martin Hope
    cletus 您如何找到在 Windows 中打开文件的进程? 2009-05-01 16:47:16 +0800 CST

热门标签

linux nginx windows networking ubuntu domain-name-system amazon-web-services active-directory apache-2.4 ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve