Как использовать команду mkfs в linux

Включаем автомонтирование, редактируем файл fstab

Прежде чем приступать к редактированию указанного файла, нужно определить точку монтирования раздела. Естественно, для этого раздел или диск сначала нужно будет открыть. Для определения точки монтирования, к примеру, разделов sdc, в терминале выполняем команду mount | grep /dev/sdc и записываем пути сразу после «on».

Вместо этого можно открыть том в приложении «Диски» и посмотреть, куда он примонтирован.

После этого отмонтируйте диски тут же в приложении «Диски» или кликом по иконке монтирования в разделе «Другие места». Впрочем, можно обойтись и без размонтирования.

Теперь в терминале открываем командой sudo nano /etc/fstab конфигурационный файл fstab.

В примере мы использовали команду sudo su -, позволяющую работать с правами суперпользователя без подтверждения выполнения операций. В открывшемся окне текстового редактора nano уже имеются данные монтирования загрузочного тома и свопа, а также комментарии

Сейчас они нас особо не интересуют, обратите лучше внимание на взятые в кавычки строки, нумерованный список которых приведен ниже

В этот файл нам нужно добавить наши блочные устройства — разделы разного типа, которых для примера мы взяли три: дополнительно созданный на диске sdc своп (sdc1), том Ext4 (sdc2) и том NTFS (sdc5).

Каждый том представлен новой строкой, в которой один за другим следуют:

  1. Блочное устройство <filesystem>.
  2. Точка монтирования <mount point>.
  3. Тип файловой системы <type>.
  4. Параметры монтирования, которых может быть несколько <options>.
  5. Резервное копирование <dump>.
  6. Проверка файловой системы на ошибки <pass>.

Начнем с раздела свопа. Вот так выглядит его строка:

/dev/sdc1           none      swap     sw          0             0

Первая часть строки — это блочное устройство — своп, а так как доступ к свопу не нужен, во второй части прописывается none. Далее указывается тип файловой системы — swap и параметр монтирования (для свопа это sw). Создавать его резервные копии не нужно, в проверке тоже нет необходимости, поэтому в качестве значений dump и pass выставляем . Для отделения параметров можно использовать как пробел, так и табуляцию.

Второй раздел отформатирован в Ext4, его строка выглядит так:

/dev/sdc2           /media/kompik/98a36276-c8d2-47ed-9d70-62e45bbdd71d        auto      noatine                0             2

Вот здесь уже мы указываем точку монтирования, представленную в данном примере этим длинным путем. По идее, следующим пунктом нужно было указать ext4, но мы предпочли auto, поскольку Ubuntu умеет автоматически распознавать тип файловой системы. Что касается параметров options, их много, из которых мы выбрали noatime, тем более, что он лучше всего подходит для SSD-дисков. Резервная копия раздела нам не нужна, поэтому для значения dump выставляем , а вот проверить Ext4 на ошибки следует. Для параметра pass выставляем значение 2, означающее, что раздел будет проверен вторым после корневого, для которого всегда указывается значение 1, за исключением файловой системы BTRFS. Для BTRFS всегда выставляется .

Примечание: значение проверки 2 выставляется для всех прочих устройств, независимо от того, какими по счету они являются.

Наконец, строка раздела с файловой системой NTFS выглядит следующим образом:

/dev/sdc5           /media/kompik/23B7C6C119D80309      auto      default  0             0

Здесь почти всё то же самое, кроме опции default (по умолчанию) и для параметра pass. Pass выполняет проверку файловой системы линуксовой утилитой fsck, использование которой в NTFS не имеет смысла. Поэтому проверку тоже отключаем. Итого получаем следующую картину:

Чтобы сохранить отредактированный файл, жмем Ctrl + X, подтверждаем действие вводом Y и нажатием Enter.

Осталось только проверить, работает ли монтирование.

Возьмем к примеру, раздел sdc5. Для этого тут же в терминале выполняем команду mount /dev/sdc5 без указания точки монтирования.

Хотя мы и не указали точку монтирования, команда была выполнена без ошибки, взяв нужные данные из отредактированного файла fstab. Если бы точка монтирования для устройства /dev/sdc5 была не указана, мы бы получили такую ошибку.

А на этом пока всё.

Да, описанный здесь способ автомонтирования не единственный, для этих же целей можно использовать и файлы юнитов, но работа с fstab кажется нам более понятной и удобной.

Файловые записи

