2010年3月28日日曜日

USBのubuntuのホームディレクトリなんかもRAMディスク化してみる

前回RAMディスク化したのは、tmpディレクトリだけ。
でもそれだけじゃそんなに楽しくないので、ホームディレクトリもいってみようと思う。

まず、SONYの8GBのUSBメモリーをパソコンにさして、GRUBのメニューからrecoverymodeと書かれたやつを選択して起動する。

出てきた青画面のメニューから


root  Drop to root shell prompt

を選択する。

そうすると、下のほうからプロンプト画面が現れる。

まずは、今のホームディレクトリのバックアップをとるために以下のコマンドを入力る。

rsync -av /home/<ユーザ名>/ /home/<ユーザ名>_backup/


rsyncコマンドのオプションでvをつければ何が起こっているかがわかる。

次に以下のコマンドを実施しRAMディスクからのバックアップ領域を作成する。

mkdir /home/<ユーザ名>_bak
mv /home/<ユーザ名>/ /home/bak/


この時点で、/home以下には、3つのディレクトリが存在している。
さらに以下のコマンドを実施し、もう一度ホームディレクトリを作成する。さらに権限の調整もします。

mkdir /home/<ユーザ名>/
chown -R <ユーザ名>:<ユーザ名> /home/<ユーザ名>
chmod 755 /home/<ユーザ名>


あとはtmpフォルダの時と同じ要領でRAMディスクの割り当て設定をする。

sudo vi /etc/fstab

のあとに、一番下に

tmpfs /home/<ユーザ名> tmpfs defaults 0 0

を追加します。
そして起動時にバッ クアップからRAMディスクの<ユーザ名>ディレクトリに戻す設定を施す。

vi /etc/init.d/mountall.sh

開いたら、以下のようにdo_startのしたに一文追加する。




case "$1" in
start|"")
do_start
/usr/bin/rsync -a /home/bak/<ユーザ名>/ /home/<ユーザ名>/
;;
restart|reload|force-reload)
echo "Error: argument '$1' not supported" >&2
exit 3






これを保存したら、rebootコマンドで再起動を行う。
ちゃんと起動したら成功。たぶん。自分の家では、なかなか立ち上がらないX32にちょいといらいらしたが、ちゃんと起動してくれた。

このままでは、再起動時にホームディレクトリにおいたファイルがなくなるので、これを解消するために以下のコマンドを実施し2行足す。ついでに毎回Firefoxのキャッシュも消す。

sudo vi /etc/init.d/umountfs

それで足すのはstopの下です。

stop)
rm -f /home/<ユーザ名>/.mozilla/firefox/<人それぞれ>.default/Cache/*
/usr/bin/rsync -a --delete /home/<ユーザ名> /home/bak
do_stop


とりあえず、これで成功すると思われる。

0 件のコメント:

コメントを投稿