从man chattr
当访问具有“A”属性集的文件时,它的 atime 记录不会被修改。这避免了笔记本电脑系统的一定数量的磁盘 I/O。
但是,当我使用noatime
mount 选项重新安装文件系统时:
[root@localhost ~]# mount -o remount,noatime /dev/sdb1 /newfs/
在其中创建一个文件
[root@localhost ~]# cd /newfs/
[root@localhost newfs]# touch myfile
并获取其文件属性:
[root@localhost newfs]# lsattr myfile
-------------e-- myfile
尽管事实如此,A
但未设置文件属性。
这是预期的行为吗?
是的,这是意料之中的:这两种行为是正交的。在文件上设置
A
属性可确保其访问时间永远不会更新,无论挂载选项如何。挂载文件系统noatime
确保不会更新访问时间,无论文件属性如何。使用给定的一组选项挂载文件系统不会影响选项处于活动状态时创建的文件的任何相关属性;因此,使用
noatime
active 创建的文件不会A
自动设置属性,就像可以在nodev
使用noexec
.这是预期的行为。
它们中的任何一个都会阻止 atime 被更新,但它们是独立的。
内核没有系统调用来查询整体状态。你必须自己检查他们两个。