当前位置: 首页 > 图文教程 > 操作系统 > Unix/Linux > 拨开云雾:Lastlog文件不断变大的原因

Unix/Linux
Creating a OpenBSD 3.5 bootable CD
解决Fatal error: Call to undefined function: preg_match()
[工具 使用 原创] ls可以是彩色的,df也可以是彩色的
ipfilter+squid配置实例
UNIX痛恨者手册
postfix+ldap+sasl2+courier-imap for freebsd完全ports
硬盘、分区引导和操作系统加载程序
Unix/Linux下的“魔法兔仔”, webmin
solaris10 apache2 的问题
解决启动DHCP客户端时,出现unknown 主机名称的方法
A1000的电池用完了会有什么严重后果
Solaris 2.6+Ultra5内置扬声器故障诊断实例
各种shell下文件名补全功能的使用
民工日记--- We sell dream
让你的终端同时支持中文和 PP 的背景(转载收藏)
民工日记 --不变的变化
配置Solaris上网
民工日记--不鼓励也不反对
Solaris Security Toolkit 4.2
民工日记--无奈

Unix/Linux 中的 拨开云雾:Lastlog文件不断变大的原因


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-11-01   浏览: 82 ::
收藏到网摘: n/a

Lastlog文件是记录所有用户最后登录的相关信息,该文件的算法是这样的:

记录用户登录信息大小= UID * 256byte

如64位系统上的nfsnobody用户,其UID是4294967294 或者 2^32 - 2,这也是系统上最后一个的UID。

所以通过上面的算法就能说明该文件怎样显示1.2TB大小:

4294967294 * 256 = 1099511627264 bytes从上面的算法也可以看到,256是每一UID在lostlog文件中所占用的空间大小。所以这种文件就是所谓的sparse(稀疏)文件:稀疏文件就是在文件中留有很多空余空间,留备将来插入数据使用。这些空余空间被ASCII码的NULL字符占据,并且这些空间相当大,这个文件就被称为稀疏文件,但是并不分配相应的磁盘块。也就是没有真正占用文件系统空间。所以你就不用担心了这个文件占用了1.2TB的空间了。你可以用du -h /var/log/lastlog来查他看到真正占用磁盘的空间。