8
31
2011
Safari5.0.5 for SnowLeopard のダウンロード先
SnowLeopard用のSafari5.0.5の入手先
AdobeのFlash Playerの最新バージョンが10.3.183.7になっていますが、相変わらずSafari5.1では日本語インライン入力ができなくなる問題が解決されていません.困ったものです.
Snow Leopard環境下ではSafari 5.0.5 に戻せばひとまず問題は解決するのですが、問題はSafari 5.0.5のスタンドアローンインストールパッケージがAppleの公式ダウンロードサイトからは入手できなくなっていることです.
GoogleでSafari 5.0.5のスタンドアローンインストールパッケージを探していたら、サードパーティーのサイトからダウンロード可能であることがわかりました.このサイトからダウンロードするのはライセンス的な問題があるかもしれませんが、どうしても入手してみたい人は下記のURLにアクセスしてみて下さい.
(注.正式なAppleのダウンロードサイトではないので、何らかのVirusや悪質なコードが含まれている可能性が無いとは言えませんので、一応各自で危険性の有無をチェックする様にして下さい)
http://download1081.mediafire.com/48l81vr1vspg/28zw16r4erpif6y/Safari5.0.5SnowLeopard.dmg
一旦Safari5.1をインストールしてしまうと元には戻せない
Safari 5.0.5のスタンドアローンインストールパッケージを入手したとしても、一旦Safari5.1をインストールしてしまうと、その後でSafari 5.0.5のインストールパッケージで上書きインストールを行うことはできなくなってしまいます.Safari 5.0.5のインストーラーは自分よりも新しいバージョンのSafari環境下ではインストール自体を拒否してしまいます.
Safari5.1からは新しいWebkit2フレームワークが導入されており、JavascriptやWebkitのフレームワークなどが全面的に置き換えられているようです.以前の記事でも触れたように、一旦Safari5.1をインストールした後でも、Safari5.1のアプリケーションパッケージをSafari5.0.5のパッケージに入れ替えるだけで問題無く動かすことができます.
とりあえずSafariのアプリケーション本体だけを入れ換えれば問題無く使えるのですが、できればWebkitやJavascriptなどのフレームワークもSafari5.0.5用に変更したいところです.そこでSafari5.0.5のインストーラーで上手く強制上書きインストールさせることができないものかと試行錯誤してみました.
トライ 1. pkgutilを用いて Safari5.1のアンインストールに挑戦してみた
imac:~ yasuaki$ cd /private/var/db/receipts
imac:receipts yasuaki$ ls -la | grep -i com.apple.pkg.Safari
-rw-r--r-- 1 root wheel 846789 Dec 26 2009 com.apple.pkg.Safari.bom
-rw-r--r-- 1 root wheel 506 Dec 26 2009 com.apple.pkg.Safari.plist
-rw-r--r-- 1 root wheel 908681 Dec 26 2009 com.apple.pkg.Safari404SnowLeopard.bom
-rw-r--r-- 1 root wheel 504 Dec 26 2009 com.apple.pkg.Safari404SnowLeopard.plist
-rw-r--r-- 1 root wheel 913327 Mar 12 2010 com.apple.pkg.Safari405SnowLeopard.bom
-rw-r--r-- 1 root wheel 504 Mar 12 2010 com.apple.pkg.Safari405SnowLeopard.plist
-rw-r--r-- 1 root wheel 950712 Aug 31 19:02 com.apple.pkg.Safari51SnowLeopard.bom
-rw-r--r-- 1 root wheel 493 Aug 31 19:02 com.apple.pkg.Safari51SnowLeopard.plist
imac:receipts yasuaki$ sudo pkgutil --unlink com.apple.pkg.Safari51SnowLeopard
Password:
Do you really want to delete these files? y
Unable to unlink 'System/Library/Frameworks/WebKit.framework/Versions/A/Frameworks/WebCore.framework/Versions/A/Resources/inspector/Images'. Error 1: Operation not permitted.
Unable to unlink 'System/Library/Frameworks/WebKit.framework/Versions/A/Frameworks/WebCore.framework/Versions/A/Resources/inspector/UglifyJS'. Error 1: Operation not permitted.
Unable to unlink 'System/Library/Frameworks/WebKit.framework/Versions/A/Frameworks/WebCore.framework/Versions/A/Resources/Dutch.lproj'. Error 1: Operation not permitted.
Unable to unlink
...
Unable to unlink 'System/Library/PrivateFrameworks/WebKit2.framework'. Error 1: Operation not permitted.
Unable to unlink 'usr/share/man/man1'. Error 1: Operation not permitted.
Unable to unlink 'Applications/Safari.app/Contents'. Error 1: Operation not permitted.
Unable to unlink 'Library/Widgets/Web Clip.wdgt'. Error 1: Operation not permitted.
Unable to unlink 'System/Library/Frameworks'. Error 1: Operation not permitted.
Unable to unlink 'System/Library/LaunchAgents'. Error 1: Operation not permitted.
Unable to unlink 'System/Library/PrivateFrameworks'. Error 1: Operation not permitted.
Unable to unlink 'usr/share/man'. Error 1: Operation not permitted.
Unable to unlink 'Applications/Safari.app'. Error 1: Operation not permitted.
Unable to unlink 'Library/Widgets'. Error 1: Operation not permitted.
Unable to unlink 'System/Library'. Error 1: Operation not permitted.
Unable to unlink 'usr/bin'. Error 1: Operation not permitted.
Unable to unlink 'usr/share'. Error 1: Operation not permitted.
Unable to unlink 'Applications'. Error 1: Operation not permitted.
Unable to unlink 'Library'. Error 1: Operation not permitted.
Unable to unlink 'System'. Error 1: Operation not permitted.
Unable to unlink 'usr'. Error 1: Operation not permitted.
imac:/ yasuaki$ sudo pkgutil --forget com.apple.pkg.Safari51SnowLeopard
pkgutil コマンドではSafari5.1をアンインストールすることができなかった.
トライ 2.Safari5.0.5のインストーラに直接手を加えてみた
Safari5.0.5のインストーラのスクリプトを書き換えて、systemのバージョンやwebkitフレームワークのバージョンなどのチェックを回避して強制的に上書きするように変更してみた.
尚、Safari5.0.5のインストーラのスクリプトに手を加える方法は複雑ですので、ここでは具体的な手順を紹介しませんが、xar コマンドを使って “Safari5.0.5SnowLeopard.pkg” を解凍し、その中に含まれている “Distribution” という名前のファイルが問題のインストールスクリプトが含まれているファイルです.
function commonRequirements() {
try {
// Must have system on target
if(false == system.files.fileExistsAtPath(my.target.mountpoint +
"/System/Library/CoreServices/SystemVersion.plist")) {
my.result.message = system.localizedStringWithFormat('ERROR_OS', '10.6');
return false;
}
// if system is less than 10.6.5, error
if(-1 == system.compareVersions(my.target.systemVersion.ProductVersion, '10.6.5')) {
my.result.message = system.localizedStringWithFormat('ERROR_OS_NEWER', '10.6.5');
return false;
}
// if system is greater than 10.6.7, error
if(1 == system.compareVersions(my.target.systemVersion.ProductVersion, '10.6.7')) {
my.result.message = system.localizedStringWithFormat('ERROR_OS', '10.6.7');
return false;
}
var plistCheck = system.files.plistAtPath(my.target.mountpoint +
"/System/Library/Frameworks/WebKit.framework/Resources/Info.plist")
if(!plistCheck) { return false; }
if(1 == system.compareVersions(plistCheck.CFBundleShortVersionString, webkitVersion)) {
my.result.message = system.localizedString('ERROR_NEWER');
return false;
}
} catch(err) {
return false;
}
return true;
}
上記のスクリプトでは、OSのバージョンが 10.6.7 でWebkitフレームワークのバージョンが同じ(v1系)であることを要求しています.これらのチェックをかわしてインストール作業が進められるように修正し、元のインストールパッケージの形に戻してからインストールを行ってみましたが、インストール中にエラーとなって上手く上書きインストールを行う事ができませんでした.
最終段階でエラーが起きてしまいインストール失敗!!!
Safari5.1のアンインストールでやってはいけないこと
Safari5.1を手動でアンインストールしてSafari5.0.5に戻そうとしても、完全にSafari5.1のインストール前の状態に戻すことは困難で、思わぬ副作用を伴う危険性があります.
“pkgutil –files” コマンドを実行してみればわかりますが、 Safariはアプリケーションパッケージ本体の他にもwebkitフレームワークやJavascriptフレームワークなどに大きく依存しています.これらのフレームワークに依存しているのはSafariだけではなく、Mac OS X の様々なコマンドやユーティリティーツール、サードパーティーのアプリケーションまでも密接に関わっています.
従って、Safari5.1のインストールでシステムに組み込まれたこれらのファイル群を削除してしまうと、Mac OS X そのものが機能しなくなりOSそのものを再インストールしなければならなくなりますので、決して安易に削除しないで下さい.
ダウンロードした “Safari5.0.5SnowLeopard.pkg” からSafari5.0.5の本体を取り出すには
前の記事『Safari5.1での日本語入力トラブル解消法』で Safari5.1 → Safari5.0.5 へ戻す一番手っ取り早い方法はSafariのアプリケーション本体のみを旧バージョンであるSafari5.0.5に置き換えるだけで良いと紹介しましたが、問題は Safari5.0.5のアプリケーション本体をどのようにして入手するのかということです.
Mac OS Xのインストーラを使って “Safari5.0.5SnowLeopard.pkg” の中身を個別にインストールできませんので、”Safari5.0.5SnowLeopard.pkg” から中身を個別に抽出する方法を考えなくてはなりません.幸いなことに timdoug さん? が ”unpkg” というパッケージ形式やメタパッケージ形式のファイルから簡単に中身を抽出するユーティリティーを配布されています.”unpkg”については ”timdoug’s interesting tidbits“ を参照下さい.
抽出されたSafari5.0.5のアプリケーション本体と関連ファイル群
Safari5.0.5のアプリケーション本体だけを置き換えても良いですが、webkit等のフレームワークなどのファイル群も置き換えた方が良いでしょう.Safari5.1で導入された webkit2 フレームワークはそのまま残りますが、これは残して置いても今のところ特に支障になることはないでしょう.但し、今後の Snow Leopardのアップデートや各種アプリケーションのアップデートなどによっては、webkit2がインストールされているかどうかによって影響を受けることがあるかも知れません.