Systemdはtmpfsをサポートしています。 /tmp サイズを手動で指定する方法

Systemdはtmpfsをサポートしています。 /tmp サイズを手動で指定する方法

/tmp以下を使用してインストールしましたtmpfs

sudo systemctl enable tmp.mount
sudo systemctl start tmp.mount

ただし、この方法は/tmp利用可能なすべてのRAMを占有します。

$ df -h /tmp
Filesystem      Size  Used Avail Use% Mounted on
tmpfs           3.9G   12K  3.9G   1% /tmp
$

systemd tmp.mountに1Gのみを使用するように指示する方法は?/etc/fstabsystemdを使用せずに手動で項目を追加してサイズを指定できることを知っています。しかし、私はしたくありません。 systemdでサポートされているtmpfsを使用したいと思います。

答え1

これシステムアプローチこれをオーバーライドtmp.mountまたは拡張する方法は にあります。既存のアイテム(または可能)を/etc/systemd/systemコピーし、コピーを編集するか、次のコマンドを実行してインストールオプションのみを変更する構成フラグメントを追加することをお勧めします。tmp.mount/lib/systemd/system/usr/share/systemd

sudo systemctl edit tmp.mount

そして入力

[Mount]
Options=mode=1777,strictatime,nosuid,nodev,size=1G

オープンエディタで。これは

  • というディレクトリを作成します。/etc/systemd/system/tmp.mount.d
  • override.confそのディレクトリに上記のテキストを含むファイルを追加します。

気づくsystemd.mountまだそういうことを言う

通常、マウントポイントを設定するのが/etc/fstab好ましい方法です。

だからあなたはこれをしたいかもしれません。つまりこの行のオプションを/etc/fstab追加するには、編集してください(必要に応じて追加)。size=.../tmp

tmpfs /tmp tmpfs mode=1777,strictatime,nosuid,nodev,size=1G 0 0

実際、これはインストールオプションを変更するための推奨方法です。systemdの「APIファイルシステム」:

通常、これらのAPIファイルシステムはリストされていませんが、/etc/fstab追加できます。その場合、ここで指定されたオプションは、対応する特定のAPIファイルシステムに適用されます。したがって、これらのファイルシステムのマウントオプションやその他のパラメータを変更するには、/etc/fstab適切な設定に追加するだけです。この手法では、単にインストールオプションを変更するだけでなく、ファイルシステムのソースや種類を変更することもできます。これは、/tmp物理ディスクがサポートする物理ファイルシステムに移動するのに役立ちます。

APIファイルシステムには、次のものが含まれます。/sys、、、、、、、、、、、、、、、、、、、、、。​ systemdは、インストール単位で指定されていない場合でもインストールされることを保証します。/proc/dev/run/tmp/sys/fs/cgroup/sys/kernel/security/sys/kernel/debug/sys/kernel/config/sys/fs/selinux/dev/shm/dev/pts/proc/sys/fs/binfmt_misc/dev/mqueue/dev/hugepages/sys/fs/fuse/connections/sys/firmware/efi/efivars/etc/fstab

ファイルシステムのサイズを変更するときは注意してくださいtmpfs。結局のところ、システムはメモリ(スワップを含む)を必要とする他のシステムと競合し、予期しない場合はメモリが枯渇する可能性があります。これはデッドロックを引き起こす可能性があります。

関連情報