我需要检测对某些文件的读访问,所以我需要文件系统以atime
通常的方式更新文件的属性。
在默认状态下,atime
虽然我没有使用该noatime
选项,但文件系统没有按预期更新:
$ cat /etc/fstab | grep '/home '
# /home was on /dev/sda7 during installation
UUID=d7e67903-f24d-45a7-be90-6a134c9c1ae9 /home ext4 defaults 0 2
$ mount | grep '/home '
/dev/sda7 on /home type ext4 (rw)
$ cat /etc/mtab | grep '/home '
/dev/sda7 /home ext4 rw 0 0
Run Code Online (Sandbox Code Playgroud)
在atime
上一个文件只是偶尔更新。后来我意识到文件系统是用新relatime
选项挂载的。
$ cat /proc/mounts | grep '/home '
/dev/sda7 /home ext4 rw,relatime,user_xattr,barrier=1,data=ordered 0 0
Run Code Online (Sandbox Code Playgroud)
因此,该relatime
选项似乎是 Ubuntu 12.04 上的默认选项。解决方案似乎很简单 - …
我正在尝试优化我的新 fs 布局,我想知道在哪里使用它是安全的noatime
?我知道例如 mutt 使用访问/创建/修改时间,以及其他任何可能使用的时间,无论在哪个目录中。
遵循大量指南,我根据不同的用例对我的目录进行了分区,但我真的不知道,将 noatime 放在哪里是安全的?
目录/标志:
/ defaults
(/bin
/sbin
/lib*
/etc
/root
/dev ...)
/boot defaults
/boot/EFI defaults
/usr defaults,ro,nodev
NOTE: dpkg needs rw
/usr/share defaults,ro,nodev,nosuid
/var defaults,nodev
NOTE: /var/lib/dpkg/info -> exec
/var/tmp defaults,nodev,nosuid,noexec
/var/log defaults,nodev,nosuid,noexec
/opt defaults,nodev
/tmp defaults,nodev,nosuid,noexec
NOTE: some installer may need exec
/home defaults,nodev,nosuid
Run Code Online (Sandbox Code Playgroud)