DebianのRAMが不足しているため、/ tmpをSSDドライブに移動する必要があります。しかし、これを使用しているプログラムが/ tmpパスの下でアクセスを継続できるようにするには、これを行う方法がわかりません。
だから基本的に私が達成したいのは、/tmpをRAMディスクから/home/tmpに移動することです。 /tmp経由でアクセスできます。
答え1
systemctl mask tmp.mount
このコマンドは、/ tmpにRAMベースのファイルシステム()をマウントしないsystemd
ように指示します。tmpfs
変更を適用するには、システムを再起動する必要があります。
ほとんどの場合、これはあなたがしなければならないすべてです。 /tmp を /home/tmp または他の場所にリダイレクトする必要はありません。この方法は正式に推奨されますシステム文書 -
tmpfsがサポートしている/tmpを削除したい!
3つのオプションがあります。
- ルートと同じ物理ファイルシステムに常駐するように、/ tmpのすべてのマウントを無効にします。これを行うには、次を実行します。
systemctl mask tmp.mount
- 他の物理ファイルシステムを/ tmpにマウントします。これを行うには、他のファイルシステムと同様に、/ etc / fstabにそのエントリを作成するだけです。
- /tmp を維持しますが、サイズを増減します。これを行うには、他のtmpfsファイルシステムと同様に、/ etc / fstabにそのエントリを作成し、正しいsize =オプションを使用するだけです。
たとえば、/tmpを/home/tmpにリダイレクトする必要がないのはなぜですか?
上記は/tmpを内部書き込み可能ディレクトリ/
(ルートファイルシステム)として残す必要があります。 Debianまたは他のほとんどのLinuxディストリビューション用ソフトウェアしなければならないルートファイルシステムのスペース不足を心配する必要がないように、小さなファイルセットにのみ/ tmpを使用してください。この要件は、主に/ tmpがRAMファイルシステムである可能性があるという考えに由来します。
- https://systemd.io/TEMPORARY_DIRECTORIES.html
- /tmpと/var/tmpの違いは何ですか?[unix.stackexchange.com]
時間が経つにつれて、/ tmpが古いファイルでいっぱいになるのを心配する必要はありません。 / tmpは起動時に自動的にクリーンアップされます。
$ cat /usr/lib/tmpfiles.d/tmp.conf
# This file is part of systemd.
#
# systemd is free software; you can redistribute it and/or modify it
# under the terms of the GNU Lesser General Public License as published by
# the Free Software Foundation; either version 2.1 of the License, or
# (at your option) any later version.
# See tmpfiles.d(5) for details
# Clear tmp directories separately, to make them easier to override
D /tmp 1777 root root -
#q /var/tmp 1777 root root 30d
# There are more lines here, but they are not important to this answer
# ...