नोट: यदि आपके पास कुछ ऐसा है जो वास्तव में java6 की आवश्यकता है और java7 के साथ काम नहीं करेगा, तो आप java7 स्थापित करने पर रोक लगाना चाहते हैं। इसका कारण यह है कि 6 और 7 दोनों को एक ही मैकिन्टोश पर रखने की कोशिश करना थोड़ा मुश्किल हो सकता है, क्योंकि 7 pkg कुछ सेब-6-जावा आइटमों के साथ कुछ गड़बड़ करता है, जैसा कि नीचे विस्तृत है। इसलिए, मैं इसे बाहर रोल करने से पहले एक ही मैक पर 6 और 7 रखने के कुछ चरण-दर-चरण निर्देशों की तलाश करूंगा ... http://reviews.cnet.com/8301-13727_7-57533880-263/ भी देखें जावा-वरीयताएँ-लापता-बाद-नवीनतम-ओएस-एक्स-जावा-अपडेट / अक्टूबर 18, 2012 पर।
विवरण jre-7u9-macosx-x64inosg में प्रीइंस्टॉल शेल स्क्रिप्ट सिर्फ नीचे दिए बिना, चेतावनी के बिना 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}"