Linux. Команда mkfs
18.08.2023
Теги: CLI • Linux • БлочноеУстройство • Команда • ФайловаяСистема
Команда mkfs
(make file system) используется для создания файловой системы на блочном устройстве, таком как жесткий диск или флэш-накопитель. Без создания файловой системы устройство не может быть использовано для хранения данных.
Команда mkfs
Синтаксис команды mkfs
выглядит следующим образом
$ mkfs [опции] [-t тип_фс] [опции_фс] устройство
$ mkfs.тип_фс [опции] [опции_фс] устройство
Команда является оберткой для утилит, которые создают указанную файловую систему. Поэтому есть опции самой команды и есть опции файловой системы, которые mkfs
передает этим утилитам. Например, при вызове mkfs.ntfs
— будет вызвана утилита /usr/sbin/mkntfs
, при вызове mkfs.ext4
— будет вызвана утилита /usr/sbin/mke2fs
.
Опции команды mkfs
-t
или--type
— тип файловой системы, по умолчаниюext2
-V
или--verbose
— подробная информация; указание два раза приведет к тестовому запуску-V
или--version
— информация о используемой версии-h
или--help
— краткая справка о команде
Опция -V
отображает информацию о версии только в том случае, когда является единственной; в противном случае опция будет выводить подробную информацию о процессе создания файловой системы.
Файловые системы
Посмотреть, какие файловые системы доступны можно с помощью команды mkfs
+ Tab
+ Tab
$ mkfs Tab Tab mkfs mkfs.btrfs mkfs.ext2 mkfs.ext4 mkfs.ntfs mkfs.bfs mkfs.cramfs mkfs.ext3 mkfs.minix mkfs.xfs
Самой популярная файловая система Linux в настоящее время — ext4
. Она проверена, надёжна и является стандартной для ряда дистрибутивов. Позволяет уменьшить фрагментацию файлов и работать с очень большими дисками, разделами и файлами.
Создание файловой системы bfs
вряд когда-либо потребуется, так как она является загрузочной и создаётся при установке Linux.
Система fat
или vfat
обычно используется на внешних подключаемых носителях — флеш-накопителях и картах памяти.
Файловая система ntfs
может потребоваться в том случае, если нужна совместимость с ОС Windows, для которой она родная.
Команда mke2fs
Именно эта команда отвечает за создание файловых систем ext2
, ext3
, ext4
— можно вызывать ее напрямую, не через mkfs.extN
.
$ mke2fs [-t ext2|ext3|ext4] [опции] устройство
Опции команды mke2fs
-t
— тип файловой системы, по умолчаниюext2
-c
— проверка на поврежденные блоки, рекомендуется перед созданием ФС-n
— холостой запуск — что будет сделано при реальном запуске-d dir
— копировать директориюdir
в корень новой файловой системы-V
— подробная информация о процессе создания файловой системы
Создание файловых систем
У меня виртуальная машина, у которой два диска — /dev/sda
и /dev/sdb
.
$ sudo fdisk -l Диск /dev/sda: 25 GiB, 26843545600 байт, 52428800 секторов Disk model: VBOX HARDDISK Единицы: секторов по 1 * 512 = 512 байт Размер сектора (логический/физический): 512 байт / 512 байт Размер I/O (минимальный/оптимальный): 512 байт / 512 байт Тип метки диска: gpt Идентификатор диска: DA663EDF-5E42-42E3-9DAF-2E6A9AEBB59E Устр-во начало Конец Секторы Размер Тип /dev/sda1 2048 4095 2048 1M BIOS boot /dev/sda2 4096 1054719 1050624 513M EFI /dev/sda3 1054720 52426751 51372032 24,5G Файловая система Linux Диск /dev/sdb: 8 GiB, 8589934592 байт, 16777216 секторов Disk model: VBOX HARDDISK Единицы: секторов по 1 * 512 = 512 байт Размер сектора (логический/физический): 512 байт / 512 байт Размер I/O (минимальный/оптимальный): 512 байт / 512 байт Тип метки диска: gpt Идентификатор диска: B091D135-5779-6245-B8BB-CBF0A3E670E7 Устр-во начало Конец Секторы Размер Тип /dev/sdb1 2048 4196351 4194304 2G Файловая система Linux /dev/sdb2 4196352 8390655 4194304 2G Файловая система Linux /dev/sdb3 8390656 12584959 4194304 2G Файловая система Linux /dev/sdb4 12584960 16777182 4192223 2G Файловая система Linux
На диске /dev/sdb
созданы четыре раздела (см. здесь и здесь). Давайте создадим на них четыре разные файловые системы — ext4
, vfat
, xfs
и btrfs
. При этом некоторые команды создания ФС будут недоступны — так что нужно установить недостающие пакеты. Какие команды создания файловых систем доступны — можно посмотреть с помощью mkfs
+ Tab
+ Tab
.
$ sudo mkfs.ext4 /dev/sdb1
$ sudo apt install dosfstools $ sudo mkfs.vfat /dev/sdb2
$ sudo apt install xfsprogs $ sudo mkfs.xfs /dev/sdb3
$ sudo apt install btrfs-progs $ sudo mkfs.btrfs /dev/sdb4
btrfs
в репозитории может иметь различные названия — btrfsprogs
, btrfs-progs
, btrfs-tools
.
И посмотрим что получилось с помощью команды parted
$ sudo parted /dev/sdb print Модель: ATA VBOX HARDDISK (scsi) Диск /dev/sdb: 8590MB Размер сектора (логич./физич.): 512B/512B Таблица разделов: gpt Флаги диска: Номер Начало Конец Размер Файловая система Имя Флаги 1 1049kB 2149MB 2147MB ext4 2 2149MB 4296MB 2147MB fat32 3 4296MB 6443MB 2147MB xfs 4 6443MB 8590MB 2146MB btrfs
Поиск: CLI • Linux • Команда • mkfs • mke2fs • ext4 • Файловая система • Блочное устройство