

本文属于机器翻译版本。若本译文内容与英语原文存在差异，则一律以英文原文为准。

# `/tmp`（小型临时文件）
<a name="filesystem-slash-tmp"></a>

**注意**  
 Amazon Linux 2023 与 Amazon Linux 2 不同，默认情况下 `/tmp` 现在是 `tmpfs`，而不是 root 文件系统上的一个路径。

**注意**  
 在容器中运行时，通常由您的容器运行时配置决定 `/tmp` 是 `tmpfs` 还是磁盘上的路径，以及是否有运行的清理进程。

 `/tmp` 目录用于存放小型、大小受限的临时文件。默认情况下，AL2023 将其配置为 `tmpfs` 文件系统，大小限制为 RAM 的 50%，且最多一百万个 inodes。

 应用程序应优先使用 `$TMPDIR` 环境变量中的路径，而非 `/tmp`。然后用户可以设置 `$TMPDIR` 环境变量来覆盖应用程序应用于 `/tmp` 的路径 

 对于较大的临时文件，应改用 [`/var/tmp`](filesystem-slash-var.md#filesystem-slash-var-tmp)。

**警告**  
 由于 `/tmp` 是共享的，因此使用安全的方法创建临时文件非常重要。有关详细信息，请参阅上游关于[安全使用 `/tmp` 和 `/var/tmp`](https://systemd.io/TEMPORARY_DIRECTORIES/) 的 `systemd` 文档。

**注意**  
 最佳实践是为 `systemd` 服务配置 `PrivateTmp=` 指令设置为 `yes` 或 `disconnected`，这将在沙盒中运行服务，其中 `/tmp` 和 [`/var/tmp`](filesystem-slash-var.md#filesystem-slash-var-tmp) 不与主机或其他服务共享。  
 更多信息，包括如何配置两个服务以共享相同的私有临时目录，请参阅 `systemd.exec(5)` man 页面。

 `/tmp` 的内容通常在启动时被清理，未使用的文件会定期清理。默认情况下，清理过程在启动后不久运行，然后每天运行。有关如何配置临时文件清理的信息，请参阅 `tmpfiles.d(5)` 和 `systemd-tmpfiles(8)` 的 man 手册页。

 `/tmp` 和 [`/var/tmp`](filesystem-slash-var.md#filesystem-slash-var-tmp) 路径密切相关，但存在的目的不同。