Примечание: если у вас есть что-то, что действительно нуждается в java6 и не работает с java7, то вы можете отложить установку java7. Причина в том, что может быть немного сложно держать оба 6 и 7 на одном и том же macintosh, так как 7 pkg немного портит некоторые элементы apple-6-java, как подробно описано ниже. Итак, я буду искать некоторые пошаговые инструкции по сохранению 6 и 7 на том же Mac, прежде чем выкатывать это ... См. Также http://reviews.cnet.com/8301-13727_7-57533880-263/ 18 октября 2012 года: обновление java-предпочтений-пропущенных после последней-os-x-java-update
ДЕТАЛИ Предварительно установленный сценарий оболочки в jre-7u9-macosx-x64.dmg просто удаляет преф-панель Apple (а также плагин) без предупреждения ниже.
#!/bin/bash
PLUGIN_BASEDIR=/Library/Internet\ Plug-Ins
PLUGIN_NAME=${PLUGIN_BASEDIR}/JavaAppletPlugin.plugin
MKDIR=`which mkdir`
RM=/bin/rm
# Remove the symlink before installation forcing ystem Preferences.app to refresh its cache
PREF_PANE_NAME=JavaControlPanel.prefpane
PREF_PANE_DEST=/Library/PreferencePanes/
# Actually removes the symlink
if [[ -h "${PREF_PANE_DEST}/${PREF_PANE_NAME}" ]]; then
${RM} -rf "${PREF_PANE_DEST}/${PREF_PANE_NAME}"
fi
# Create the /Library/Internet Plug-Ins if not present
if [[ ! -d "${PLUGIN_BASEDIR}" ]]; then
${MKDIR} -p "${PLUGIN_BASEDIR}"
fi
# If Apple's plugin is present, then delete it
if [[ -h "${PLUGIN_NAME}" ]] && [[ -d "${PLUGIN_NAME}" ]]; then
${RM} -rf "${PLUGIN_NAME}"
fi
=== А сценарий после установки устанавливает символическую ссылку ===
#!/bin/bash
LN=`which ln`
CHOWN=`which chown`
PLUGIN_FILEPATH=/Library/Internet\ Plug-Ins/JavaAppletPlugin.plugin
PREF_PANE_NAME=JavaControlPanel.prefpane
PREF_PANE_SRC=/Library/Internet\ Plug- Ins/JavaAppletPlugin.plugin/Contents/Home/lib/deploy/JavaControlPanel.prefpane
PREF_PANE_DEST=/Library/PreferencePanes/
if [ ! -h "${PREF_PANE_DEST}/${PREF_PANE_NAME}" ]; then
${LN} -s "${PREF_PANE_SRC}" "${PREF_PANE_DEST}"
fi
${CHOWN} -R root:wheel "${PLUGIN_FILEPATH}"