В чем смысл вывода lsattr

16

Я задаюсь вопросом , что выход из lsattrсередины перехода печатает так странно , как следует, когда я пытался: lsattr /usr.

$ lsattr /usr
-----------------e- /usr/local
-----------------e- /usr/src
-----------------e- /usr/games
--------------I--e- /usr/include
--------------I--e- /usr/share
--------------I--e- /usr/lib
-----------------e- /usr/lib32
--------------I--e- /usr/bin
--------------I--e- /usr/sbin

Я прочитал справочную страницу chattrи lsattrдо сих пор не знаю.

Хунсю Чен
источник
2
Вы видите eна ext3 объем? В самом деле?
Игнасио Васкес-Абрамс
Используйте lsattr -lдля печати параметров, используя длинные имена вместо односимвольных сокращений. Также смотрите эту таблицу для описания отдельных опций.
Матиас Браун

Ответы:

13

Страница man для chattrсодержит всю информацию, необходимую для понимания lsattrрезультатов.

выдержка

    The letters `acdeijstuACDST' select the new attributes for the files: 
    append only (a), compressed (c), no dump (d), extent format (e),  
    immutable (i),  data  journalling  (j),  secure deletion (s), no 
    tail-merging (t), undeletable (u), no atime updates (A), no copy on 
    write (C), synchronous directory updates (D), synchronous updates (S), 
    and top of directory hierarchy (T).

    The following attributes are read-only, and may be listed by lsattr(1) 
    but not modified by chattr: huge file (h), compression error (E), 
    indexed directory (I), compression raw access (X), and compressed dirty 
    file (Z).

Если вы посмотрите описания тегов ниже на этой же странице руководства:

    The 'e' attribute indicates that the file is using extents for mapping 
    the blocks on disk.  It may not be removed using chattr(1).

    The 'I' attribute is used by the htree code to indicate that a directory 
    is being indexed using hashed trees.  It may not be set or  reset  using
    chattr(1), although it can be displayed by lsattr(1).
SLM
источник
10

На странице chattr справки атрибута 'e' указывает, что файл использует экстенты для отображения блоков на диске. Это не может быть удалено с помощью chattr.

Экстент - это непрерывная область хранения в файловой системе компьютера, зарезервированная для файла. Когда процесс создает файл, программное обеспечение для управления файловой системой выделяет весь экстент. При повторной записи в файл, возможно, после выполнения других операций записи, данные продолжаются с того места, где была прервана предыдущая запись. Это уменьшает или устраняет фрагментацию файла и, возможно, разброс файла тоже.

Файловая система, основанная на экстентах (т. Е. Система, которая обращается к хранилищу с помощью экстентов, а не отдельных блоков), не требует ограничения каждого файла одним непрерывным экстентом.

Следующие системы поддерживают экстенты:

ASM - Automatic Storage Management - Oracle's database-oriented filesystem.
BFS - BeOS, Zeta and Haiku operating systems.
Btrfs - GPL'd extent based file storage (16PiB/264 max file size).
Ext4 - Linux filesystem (when the configuration enables extents — the default in Linux since version 2.6.23).
Files-11 - Digital Equipment Corporation (subsequently Hewlett-Packard) OpenVMS filesystem.
HFS and HFS Plus - Hierarchical File System - Apple Macintosh filesystems.
HPFS - High Performance File Syzstem - OS/2 and eComStation.
JFS - Journaled File System - Used by AIX, OS/2/eComStation and Linux operating systems.
Microsoft SQL Server - Versions 2000-2008 supports extents of up to 64KB [1].
Multi-Programming Executive - Filesystem by Hewlett-Packard.
NTFS - Microsoft's latest-generation file system [1]
Reiser4 - Linux filesystem (in "extents" mode).
SINTRAN III - File system used by early computer company Norsk Data.
UDF - Universal Disk Format - Standard for optical media.
VERITAS File System - Enabled via the pre-allocation API and CLI.
XFS - SGI's second generation file system.[2]

из википедии

chattrа lsattrутилиты в Linux и атрибуты, которыми они управляют, относятся к семейству Second Extended Filesystem (ext2, ext3) и доступны как часть пакета e2fsprogs . Они не работают с файлами, расположенными в других файловых системах, например, ReiserFS, FAT.

(j)журналирование данных (t)без объединения хвостов (e)использует расширения для отображения блоков на диске

Обычно в файловой системе экстентов обычные файлы и файлы каталогов хранятся в виде последовательности экстентов, последовательных последовательностей блоков на диске. Запись каталога для файла отслеживает экстенты файла. Если файловой системе требуется более одного экстента для хранения файла, она использует связанный список блоков экстентов для хранения информации об экстентах.

harish.venkat
источник