Структурно файловая запись состоит из заголовка (header) и одного или нескольких атрибутов (attributes) произвольной длины, завершаемых маркером конца (end marker) — четырехбайтным шестнадцатеричным значением
FFFFFFFFh. Несмотря на то что количество атрибутов и их длина меняются от одной файловой записи к другой, размер самой структуры
FILE Record строго фиксирован. В большинстве случаев он равен 1 Кбайт (это значение хранится в файле
$boot, причем первый байт файловой записи всегда совпадает с началом сектора).

Если реальная длина атрибутов меньше размеров файловой записи, то ее «хвост» просто не используется. Если же атрибуты не умещаются в отведенное им пространство, создается дополнительная файловая запись (extra FILE Record), ссылающаяся на свою предшественницу. Так выглядит структура файловой записи:

1
2
3
4
5
6
7

FILE Record

Header;Заголовок

Attribute1;Атрибут1

Attribute2;Атрибут2

…;…

AttributeN;АтрибутN

EndMarker(FFFFFFFFh);Маркерконца

Первые четыре байта заголовка заняты «магической последовательностью»
FILE, сигнализирующей о том, что мы имеем дело с файловой записью типа
FILE Record. При восстановлении сильно фрагментированного файла
$MFT это обстоятельство играет решающую роль, поскольку позволяет отличить сектора, принадлежащие MFT, от всех остальных секторов.

Следом за сигнатурой идет 16-разрядный указатель, содержащий смещение последовательности обновления (update sequence). Под «указателем» здесь и до конца раздела подразумевается смещение от начала сектора, отсчитываемое от нуля и выраженное в байтах. Последовательность обновления хранится по смещению
002Dh, и поэтому сигнатура приобретает следующий вид:
FILE-\x00.

Размер заголовка варьируется от одной версии операционной системы к другой и в явном виде нигде не хранится. Вместо этого в заголовке присутствует указатель на первый атрибут, содержащий его смещение в байтах относительно начала файловой записи и расположенный по смещению
14h байт от начала сектора.

Смещения последующих атрибутов (если они есть) определяются путем сложения размеров всех предыдущих атрибутов (размер каждого из атрибутов содержится в его заголовке) со смещением первого атрибута. За концом последнего атрибута находится маркер конца — значение
FFFFFFFFh.

Длина файловой записи хранится в двух полях. Тридцатидвухразрядное поле реального размера (real size), находящееся по смещению
18h байт от начала сектора, содержит совокупный размер заголовка, всех его атрибутов и маркера конца, округленный по 8-байтной границе. Тридцатидвухразрядное поле выделенного размера (allocated size), находящееся по смещению
1Сh байт от начала сектора, содержит действительный размер файловой записи в байтах, округленный по размеру сектора. Документация утверждает, что выделенный размер должен быть кратен размеру кластера, но на практике это не так. Например, на моей машине длина поля выделенного размера равна четверти кластера.

16-разрядное поле флагов, находящееся по смещению
16h байт от начала сектора, в подавляющем большинстве случаев принимает одно из следующих трех значений:
00h — данная файловая запись не используется или ассоциированный с ней файл или каталог удален,
01h — файловая запись используется и описывает файл,
02h — файловая запись используется и описывает каталог.

64-разрядное поле, находящееся по смещению
20h байт от начала сектора, содержит индекс базовой файловой записи. Для первой файловой записи это поле всегда равно нулю, а для всех последующих, расширенных записей — индексу первой файловой записи. Расширенные файловые записи могут находиться в любых областях MFT, не обязательно расположенных рядом с основной записью. Следовательно, необходим какой-то механизм, обеспечивающий быстрый поиск расширенных файловых записей, принадлежащих данному файлу (просматривать всю MFT было бы слишком нерационально). Этот механизм существует, и основан он на ведении списков атрибутов (
$ATTRIBUTE_LIST). Список атрибутов представляет собой специальный атрибут, добавляемый к первой файловой записи и содержащий индексы расширенных записей.

2. На что ориентироваться при выборе системы хранения данных?

В первую очередь надо ориентироваться на стратегию развития и бизнес-цели компании.

В соответствии с общей стратегией и требованиями бизнеса выстраивается ИТ-стратегия.

«Надо представлять потенциально верхний уровень роста, понимать, куда хочет двигаться компания, на каких сервисах и мощностях будет развиваться ИТ-инфраструктура, – поясняет Алексей Никифоров. – Должен быть определен четкий путь. Потом он может меняться, но общий вектор необходимо задавать сразу».

