从man chattr
当访问具有“A”属性集的文件时,其atime 记录不会被修改。这避免了笔记本电脑系统的一定量的磁盘 I/O。
但是,当我使用 mount 选项重新挂载文件系统时noatime
:
[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
尽管如此,文件属性并未设置。
这是预期的行为吗?
答案1
是的,这是预期的:这两种行为是正交的。A
在文件上设置该属性可确保其访问时间永远不会更新,无论安装选项如何。安装文件系统可noatime
确保无论文件属性如何,都不会更新其上的访问时间。
使用给定选项集挂载文件系统不会影响选项处于活动状态时创建的文件的任何相关属性;因此,使用 active 创建的文件noatime
不会A
自动设置该属性,就像可以在使用 挂载的文件系统上创建设备节点nodev
,或者在使用 挂载的文件系统上创建可执行文件一样noexec
。
答案2
这是预期的行为。
它们中的任何一个都会阻止 atime 被更新,但它们是独立的。
内核没有系统调用来查询整体状态。你必须亲自检查它们。