/var是系统运行中动态数据的专属存放区,专管日志、缓存、数据库等随服务运行持续增长的变量数据,与静态的/usr和配置型的/etc明确分工。

/var 是系统运行中“活”的数据存放地,不是装完就不管的静态内容,而是随服务启动、用户登录、程序运行持续写入和更新的地方。它不存操作系统本体,也不放用户文件,专管那些必然变化、越用越大的东西——日志就是最典型的一类。
/var 的核心定位:变量数据的专属区域
/var 来自 “variable”,强调其内容天然具有不确定性、增长性和时效性。它和 /usr(安装时固定)、/etc(配置一次为主)形成明确分工:
- /usr 存的是软件本体,比如 nginx 的二进制文件和默认网页模板,装好基本不动;
- /etc 存的是你告诉软件“该怎么运行”的规则,比如 nginx.conf,改了要 reload 才生效;
- /var 存的是软件“实际运行中产生的结果”,比如 nginx 每次请求记下的 access.log、错误记下的 error.log,还有数据库文件、软件缓存、进程 PID、锁文件等——这些你不干预也会自动产生,而且一天比一天多。
/var/log:日志的集中营,不只是“看报错”那么简单
/var/log 不是随便堆日志的垃圾桶,而是一个有组织的记录体系。常见日志文件各司其职:
Zynq‑7000 / Zynq UltraScale+ 硬件调试技能。适用于 Xilinx Zynq(Cortex‑A9/A53 + FPGA)Linux 环境,调试 I2C、I2S、UART、GPIO 等外设。包括设备树配置、内核驱动、用户空间调试工具、交叉编译和常见问题排查,支持 PetaLinux 开发。
- /var/log/syslog(Debian/Ubuntu)或 /var/log/messages(RHEL/CentOS):系统级通用日志,内核消息、服务启停、硬件事件都往这里汇;
- /var/log/auth.log(Debian/Ubuntu)或 /var/log/secure(RHEL/CentOS):所有认证相关操作,如 ssh 登录成功/失败、sudo 使用、用户切换;
- /var/log/kern.log:纯内核日志,排查驱动、内存、中断问题时必查;
- /var/log/apt/history.log 或 /var/log/yum.log:包管理器的操作痕迹,知道谁什么时候装/卸了什么软件;
- 服务专属日志,如 /var/log/nginx/access.log、/var/log/mysql/error.log,由对应服务自行定义路径并写入。
为什么日志非得放在 /var 下?三个实际原因
这不是约定俗成,而是功能设计决定的:
- 权限隔离合理:/var 允许服务以非 root 身份(如 www-data、mysql)直接写入自己子目录,避免把日志塞进 /tmp(重启清空)或 /root(普通服务无权写);
- 空间可独立管理:/var 常被单独划为一个逻辑卷或分区,防止日志撑爆根分区导致系统无法启动;
- 轮转与清理机制成熟:logrotate 默认只管 /var/log 下的文件,按大小或时间自动压缩归档、删除旧日志,不用手动干预。
排查日志相关问题的实用提示
遇到磁盘满、服务异常或登录失败,优先盯住 /var/log:
- 快速看最新几行:
tail -n 20 /var/log/syslog; - 实时跟踪新增内容:
tail -f /var/log/auth.log(Ctrl+C 退出); - 查某次重启后的日志:
journalctl --since "2026-10-12 18:00:00"(systemd 系统); - 发现某个日志特别大,先别急着删,用
ls -Sh /var/log | head -5排序找出最大几个,再结合服务状态判断是否正常。

















