本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
/var
永久变量系统数据
/var/cache
相比之下/var/lib,擦除中的数据/var/cache
不会导致数据丢失,因为应用程序需要能够从其他来源重建/var/cache
数据。
/var/lib
: 永久系统数据
该/var/lib
目录用于存储永久性系统数据。各种系统组件将在此处放置该组件专用的数据。相比之下/var/cache,擦除中的数据/var/lib
会导致数据丢失。
例如,默认情况下,PostgreSQL 数据库服务器将在中存储数据库数据。/var/lib/pgsql
这些数据的布局和文件格式对PostgreSQL来说是私有的,而且它是永久性数据,就像被删除一样,用户会遇到数据丢失的情况。
/var/log
: 永久日志
此目录用于存储永久日志。建议软件使用syslog(3)
或 sd_journal_print(3)
API 调用,而不是直接在下存储日志文件/var/log
。
注意
在 AL2 023 中systemd日记替换 rsyslog,这与默认的 Amazon Linux 2 配置有明显的区别。
有关使用读取日志的更多信息journalctl
,请参阅journalctl
许多应用程序使用自己的机制来写入中找到的日志文件,有时甚至是轮换日志文件/var/log
。请参阅这些应用程序的文档,了解如何配置其日志文件。
/var/spool
: 邮件和打印机队列
此目录用于存储诸如邮件或打印机队列之类的永久性数据。
/var/tmp
: 较大的临时文件
对于大小有限的小临时文件,可能/tmp应该改用。
虽然/tmp默认配置为tmpfs
卷,/var/tmp
但默认配置为根文件系统上的路径,因此是存放更大、更持久的临时文件的地方。默认情况下,会定期运行清理作业,它会删除最近未访问过的文件。
有关如何配置临时文件清理的信息,请参阅和 tmpfiles.d(5)
systemd-tmpfiles(8)
man 手册页。
与之类似/tmp,应用程序应优先使用$TMPDIR
环境变量中指定的路径/var/tmp
。然后,用户可以将$TMPDIR
环境变量设置为覆盖应用程序应使用的路径/var/tmp
。
警告
由于/var/tmp
是共享的(按原样)/tmp,因此使用安全的方法来创建临时文件非常重要。有关详细信息,请参阅有关使用/tmp
和/var/tmp
安全的systemd
文档。
注意
最佳做法是将PrivateTmp=
指令设置为yes
或在不与主机或其他disconnected
服务共享/tmp
/var/tmp
且不与主机或其他服务共享的沙箱中运行服务。systemd
有关更多信息,包括如何配置两个服务以共享相同的私有临时目录,请参阅 systemd.exec(5)
man 页面。
/tmp和/var/tmp路径密切相关,存在的目的不同。