web-dev-qa-db-ja.com

/ tmpをRAMに移動します

移動しようとしています/tmp to RAMそして良い習慣に従います:

  • /var/tmpは再起動後も存続する必要があるため、tmpfsに配置しないでください。

  • マウントしない/tmpスタンドアロンとしてtmpfs、ただし/dev/shmまたは/run/shm

ただし、カーネル2.6と3.2の間で変更されました。

tmpfsファイルシステムの構成とデフォルトの変更

3.2カーネルでは、RAMTMP=yes/etc/default/tmpfs

私の質問は、古いカーネルでどのようにしてこの目標を達成できるかです。

私の選択は/ etc/fstabをこれも変更しないことです:

mkdir /dev/shm/tmp
chmod 1777 /dev/shm/tmp
mount --bind /dev/shm/tmp /tmp

2.6カーネル用のRAMTMPのようなものはありますか?

16
Massimo

すべてを行う必要はありません。/tmpに次のような行を使用して、/etc/fstabtmpfsとしてマウントできます。

tmpfs /tmp tmpfs mode=1777,nosuid,nodev 0 0

ライブで実行することもできます(ただし、現在のファイルシステムの/tmpに現在あるものは、iノードと現在開いているファイル記述子を介して以外はアクセスできないため、実際に変更してこれを行う必要があります。 /etc/fstabおよび再起動):

mount -o mode=1777,nosuid,nodev -t tmpfs tmpfs /tmp

tmpfsは交換できることに注意してください。本当にRAMのみのファイルシステムが必要な場合は、ramfsを使用してください。

20
Chris Down

/etc/default/tmpfssysvinit用、systemd用(jessie以降のDebianのデフォルト)必要な作業は次のとおりです。

systemctl enable tmp.mount

そしてDebian Stretch

cp /usr/share/systemd/tmp.mount /etc/systemd/system/
systemctl enable tmp.mount

https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=787542#74 のchangelogを参照してください

17
Lluís

私はこれがかなり古いことを知っていますが、Debianタイプのディストリビューションでは、/ etc/default/tmpfs(/ etc/default/rcSまたはwheezyの前)でSet RAMTMP、RAMRUN、RAMLOCKを設定すると同じことができます。

4
luison