Linux の一時ディレクトリはどこにありますか?

Linux の一時ディレクトリはどこにありますか?

LinuxにはWindowsのフォルダのような、一般的な用途の標準的な一時ディレクトリがありますかC:\Temp?もしあるなら、それはどこにありますか?tmpプログラムでディレクトリを見つける方法に関するSOの質問ただし、事前に XML 構成ファイルで一時的な場所を設定したいと考えています。

答え1

ファイルシステム階層標準バージョン 3.0 では次のように書かれています:

/tmp : 一時ファイル

一時ファイルを必要とするプログラムがディレクトリ/tmpを利用できるようにする必要があります。

/tmpプログラムは、プログラムの呼び出し間でファイルまたはディレクトリが保持されると想定してはなりません。

根拠

IEEE 標準 POSIX.1-2008 には、上記のセクションと同様の要件が記載されています。 に保存されているデータはサイト固有の方法で削除できますが、 にあるファイルとディレクトリはシステムの起動時に必ず削除する/tmpことをお勧めします。/tmp

FHS は、歴史的な前例と一般的な慣行に基づいてこの推奨事項を追加しましたが、システム管理はこの標準の範囲外であるため、これを要件とはしませんでした。

/var/tmp : システムの再起動時に保存される一時ファイル

ディレクトリ/var/tmpは、システムの再起動後も保持される一時ファイルまたはディレクトリを必要とするプログラムで使用できます。したがって、 に保存されたデータは/var/tmpのデータよりも永続的です/tmp

にあるファイルとディレクトリは、/var/tmpシステムの起動時に削除しないでください。 に保存されているデータは/var/tmp通常、サイト固有の方法で削除されますが、 よりも低い間隔で削除を実行することをお勧めします/tmp

また、オープン グループ ベース仕様 発行 7、環境変数次のようなことが言及されています。

TMPDIR この変数は、一時ファイルを作成する場所を必要とするプログラムが使用できるディレクトリのパス名を表します。

システムこれについても発言があります:

/tmp/そして/var/tmp/Linuxシステムが一時ファイル用に用意している、誰でも書き込み可能なディレクトリが2つあります。前者は、通常tmpfsそのため、RAM/スワップによってバックアップされ、再起動のたびにフラッシュされます。後者は通常、適切な永続的なファイル システムであるため、物理ストレージによってバックアップされます。これは次のことを意味します。

  1. /tmp/小さいサイズ制限のあるファイルにのみ使用し、/var/tmp/それ以外の場合は使用してください。

  2. ブートサイクル後も存続するデータは に配置しないでください/tmp/

環境変数が設定されている場合は$TMPDIR、そのパスを使用し、/tmp/またはを/var/tmp/直接使用しないでください。

見るファイル階層(7)Linux システムのこれら 2 つのディレクトリ (および他のほとんどのディレクトリ) の詳細については、こちらをご覧ください。

パスは次のように照会できます。システムパス:

$ systemd-path temporary
/tmp
$ systemd-path temporary-large
/var/tmp

フリーBSDネットBSDオープンBSDそしてドラゴンフライ同様のことが説明されているヒア(7)マニュアルページ。

答え2

これは古い質問なので、今日では別の選択肢があります。Linuxディストリビューションsystemd(90%)では、$XDG_RUNTIME_DIRディレクトリ(XDG ベースディレクトリ仕様) は、特定の種類の一時ファイルを保存するために使用されます。通常は にあります/run/user/$uid

  • これはユーザーごとのディレクトリであり700、ファイルを非公開にします
  • tmpfsこれは優れたパフォーマンスを備えたマウント(別名RAMドライブ)です
  • 自動的にクリーンアップされます

の欠点はtmpfs、小さなファイル (PID ファイル、ロック ファイル、ソケットなど) の保存にのみ使用する必要があることです。

答え3

はい、/tmpは一般的な用途です。ここそしてここファイルシステム階層標準について。

/tmp/ 一時ファイル (/var/tmp も参照)。システムの再起動時に保存されないことがよくあります。

さらに詳しい情報は PDF に記載されています。

答え4

最初の質問は、Linux には標準の一時ディレクトリがあるか、ということです。ある場合、それはどこにありますか? tmp フォルダは、File System/tmp および File System/var/tmp にあります。/tmp の内容は、さまざまなアプリで「必要に応じて」必要なファイル/フォルダと不要なファイル/フォルダがわかっている場合は削除できます。不要なファイルは通常、その時点でのみアプリ自体を支援するためにアプリによってダウンロードされるファイルであるため、アプリの実行後はそれ以上必要ありません。/var/tmp フォルダには一切触れないでください。

関連情報