Столкнувшись с недавний сбой в Java навязанные автоматическими обновлениями Apple, я ищу решение для установки файлов .pkg для конкретной версии ОС.
Apple продолжает предоставлять обновления Java для версии 10.6, но для версии 10.7+ нам необходимо получить файл от Oracle. Apple наконец выпустила обновление Java для 10.6 в пятницу, но программное обеспечение было доступно до того, как оно появилось как обновление программного обеспечения в разделе «Обновление программного обеспечения» ОС.
Для версии 10.6 мы можем просто дождаться, пока Apple протолкнет ее через свои обновления программного обеспечения и использует ARD для запуска этих обновлений программного обеспечения, но при отправке обновлений Java через ARD с использованием файла .pkg, предоставленного Oracle, я бы хотел чтобы гарантировать, что мы пытаемся установить только на машины 10.7+, а не на что-либо меньшее.
Вопрос: Мне было интересно, если Распространение программного обеспечения ARD имеет возможность установки на основе версии клиентской ОС, я не хочу пытаться установить Oracle Java, предназначенную для машин 10.7+, на любом из наших клиентов 10.6. Кажется, я не могу найти в Интернете никакой документации или обсуждений. Любая / вся помощь приветствуется.
Ответ я сформулировал (отличная помощь из ответа ниже, просто хотел предложить конечный результат для людей, которые, возможно, все еще чешут головы):
#!/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
Пояснение:
softwareupdate
для 10.6 возникло слишком много других проблем, даже при выборе конкретного PackageName.Надеюсь, это поможет другим, спасибо за вклад и руководство.
Функции копирования элементов и установки пакетов Apple Remote Desktop не имеют специальной возможности фильтрации для этого, но вы можете сделать это в два простых шага с помощью смарт-списка:
В качестве альтернативы, если вы хотите либо запустить Обновление программного обеспечения, либо установить пакет Oracle Java на всех машинах одновременно, вы можете написать сценарий оболочки для проверки версии ОС. Вот пример в 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) и вставить сценарий.
Я думаю, что ты ищешь sw_vers
. Вы можете создать сценарий, который вызывает его и анализирует вывод. Если он совпадает (или не совпадает), вызовите установщик пакета.
Пример вывода:
Marks-MacBook-Pro:~ mark$ sw_vers
ProductName: Mac OS X
ProductVersion: 10.8.2
BuildVersion: 12C60