2009年12月27日日曜日

tmpfsを使う

Linuxでは、tmpfsというファイルシステムが用意されている。
/dev/sda1と同様に使えば、必要に応じメインメモリの一部を使ってファイルシステムを利用できる。
どんな風に動くのかは、下記を参照
naoyaのはてなダイアリー:tmpfs は本当に容量が動的なのか

tmpfsは実は、ubuntu9.10ではデフォルトで使われていて、df -h するとこんな感じ。
現行マシンの例
ファイルシステム            サイズ  使用  残り 使用% マウント位置
/dev/md4             21G   4.8G   15G  25% /
udev                  249M   308K  249M   1% /dev
none                  249M   1.1M  248M   1% /dev/shm
none                  249M   292K  249M   1% /var/run
none                  249M       0  249M   0% /var/lock
none                  249M       0  249M   0% /lib/init/rw
/dev/md2           190M   111M   70M  62% /boot
/dev/md5           125G    16G  103G  14% /home

~$ cat /etc/mtab
/dev/md4 / ext3 rw,relatime,errors=remount-ro 0 0
proc /proc proc rw 0 0
none /sys sysfs rw,noexec,nosuid,nodev 0 0
none /sys/fs/fuse/connections fusectl rw 0 0
none /sys/kernel/debug debugfs rw 0 0
none /sys/kernel/security securityfs rw 0 0
udev /dev tmpfs rw,mode=0755 0 0
none /dev/pts devpts rw,noexec,nosuid,gid=5,mode=0620 0 0
none /dev/shm tmpfs rw,nosuid,nodev 0 0
none /var/run tmpfs rw,nosuid,mode=0755 0 0
none /var/lock tmpfs rw,noexec,nosuid,nodev 0 0
none /lib/init/rw tmpfs rw,nosuid,mode=0755 0 0
/dev/md2 /boot ext3 rw,relatime 0 0
/dev/md5 /home ext3 rw,relatime 0 0
binfmt_misc /proc/sys/fs/binfmt_misc binfmt_misc rw,noexec,nosuid,nodev 0 0
gvfs-fuse-daemon /home/koichi/.gvfs fuse.gvfs-fuse-daemon rw,nosuid,nodev,user=xxxx 0 0

/etc/fstab には記載がないが、起動時のスクリプトでマウントされているらしい(下記参照)
/lib/init/rw と /dev/shm の tmpfs のサイズを変える Linux

/dev/shmを/temにマウントすればよいのかもしれないが、
/dev/shmがどの時点で使えるのか分からないので、
下記の参考のとおり、/etc/fstabで記述する。
How to: Reduce Disk Writes to Prolong the Life of your Flash Drive

いろいろ試してみて、notime,modeのオプションはつけなくてもOKらしい
logは残しておいた方がよいかな
tmpfs /tmp       tmpfs defaults 0 0
tmpfs /var/tmp       tmpfs defaults 0 0

/etc/fstabの最後に追加した

ところで、mode=はルートのパーミッションの指定だけど、4桁なのはなぜ?
パーミッション設定の極意! に説明がありました。転載させていただきます。

■ スティッキービット
drwxrwxrwxt のように”t”ビットがついた場合を意味する。
これをつける事によって、書き込み、読み出し、実行は出来るけど名前の変更、削除が出来なくなる。
特に、/tmpとかメールサーバのmailディレクトリの属性に良く使う。

スティッキービットを付加したい場合は、
# chmod +t <ディレクトリ名もしくはファイル名>
または、
# chmod 1777 <ディレクトリ名もしくはファイル名>
のように、数字の先頭に1を付加する。

0 件のコメント:

コメントを投稿