/tmp (small temporary files)
Note
Amazon Linux 2023 is different to Amazon Linux 2 as by default
/tmp is now tmpfs
rather than a path on the root file system.
Note
When running in a container, it will typically be your container runtime
configuration that dictates if /tmp is tmpfs,
or a path on disk, and if there is a running clean-up process or not.
The /tmp directory is for small, size-bounded temporary files.
By default, AL2023 configures it to be a tmpfs file system with a size limit
of 50% of RAM and a maximum of one million inodes.
Applications should prefer the path in the $TMPDIR environment variable
over /tmp. Users can then set the $TMPDIR environment
variable to override the path an application should use for /tmp
For larger temporary files, /var/tmp should be used instead.
Warning
Since /tmp is shared, it is important to use safe methods
of creating temporary files. For details, see the upstream systemd documentation
on Using /tmp and /var/tmp Safely
Note
It is best practice for systemd services to be configured with
the PrivateTmp= directive set to yes or disconnected
which runs the service in a sandbox where /tmp and
/var/tmp
are not shared with the host or other services.
For more information, including how to configure two services to share
the same private temporary directories, see the systemd.exec(5)
man page.
The content of /tmp is typically cleaned at boot time, and
unused files are regularly cleaned up. By default, the cleanup
process runs shortly after boot and then every day. For information on
how to configure the clean-up of temporary files, see the tmpfiles.d(5)
and systemd-tmpfiles(8) man man pages.
The /tmp and /var/tmp paths
are closely related and exist for different purposes.