転職活動中・・・・・

Home > Mac > MacでRamディスク−Safari
09/06
19

MacでRamディスク−Safari


ご~~めんなさい!!

以前、書いた方法だとだめです。削除しました。
MacでRamディスク−自動でバックアップ

MacでRamディスク−Firefox

MacでRamディスク−Safari


こちらに書き直し
MacでRamディスク−自動でバックアップ

MacでRamディスク−Firefox

MacでRamディスク−Safari

MacでRamディスク−ごめんなさい!!

MacでRamディスク−Chrome

Mac用RamDisk作成アプリ



その前に
rc.local
に記述された方は、書いた内容を消してください。
注:ファイルは削除しないでください。






****ここから****





Safari版(おさらいも含みます。)

1)ほぼ空のキャッシュを保存します。
一度、Safariの「キャッシュを空にする」を実行し、Safariを落とす。



2)空のキャッシュを別名(Cache.db.back)で保存する。
(「~/」はユーザのホームディレクトリの意味です)
$ mv ~/Library/Caches/com.apple.Safari/Cache.db ~/Library/Caches/com.apple.Safari/Cache.db.back



3)一度、Ramdiskを作ってみます
$ hdid -nomount ram://204800 ←100MBのRAMディスクを作ります。
/dev/disk1 ←この数字は環境により違います!!一番重要です。気をつけて!!



4)HFS+ でフォーマットして、「ramdisk」 という名前のボリュームを作ります。
$ diskutil eraseDisk HFS+ ramdisk /dev/disk1 ←僕の場合は、disk1 です。
Started erase on disk disk1
Creating partition map
Formatting disk1s1 as Mac OS Extended with name ramdisk
[ + 0%..10%..20%..30%..40%..50%..60%..70%..80%..90%..100% ]
Finished erase on disk disk1
Finished partitioning on disk disk1

これでデスクトップに「ramdisk」がマウントされたはず。



5)マウント出来た事を確認したらイジェクトします。
$ diskutil eject /dev/disk1




6)Automatorを使いアプリ化します。
・アプリケーション
 →Automator

・カスタム
 ライブラリ
  →ユーティリティ
   →シェルスクリプトを実行

シェル:/bin/bash   入力の引き渡し方法:stdinへ

以下をコピペ



########ここから########

# for Ramdisk

#Firefox Only
rm -fr /Volumes/ramdisk

# 20480=10MB 204800=100MB
NUMSECTORS=204800

#dive name
DEVNAME=ramdisk

# make ramdisk
MYDEV=`hdid -nomount ram://$NUMSECTORS`

# format as HFS+
diskutil eraseDisk HFS+ $DEVNAME $MYDEV

# for Safari
rm -f ~/Library/Caches/com.apple.Safari/Cache.db
cp ~/Library/Caches/com.apple.Safari/Cache.db.back /Volumes/$DEVNAME/Cache.db
ln -s /Volumes/$DEVNAME/Cache.db ~/Library/Caches/com.apple.Safari/Cache.db


########ここまで########



#Firefox Only
rm -fr /Volumes/ramdisk

は、ここを参考にして
FireFoxのキャッシュをRamディスクを使う方のみ記述してください。




で、いったん「▶実行」。

デスクトップに「ramdisk」がマウントされた事を確認します。
上手く行ったら、

・ファイル
  →保存

名前:Ramdisk
場所:デスクトップ
フォーマット:アプリケーション


で、「保存」



7)出来た「Ramdisk」アプリケーションを移動させます。(分かり易いところでOKです。)
$ mv ~/Desktop/ramdisk.app ~/Library/Caches/com.apple.Safari/



8)ログイン項目に追加します
システム環境設定
 →アカウント
  →マイアカウント
   →ログイン項目

『+」をクリックし、
「ユーザ名」-「ライブラリ」-「Cache」-「com.apple.Safari」
Ramdisk
を追加。「Ramdisk」にチェックを入れる。



9)再起動後、デスクトップにramdiskがマウントされること、フォルダ構成を確認します。
$ ls -l ~/Library/Caches/com.apple.Safari/
total 40
lrwxr-xr-x 1 ユーザ名 ユーザ名 25 6 19 18:29 Cache.db -> /Volumes/ramdisk/Cache.db ←これになればOK
-rw-r–r–@ 1 ユーザ名 ユーザ名 13312 6 14 20:19 Cache.db.back
drwxr-xr-x@ 3 ユーザ名 ユーザ名 102 6 19 18:20 Ramdisk.app
drwx——@ 220 ユーザ名 ユーザ名 7480 6 19 16:21 Webpage Previews


これで、終わりです。



せっかくコメントを頂いたのですが、申し訳ありませんでした。
以前の方法だと再起動した後に、Ramディスクをマウントすることが出来なかったと
思います。この方法でおためし下さい。


ミスが多い。だめだ。



*****************************

追記:
「ユーザ名」-「ライブラリ」-「Cache」-「com.apple.Safari」
に、作った「Ramdisk」を置いておくと、
Safariで「キャッシュを空にする」等を実行すると削除されてしまうので、
他の場所においておいた方が無難です。。。

*****************************

こちらの記事もどうぞ!



“MacでRamディスク−Safari” に3コメント

  1. 2009年06月20日 : 09時12分34秒 | #1

    Safari4に限った話ですが、キャッシュをRamDiskに書き込むなら、ついでにWebpage PreviewsもRamDiskに書き込んではいかがでしょう?



    1) RamDiskにWebpage Previews用フォルダを作成
    $ mkdir /Volumes/Ramディスク名/Webpage\ Previews
    $ mkdir /Volumes/Ramディスク名/Webpage\ Previews/Incoming

    2) 既存のWebpage Previewsフォルダを削除
    $ rm -rf /Users/ユーザー名/Library/Caches/com.apple.Safari/Webpage\ Previews

    3) エイリアスを貼る
    $ ln -s /Volumes/Ramディスク名/Webpage\ Previews/ /Users/ユーザー名/Library/Caches/com.apple.Safari/Webpage\ Previews



    Ramディスクのバックアップを取っていない環境では、Automatorなどで (1) を起動時に自動実行してあげると良いかと思います。エイリアスは再起動しても削除されませんでしたので、大丈夫かと。
    Ramディスクをマウントする前にスクリプトを実行してしまうようでしたら、sleepコマンドで遅延させると吉。

  2. nekoさん
    2009年06月20日 : 10時19分31秒 | #2

    貴重なご意見有難う御座います。
    OSXはほとんど知らないので、Webpageってなんだ??と思っておりました。

    Automatorのスクリプトを書くときに教えてくださった手順を最後に追記すればOKだと思いますが、如何でしょうか。

    今回の場合)

    mkdir /Volumes/ramdisk/Webpage\ Previews
    mkdir /Volumes/Ramdisk/Webpage\ Previews/Incoming

    #2) 既存のWebpage Previewsフォルダを削除
    rm -rf ~/Library/Caches/com.apple.Safari/Webpage\ Previews

    #3) エイリアスを貼る
    ln -s /Volumes/ramdisk/Webpage\ Previews/ ~/Library/Caches/com.apple.Safari/Webpage\ Previews

    あと、環境により/dev/diskが変わってしまうので
    どうにかしたいと思い、試行錯誤を繰り返しております。

  3. nekoさん
    2009年06月20日 : 11時26分02秒 | #3

    ころころ変わって申し訳ないです。。。。
    やり方が分かりました。
    MYDEV=`hdid -nomount ram://$NUMSECTORS`
    diskutil eraseDisk HFS+ $DEVNAME $MYDEV

    これでOKらしいです。

コメントを書く