Apple 遠端桌面 (ARD) 作業系統特定軟體包安裝
面對最近由 Apple 的靜默更新造成的 Java 混亂,我正在尋找一種解決方案來安裝特定於作業系統版本的 .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 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 下載幾乎是不可能的,我相信它會在沒有警告的情況下更改。
- 我也選擇不使用
softwareupdate
10.6,出現了太多其他問題,即使選擇特定的 PackageName 也是如此。- 當新的 Java 更新出現時,我們將從 .dmg 下載並提取 .pkg,將其放在 ARD 伺服器上的 ARD_pkgs 目錄中,並更新腳本以反映包版本的變化。
我希望這對其他人有所幫助,感謝您的輸入和指導。
Apple Remote Desktop 的 Copy Items & Install Packages 功能不具備執行此操作的特定過濾功能,但您可以使用智能列表通過兩個簡單的步驟完成此操作:
- 點擊遠端桌面視窗左下角的“+”按鈕,然後選擇“新建智能列表…”
- 將新的“智能列表”命名為“Mac OS 版本”“大於”版本“10.7”(如果您願意,可以添加其他過濾器),然後點擊“確定”。
- 從源列表中選擇新的智能列表。
- 選擇該列表中的所有電腦。
- 點擊 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 命令按鈕)並粘貼到腳本。