ext4
ext4 (расширенная файловая система четвертой версии) — дисковая файловая система с открытым исходным кодом, и самая последняя версия серии «расширенных файловых систем». Это основная файловая система во многих системах Linux, что делает ее, пожалуй, самой стабильной и протестированной файловой системой в Linux.
Первоначально являясь ответвлением ext3, ext4 добавила новые возможности, улучшила производительность и устранила ограничения размеров ценой незначительных изменений дискового формата. Теперь она поддерживает разделы размером до 1 Эб (эксабайт) и файлы размером до 16 Тб. Вместо классического распределения блоков ext2/3, ext4 использует экстенты, которые улучшают производительность при работе с большими файлами и снижают фрагментацию. ext4 также обеспечивает сложные алгоритмы распределения блоков (отложенное распределение и многоблочное распределение), благодаря чему драйвер файловой системы имеет больше возможностей для оптимизации распределения данных на диске.
Установка
Ядро
Активируйте следующий параметр ядра для поддержки ext4:
File systems --->
<*> The Extended 4 (ext4) filesystem Search for <code>CONFIG_CONFIG_EXT4_FS</code> to find this item.
Поддержка дополнительных возможностей ext4:
File systems ---> [*] Ext4 POSIX Access Control Lists Search for <code>CONFIG_CONFIG_EXT4_FS_POSIX_ACL</code> to find this item. [*] Ext4 Security Labels Search for <code>CONFIG_CONFIG_EXT4_FS_SECURITY</code> to find this item. [ ] EXT4 debugging support
Ext3
Для обычной системы с ext4 нет нужды включать дополнительные параметры ext3 или ext2. Эти параметры указаны здесь лишь для истории.
Включите следующие параметры ядра для поддержки ext3:
File systems --->
<*> Ext3 journalling file system support
Поддержка дополнительных возможностей ext3:
File systems --->
[*] Default to 'data=ordered' in ext3
[*] Ext3 extended attributes
[*] Ext3 POSIX Access Control Lists
[*] Ext3 Security Labels
Ext2
Ext2 не поддерживает журналирование, её поддержка была добавлена лишь в Ext3
Включите следующие параметры ядра для поддержки ext2:
File systems --->
<*> Second extended fs support
Поддержка дополнительных возможностей ext2:
File systems --->
[*] Ext2 extended attributes
[*] Ext2 POSIX Access Control Lists
[*] Ext2 Security Labels
Оригинальный код файловой системы ext3 был удалён из ядра Linux начиная с версии 4.3; вместо этого код ext4 способен взаимодействовать с файловыми системами ext2, ext3 и ext4. Благодаря этому сохраняется совместимость с уже смонтированными файловыми системами ext2 или ext3 и обеспечивается возможность обновить их до функционала ext4. Также tune2fs можно использовать для добавления определённых возможностей ext3 и ext4 в существующую файловую систему ext2 или ext3, хотя определённые жёсткие ограничения всё ещё останутся в силе.
Оригинальный код файловой системы ext2 остаётся доступным.
Временные метки файлов в ext2 и ext3 подвержены проблеме 2038 года, которая устранена в ext4 начиная с 2016 года, с Linux kernel 4.3.6 и e2fsprogs 1.43.
Поддержка больших накопителей
-*- Enable the block layer --->
[*] Support for large (2TB+) block devices and files
USE-флаги
USE flags for sys-fs/e2fsprogs Standard EXT2/EXT3/EXT4 filesystem utilities
+tools
|
Build extfs tools (mke2fs, e2fsck, tune2fs, etc.) |
archive
|
Add support for mke2fs to read a tarball as input. This allows not needing privileges. Needs app-arch/libarchive. |
cron
|
Install e2scrub_all cron script |
fuse
|
Build fuse2fs, a FUSE file system client for ext2/ext3/ext4 file systems |
nls
|
Add Native Language Support (using gettext - GNU locale utilities) |
static-libs
|
Build static versions of dynamic libraries as well |
test
|
Enable dependencies and/or preparations necessary to run tests (usually controlled by FEATURES=test but can be toggled independently) |
Emerge
Пакет sys-fs/e2fsprogs должен быть доступен как часть системного профиля по умолчанию.
root #
emerge --ask sys-fs/e2fsprogs
Использование
Создание
Команда mkfs.ext4 необратимо уничтожит любое содержимое на разделе, который вы укажите для форматирования. Убедитесь что выбрали правильный раздел!
Чтобы создать файловую систему ext4 на разделе /dev/sda1:
root #
mkfs.ext4 /dev/sda1
Монтирование
См. filesystem.
Инструменты
Список инструментов, включённых в пакет:
Приложение | Описание | Man-страница |
---|---|---|
badblocks | Небольшая программа для стресс-теста блочных устройств. | badblocks(8) |
debugfs | Отладчик файловых систем ext2/ext3/ext4. | debugfs(8) |
dumpe2fs | Инструмент для отображения информации по файловым системам ext2/ext3/ext4. | dumpe2fs(8) |
e2fsck | Инструмент для проверки файловых систем ext2/ext3/ext4. | e2fsck(8) |
e2image | Инструмент для сохранения критических метаданных файловой системы ext2/ext3/ext4 в файл. | e2image(8) |
e2label | Инструмент для изменения метки тома для файловой системы ext2/ext3/ext4 (является символической ссылкой на tune2fs). | |
e2undo | Инструмент для повторного применения журнала отмены файловой системы ext2/ext3/ext4. | e2undo(8) |
fsck.ext2 | Проверка файловой системы ext2 (является символической ссылкой на e2fsck). | |
fsck.ext3 | Проверка файловой системы ext3 (является символической ссылкой на e2fsck). | |
fsck.ext4 | Проверка файловой системы ext4 (является символической ссылкой на e2fsck). | |
fsck.ext4dev | Проверка файловой системы ext4dev (является символической ссылкой на e2fsck). | |
logsave | Инструмент для сохранения вывода команды в файл журнала. | logsave(8) |
mke2fs | Основная программа для создания файловых систем ext2/ext3/ext4. Команды создания ссылаются на неё через символическую ссылку. | mke2fs(8) |
mkfs.ext2 | Создаёт файловую систему ext2 (является символической ссылкой на mke2fs). | |
mkfs.ext3 | Создаёт файловую систему ext3 (является символической ссылкой на mke2fs). | |
mkfs.ext4 | Создаёт файловую систему ext4 (является символической ссылкой на mke2fs). | |
mkfs.ext4dev | Создаёт файловую систему ext4dev (является символической ссылкой на mke2fs). | |
resize2fs | Изменение размера файловой системы ext2/ext3/ext4. | resize2fs(8) |
tune2fs | Настраивает изменяемые параметры файловых систем ext2/ext3/ext4. | tune2fs(8) |
chattr | Изменяет атрибуты в файловой системе Linux. | chattr(1) |
lsattr | Отображает атрибуты файлов в ext2/ext3/ext4. | lsattr(1) |
e2freefrag | Выводит отчёт о фрагментации свободного пространства. | e2freefrag(8) |
e4defrag | Утилита для дефрагментации смонтированной файловой системы ext4. | e4defrag(8) |
filefrag | Выводит отчёт о фрагментации файла. | filefrag(8) |
mklost+found | Создаёт каталог lost+found в смонтированной файловой системе ext2/ext3/ext4. | mklost+found(8) |
Смотрите также
- Ext4 encryption — provides instructions on encrypting files in a home partition using the ext4 filesystem's built-in file based encryption.
- JFS — 64-битная журналирующая файловая система, созданная компанией IBM.
- Btrfs — copy-on-write (CoW, копирование при записи) файловая система для Linux, предназначенная для реализации расширенных возможностей, в то же время уделяя особое внимание отказоустойчивости, самовосстановлению и простоте администрирования.
- XFS — высокопроизводительная журналируемая файловая система.
- F2FS — a filesystem designed for NAND flash-based devices.
Внешние ресурсы
- https://ext4.wiki.kernel.org — вики по второй, третьей и четвертой расширенной файловой системе.