tmpfsを使う

SDへの書き込み回数を減らすため、テンポラリディレクトリをtmpfsにマウントするよう/etc/fstabを変更します。
対象とするのは/tmp、/var/tmpです。

後ろの2行が追加した部分です。
 

logをtmpfsに置いてバックアップ

/var/logもtmpfsに持っていきたいところですが、logはあとで参照したい場合がありますね。
スクリプトを使ってシャットダウン時にSDにバックアップしておき、起動時にtmpfsに戻せないかと考えていたところ、denian向けにちょうど良いスクリプトがありましたので、これを利用することにします。
このページから-etc-init.d-transientlog.shをダウンロードしてファイル名transientlogで保存します。
transientlogを/etc/init.dに配置し、パーミッションを設定します。

ファイルの改行コードがCR+LFなので、trコマンドでCRを削除しながらコピーしています。

このあとにinsservコマンドでスクリプトを登録するのですが、「Required-Startが無い」「Required-Stopが無い」と言ってエラーになるので、Providesの後に記述しておきます。

insservで登録します。

 

ホームディレクトリのファイル

~/.bash_historyなどもtmpfsに持って行きましょう。
bashスクリプト/usr/local/bin/temporizeを新規作成します。

temporize loginとして実行すると、~/.bash_history、~/.Xauthority、~/.xsession-errorsを/tmp/$USERにコピーし、ホームディレクトリからリンクを張ります。
temporize logoutではリンクを削除して/tmp/$USERからホームディレクトリに書き戻します。
シャットダウンやリブートするときは、temporize shutdownで/tmpからすべてのユーザーのファイルを書き戻します。

ログイン時にtemporize loginを実行するように~/.bash_profileを編集します。

~/.bash_logoutにはtemporize logoutの処理を追記します。

シャットダウンとリブート時にはtemporize shutdownを実行するように、/etc/init.d/transientlogを編集します。

 

キャッシュ間隔を長くする

デフォルトではメモリキャッシュの書き込みは5秒間隔となっています。
これを30秒に設定します。/etc/sysctrl.confの末尾に以下の行を追加します。

 

mlocateを削除

cron.dailyでmlocate(ファイル検索)のデータベースが更新されています。
私はmlocateを使わないので、パッケージごと削除してしまいます。