armbian的last命令显示为空,只提示wtmp begins xxxx日期(一般为本次登录开始时间),wtmp文件也为空的原因

发布时间 2023-08-15 16:38:58作者: dirgo

开始以为是系统被入侵了,但是直接情况wtmp文件的做法未免也太粗糙,不像是能侵入只允许密钥登录普通用户的系统的人干的,搜索这个提示也没有太多相关文章,最后无意间查看分区使用情况,发现有一个占用100%,才恍然大悟.

原因是armbian默认/var/log 挂载于zram 分区,这不是emmc上的分区,而是从内存里划出的分区,可以一定程度上缓解日志生成对emmc寿命的损耗,这个分区很小50M左右,正常情况下会有一个定时任务,每隔15分钟查询分区占用,大于75%就执行shell脚本将日志写入emmc,然后截断删除旧日志,我这个不知道什么原因,这个机制没有正常运行,导致 zram 分区存满,里面的wtmp文件自然也没法再存任何数据,所以last 命令读取到的也是空,解决方法当然是删一下里面的日志