Когда я создаю файловую систему ext4, есть много «функций», которые я могу включать и отключать, например has_journal, extension, huge_file и так далее. Есть ли способ узнать, какие параметры использовались при создании файловой системы ext4 (я имею в виду, после ее создания)?
У меня существовал раздел ext4 (созданный кем-то), но я даже не знаю, использовал ли он журнал или экстенты.
Вы можете использовать tune2fs для вывода списка:
$ su -c "tune2fs -l /dev/sda6" | grep features
Password:
Filesystem features: has_journal ext_attr resize_inode dir_index filetype needs_recovery extent flex_bg sparse_super large_file huge_file uninit_bg dir_nlink extra_isize
$
Я полагаю, вы могли бы использовать dumpe2fs
утилита, чтобы получить дамп информации о файловой системе ext2 / etx3 / ext4.
Например, что-то вроде этого может сделать:
sudo dumpe2fs /dev/sda5 | more
И начало вывода на моем компьютере выглядит так:
Last mounted on: /
Filesystem UUID: 848446d9-a158-4442-905c-9a9551b0eb1a
Filesystem magic number: 0xEF53
Filesystem revision #: 1 (dynamic)
Filesystem features: has_journal ext_attr resize_inode dir_index filetype needs_recovery extent flex_bg sparse_super large_file huge_file uninit_bg dir_nlink extra_isize
Filesystem flags: signed_directory_hash
Default mount options: (none)
Filesystem state: clean
Errors behavior: Continue
Filesystem OS type: Linux
Inode count: 732960
Block count: 2929846
Reserved block count: 146492
...
Ты можешь использовать file -s $DEVICE
который выводит в моей системе:
# /dev/dm-0: Linux rev 1.0 ext4 filesystem data (needs journal recovery) (extents) (large files) (huge files)
Если вы не хотите знать, что означают эти параметры, их следует упомянуть в документации ext4, которая будет включена в исходный код ядра. Вы можете найти документацию в Интернете Вот. Это должно быть верно для всех файловых систем, и типичное расположение, если у вас есть источник на сервере, будет /usr/src/linux-source-2.6.27/Documentation/filesystems