Есть ли какой-либо Флаг или некоторый байт в SuperBlock, от которого я могу различать, если это - ext4 или ext3 Файловая система? Я уже погуглил его и нашел некоторые внутренние структуры ext3 и ext4, но не могу найти мой ответ.
История ext2, ext3, и ext4
БЕЗ цифровой судебной экспертизы и блога реагирования на инциденты
Во-первых, давайте создадим два маленьких файла образа диска my-ext3
и my-ext4
и формат их в ext3
и ext4
соответственно, так, чтобы мы можем протестировать и видеть различия:
truncate -s 10M my-ext3
mkfs.ext3 my-ext3
truncate -s 10M my-ext4
mkfs.ext4 my-ext4
Теперь самый легкий способ проверить, что они, file
команда:
$ file my-ext*
my-ext3: Linux rev 1.0 ext3 filesystem data, UUID=7ba99eb3-57c0-4d81-a2e7-529fdee64cbb (large files)
my-ext4: Linux rev 1.0 ext4 filesystem data, UUID=2308e0f8-443e-4164-b5ee-4810e9def008 (extents) (large files) (huge files)
Как Вы видите, это правильно определяет каждый тип файловой системы. Можно также исследовать файловые системы с fsck
, путем монтирования их или использования некоторых инструментов разделения.
Однако как @Rinzwind указанный в его комментарии, всех ext2
, ext3
и ext4
файловые системы являются в основном тем же, за исключением того, что более высокие изменения поддерживают больше функций файловой системы. Они непосредственно не говорят Вам, является ли это ext3
или ext4
, но можно проверить, начиная с которой версии файловой системы каждая функция доступна. Если Вы находите кого-либо ext4
- только функции, это должно быть ext4
. Давайте взглянем на них.
Команда для исследования файловой системы dumpe2fs
. Мы только интересуемся данными суперблока, таким образом, мы добавляем -h
опция, иначе это лавинно разошлет консоль с тоннами inode информации также. Для нас только их "Функции файловой системы" интересны, поэтому давайте использовать grep
фильтровать это:
$ dumpe2fs -h my-ext3 |& grep "^Filesystem features:"
Filesystem features: has_journal ext_attr resize_inode dir_index filetype sparse_super large_file
$ dumpe2fs -h my-ext4 |& grep "^Filesystem features:"
Filesystem features: has_journal ext_attr resize_inode dir_index filetype extent flex_bg sparse_super large_file huge_file uninit_bg dir_nlink extra_isize
Теперь мы имеем два списка функций файловой системы и можем проверить каждый из них для обнаружения, который является самым низким ext?
пересмотр файловой системы, который поддерживает каждую функцию. Мы можем взглянуть на man ext4
для этого это содержит список со всеми ext4
функции файловой системы, их описание и с тех пор, когда они поддерживаются.
Я составил немного списка для Вас и заказал функции первым ext?
пересмотр, который поддерживает их. Все функции от более старых изменений поддерживаются в более новых изменениях также:
ext2
: ext_attr
, filetype
, sparse_super
ext3
: dir_index
, has_journal
ext4
: 64bit
, bigalloc
, dir_nlink
, extent
, extra_isize
, flex_bg
, huge_file
, meta_bg
, mmp
, uninit_bg
Существует больше функций, описанных в man ext4
, но без информации, о которой изменения файловой системы поддерживают их: journal_dev
, large_file
, sparse_super2
, quota
, resize_inode
Вероятно, они - весь подарок с тех пор ext2
, но я не на 100% уверен. Оставьте комментарий, если Вы знаете больше о кромке.