От стратегии компании зависит сайзинг системы – подбор оптимальной конфигурации и производительности с учетом роста бизнеса.

Безграничный Ленивый Вариант

Что произойдет, если вы (или другой пользователь) используете файловую систему при попытке размонтировать ее? Размонтирование не удастся.

 sudo umount/dev/sdb 

Это не удалось, поскольку текущий рабочий каталог пользователя находится в файловой системе, которую он пытается отключить. Linux достаточно умен, чтобы не позволить вам отпугнуть ветку, на которой вы сидите.

Чтобы преодолеть это, используйте параметр (lazy). Это заставляет ждать, пока файловая система не сможет безопасно отключиться.

 sudo umount -l/dev/sdb 
 Ls 
 cd ~ 
 ls/mnt 

Несмотря на то, что введена команда , файловая система все еще монтируется, и пользователь может вывести список файлов в обычном режиме.

Как только пользователь меняет каталог на свой домашний каталог, файловая система дискеты освобождается и размонтируется. Попытка перечислить файлы в не дает результатов.

Создание файловой системы

Выберем файловую систему для использования. Мы вернемся в прошлое и воспользуемся Ext2, который является самой ранней версией Ext, которую может создать эта реализация mkfs. Это файловая система без ведения журнала, поэтому не храните в ней ничего ценного, не имея резервных копий где-либо еще. Мы используем вариант mkfs.ext2 команды mkfs, и мы говорим ему использовать наш файл изображения в качестве цели.

mkfs.ext2 ~/howtogeek.img

Файловая система создается, и отображаются некоторые детали файловой системы.

Как видно из выделенного текста, появляется mke2fs.

Теперь у нас есть контейнер для файловой системы — файл образа — который в этом сценарии заменяет жесткий диск. Внутри этого контейнера мы создали файловую систему. Теперь нам нужно смонтировать файловую систему, чтобы мы могли ее использовать.

Это временная установка, поэтому мы сделаем Точка монтирования внутри / mnt называется «компьютерщик». Мы удалим его, когда закончим.

sudo mkdir /mnt/geek

Теперь мы можем смонтировать наш файл образа.

sudo mount ~/howtogeek.img /mnt/geek

Нам нужно изменить владение файлом точки монтирования, чтобы у нас был доступ для чтения и записи.

sudo chown dave:users /mnt/geek/

И теперь мы можем использовать нашу новую файловую систему. Давайте перейдем в файловую систему и скопируем в нее несколько файлов.

