公開UNIX処方箋:Solarisマシンにおける/tmpのファイルシステム現場ですぐに役立つ知識を欲するあなたに贈る珠玉のTips集。今回は、Solarisがテンポラリ領域として使用する/tmpについて、ファイルシステムの違いがあることを解説していきます。});複数のSolarisマシンを管理しており、再起動の際に/tmp以下のファイルが削除されないマシンがあるのに気づきました。違いを教えてください。Solarisの再起動時に/tmp以下のファイルが削除される場合と削除されない場合がある理由は、/tmpのファイルシステムの違いに由来します。/tmpがtmpfsファイルシステムの場合は再起動時にファイルが削除され、/tmpがUFSファイルシステムの場合は再起動を行ってもファイルはそのまま残ります。UFSとtmpfsUFSはSolaris標準のディスクベースファイルシステムです。HDDを使用してデータを保存する場合、UFSでファイルシステムを作成しています。(当然ですが)Solarisの再起動を行ったり、マシンの電源を停止してもファイルは保存され残っています。tmpfsは、物理メモリを使用するファイルシステムであり、UFSに比べて非常に高速にデータを読み書きできます。物理メモリを使用するため、Solarisを再起動したり、アンマウントしたりするとファイルは削除されます。このほかHDDにスワップパーティーションを設定しますが、これもtmpfsとして使用されます。物理メモリがすべて使用され、書き込みできなくなったデータを一時的に退避(スワップアウト)する領域として利用されます。/tmpのファイルシステム/tmpはSolarisがテンポラリ領域として使用するディレクトリで、Solarisが動作する上で作成される一時的なファイルが生成されます。一時的なファイルなので保存する必要がなく、かつ高速にアクセスできると効率が良いので、tmpfsが使用されるのが一般的です。ところが、/tmpは必ずtmpfsである必要はなく、UFSとしてもマウントできます。/tmpをUFSとしてマウントするとディスクにデータを書き込んで保存するのとまったく同じ動作となります。そのため、UFSとしてマウントした/tmpは再起動してもファイルは削除されずに残ります。/tmpがtmpfsとUFSのどちらになっているのかは、mountコマンドやdfコマンドで確認できます(実行例1A、1B)。/tmpがUFSの場合/tmpのファイルシステムが決定されるタイミング/tmpのファイルシステムは、ほとんどOSインストール時のパーティーション設定によって決められます。OSがすでにインストールされている状態でも変更できますが、通常そういった状態にあるディスクのパーティーション変更は行いません。パーティーション変更によって内部データが消失する恐れがあるからです。OSインストール時にディスクパーティーションの設定項目があり、そこで/tmpを明示的に指定した場合、/tmpはUFSとしてマウントされます(リスト1)。/tmpは指定せず、スワップパーティーションを設定した場合、/tmpはtmpfsとしてマウントされます(リスト2)。/tmpとswapの両方が指定された場合パーティーション設定の違いによって、/tmpがtmpfsとUFSのどちらでマウントされるか説明しました。リスト3のように、/tmpとスワップパーティーションを同時に設定した場合はどうなるのでしょうか。リスト3の場合、/tmpはUFSとしてマウントされ、スワップパーティーションはどこにもマウントされません。マウントされないスワップパーティーションは未使用の状態になります。インストール完了後の/etc/vfstabは以下のようになります。-インストール完了後の/etc/vfstabの設定この状態では未使用のままとなってしまうので、OSインストール完了後、以下のように/etc/vfstab内でスワップパーティーションをtmpfsとしてマウントするように設定します。再起動するとスワップパーティーションを使用できるようになります。広告に関するお問い合わせメールマガジンSpecialインデックスRSSfacebooktwitter利用規約ITmediaはアイティメディア株式会社の登録商標です。