大雪山 ヒサゴ沼


Date/Time: 2015:09:23 07:30:37
Camera: PENTAX
Model: PENTAX K-5 II s
Exporsure Time: 1/320
FNumber: 6.3
Aperture Value: 5.3
Focal Length: 21.0

Close

y2blog » Safari5.0.5 for SnowLeopard のダウンロード先

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” という名前のファイルが問題のインストールスクリプトが含まれているファイルです.

Safari5.0.5のインストーラのスクリプト中で、各種チェックを行っている部分

 
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系)であることを要求しています.これらのチェックをかわしてインストール作業が進められるように修正し、元のインストールパッケージの形に戻してからインストールを行ってみましたが、インストール中にエラーとなって上手く上書きインストールを行う事ができませんでした.

Installation Failed
最終段階でエラーが起きてしまいインストール失敗!!!

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“ を参照下さい.

Unpackaged Safari505
抽出されたSafari5.0.5のアプリケーション本体と関連ファイル群

Safari5.0.5のアプリケーション本体だけを置き換えても良いですが、webkit等のフレームワークなどのファイル群も置き換えた方が良いでしょう.Safari5.1で導入された webkit2 フレームワークはそのまま残りますが、これは残して置いても今のところ特に支障になることはないでしょう.但し、今後の Snow Leopardのアップデートや各種アプリケーションのアップデートなどによっては、webkit2がインストールされているかどうかによって影響を受けることがあるかも知れません.