cd /mnt/geek
cp ~/Documents/Code/*.? .

Это скопирует все файлы с однобуквенным расширением из каталога ~ / Documents / Code в нашу новую файловую систему. Проверим, скопировали ли они.

ls

Файлы были скопированы, поэтому наша файловая система создана, смонтирована и используется. По крайней мере, мы так думаем. Давайте еще раз проверим. Из нашего домашнего каталога мы размонтируем файловую систему

Обратите внимание, что в размонтировать

sudo umount /mnt/geek

Теперь, если мы вернемся в / mnt / geek и проверим файлы, мы не найдем их, потому что они находятся внутри нашего файла изображения, и он был размонтирован.

cd /mnt/geek
ls

Выбор файловых систем

Современный способ использования mkfs — набрать «mkfs». а затем имя файловой системы, которую вы хотите создать.

Чтобы увидеть файловые системы, которые может создать mkfs, введите «mkfs» и дважды нажмите клавишу Tab. После «mkfs» нет пробела, просто дважды нажмите Tab.

Список доступных файловых систем отображается в окне терминала. Снимок экрана взят из Ubuntu 18.04 LTS. Другие дистрибутивы могут предлагать больше или меньше вариантов. Мы рассмотрим их и кратко опишем каждый. После короткого слова о ведении журнала.

Ведение журнала — важная концепция файловых систем. Файловые системы записывают ожидающие записи файла в журнал. По мере записи в каждый файл журнал обновляется, и записи, ожидающие записи, обновляются. Это позволяет файловой системе восстанавливать поврежденные, частично записанные файлы, возникшие в результате катастрофического события, такого как отключение электроэнергии. Некоторые старые файловые системы не поддерживают ведение журнала. Те, кто этого не делает, реже записывают на диск, потому что им не нужно обновлять журнал. Они могут работать быстрее, но более подвержены повреждениям из-за прерванной записи файлов.

Ext2: Самой первой файловой системой для Linux была файловая система MINIX. Позже она была заменена первой файловой системой, когда-либо написанной специально для Linux, которая была Ext. Ext2 был Преемник Ext. Ext2 не является журналируемой файловой системой.Ext3: Это был преемник Ext2, и его можно рассматривать как Ext2 с журналированием, которое защищает вашу файловую систему от повреждения данных, вызванного сбоями и внезапным отключением питания.Ext4: Ext4 — это стандартная файловая система для некоторых дистрибутивов Linux. Это надежная, проверенная и надежная файловая система. Он имеет функции, которые уменьшить фрагментацию файлов и может использоваться с более крупными дисками, разделами и файлами, чем Ext3.BFS: Это Загрузочная файловая система, который предназначен для одной и только одной задачи: для обработки файлов в загрузочном разделе. Редко приходится создавать загрузочную файловую систему вручную. Ваш процесс установки Linux сделает это за вас.FAT: Таблица размещения файлов Файловая система была разработана для гибких дисков консорциумом тяжеловесов компьютерной индустрии. Она была представлена ​​в 1977 году. Единственная причина, по которой вы использовали бы эту файловую систему без ведения журнала, — это совместимость с операционными системами, отличными от Linux.NTFS: Файловая система новой технологии — это файловая система журналов Microsoft, представленная в Windows NT. Это был преемник FAT. Единственная причина, по которой вы будете использовать эту файловую систему, — это совместимость с операционными системами, отличными от Linux.MINIX: Первоначально создано Эндрю С. Таненбаум как учебное пособие, МИНИКС представляет собой операционную систему «mini-Unix». В настоящее время он нацелен на создание самовосстанавливающейся и отказоустойчивой операционной системы. Файловая система MINIX была разработана как упрощенная версия файловой системы Unix. Возможно, если вы выполняете кросс-разработку на компьютере Linux и ориентируетесь на платформу MINIX, вы можете использовать эту файловую систему. Или, возможно, вам нужна совместимость с компьютером MINIX по другим причинам. Варианты использования этой файловой системы на компьютере с Linux мне не особо интересны, но они доступны.VFAT: Таблица размещения виртуальных файлов, была введена в Windows 95 и сняла ограничение на восемь символов для имен файлов. Стало возможным имена файлов длиной до 255 символов. Единственная причина, по которой вы будете использовать эту файловую систему, — это совместимость с операционными системами, отличными от Linux.CRAMFS: Сжатая файловая система ROM — это файловая система, предназначенная только для чтения, предназначенная для встроенных систем и специального использования только для чтения, например, в процессах загрузки компьютеров Linux. Обычно сначала загружается небольшая временная файловая система, чтобы можно было запустить процессы начальной загрузки для подготовки к монтированию «настоящей» загрузочной системы.MSDOS: файловая система Операционная система Microsoft Disk. Выпущенная в 1981 году, это простая файловая система настолько проста, насколько это возможно. В первой версии даже каталогов не было. Он занимает видное место в истории вычислительной техники, но, помимо совместимости с устаревшими системами, нет особых причин использовать его сегодня.

mkfs создает файловые системы

Команда mkfs создает файловые системы. В других операционных системах создание файловой системы называется форматированием. Независимо от названия, это процесс, который подготавливает раздел для хранения данных. Да, разделу нужен способ хранения файлов. Но ему также нужен механизм для хранения имен и местоположений этих файлов вместе с их метаданными, такими как отметка времени создания файла, отметка времени изменения файла, размер файла и т. Д. После того, как mkfs создаст необходимую среду для обработки и хранения метаданных файлов, вы можете начать добавлять файлы в раздел.

Синтаксис очень простой. Вы просто указываете mkfs раздел устройства, на котором вы хотите создать файловую систему, и какой тип файловой системы вы хотите. Это на первый взгляд. За кадром все немного иначе. Некоторое время назад в большинстве дистрибутивов Linux mkfs был оболочкой для mke2fs. Команда mkfs вызывает команду mke2fs и передает ей указанные вами параметры. Бедный старый mke2fs выполняет всю работу, но не получает никакой славы.

Синтаксис mkfs был обновлен, а старый формат объявлен устаревшим. Обе формы будут работать, но в этой статье мы будем использовать современный стиль.

Рейтинг
( Пока оценок нет )
Понравилась статья? Поделиться с друзьями:
Зов электронных книг
Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!: