我注意到e
安装在 ext4 文件系统上的 Linux 机器上的几个文件/目录的属性。
[[email protected] ~]$ lsattr -d /bin
-------------e- /bin
根据chattr(1)
:
“e”属性表示该文件正在使用范围来映射磁盘上的块。它可能无法使用 chattr(1) 删除。
这有什么不同,更重要的是,这个细节有什么重要意义——特别是为什么这个细节重要到足以报告为文件属性?在什么情况下我应该根据这个文件“正在使用扩展来映射磁盘上的块”的知识来改变我的行为?想必这是我需要知道的事情,不然也不会搞得这么明显吧?
我认为 extent 标志主要作为属性公开,以便您可以使用设置它
chattr
,这将导致 ext4 驱动程序使用范围而不是块列表重新分配文件。如果您已将现有的 ext3 文件系统转换为 ext4(通过使用tune2fs
启用新功能标志),您可能希望将现有文件转换为使用扩展,这就是实现它的方法。在 ext4 文件系统上新创建的文件总是使用扩展(据我所知),所以如果你的文件系统是作为 ext4 创建的(而不是从 ext3 转换而来),所有的东西都应该已经有扩展属性,所以你不需要担心它。
有关详细信息,请参阅本文。