ext4

From Gentoo Wiki
Jump to:navigation Jump to:search
This page is a translated version of the page Ext4 and the translation is 100% complete.
Resources

ext4 (расширенная файловая система четвертой версии) — дисковая файловая система с открытым исходным кодом, и самая последняя версия серии «расширенных файловых систем». Это основная файловая система во многих системах Linux, что делает ее, пожалуй, самой стабильной и протестированной файловой системой в Linux.

Первоначально являясь ответвлением ext3, ext4 добавила новые возможности, улучшила производительность и устранила ограничения размеров ценой незначительных изменений дискового формата. Теперь она поддерживает разделы размером до 1 Эб (эксабайт) и файлы размером до 16 Тб. Вместо классического распределения блоков ext2/3, ext4 использует экстенты, которые улучшают производительность при работе с большими файлами и снижают фрагментацию. ext4 также обеспечивает сложные алгоритмы распределения блоков (отложенное распределение и многоблочное распределение), благодаря чему драйвер файловой системы имеет больше возможностей для оптимизации распределения данных на диске.

Установка

Ядро

Активируйте следующий параметр ядра для поддержки ext4:

ЯДРО Включение поддержки ext4
File systems  --->
  <*> The Extended 4 (ext4) filesystem Search for <code>CONFIG_CONFIG_EXT4_FS</code> to find this item.

Поддержка дополнительных возможностей ext4:

ЯДРО Включение дополнительных возможностей 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:

ЯДРО Включение поддержки ext3
File systems  --->
   <*> Ext3 journalling file system support

Поддержка дополнительных возможностей ext3:

ЯДРО Включение дополнительных возможностей ext3
File systems  --->
   [*]   Default to 'data=ordered' in ext3 
   [*]   Ext3 extended attributes
   [*]     Ext3 POSIX Access Control Lists
   [*]     Ext3 Security Labels

Ext2

Заметка
Ext2 не поддерживает журналирование, её поддержка была добавлена лишь в Ext3

Включите следующие параметры ядра для поддержки ext2:

ЯДРО Включение поддержки ext2
File systems  --->
   <*> Second extended fs support

Поддержка дополнительных возможностей ext2:

ЯДРО Включение дополнительных возможностей 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.

Поддержка больших накопителей

ЯДРО Включение поддержки для больших дисков в x86 ядрах
-*- 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 — вики по второй, третьей и четвертой расширенной файловой системе.

Ссылки