Як використовувати команду mkfs в Linux

Перш ніж використовувати будь-який пристрій зберігання даних, підключений до комп’ютера Linux, необхідно створити файлову систему. Дізнайтеся, як використовувати mkfs та інші утиліти, щоб зробити це для всіх видів файлових систем. Ми покажемо вам, як.

mkfs створює файлові системи

Команда mkfs створює файлові системи. В інших операційних системах створення файлової системи називається форматування. Незалежно від його назви, це процес, який готує розділ, щоб він міг зберігати дані. Розділу потрібен спосіб зберігання файлів, так. Але йому також потрібен механізм для зберігання імен і розташування цих файлів разом з їх метаданими, такими як мітка часу створення файлу, змінена мітка часу, розмір файлу тощо. Після того, як mkfs створить необхідну структуру для обробки та зберігання метаданих файлів, ви можете почати додавати файли до розділу.

Синтаксис дуже простий. Ви просто вказуєте mkfs, на якому розділі пристрою ви хочете створити файлову систему, і який тип файлової системи ви хочете. Це на перший погляд. За лаштунками все трохи інакше. Протягом деякого часу в більшості дистрибутивів Linux mkfs був a обгортка для mke2fs. Команда mkfs викликає команду mke2fs і передає їй параметри, які ви вказали. Бідний старий mke2fs виконує всю роботу але не отримує жодної слави.

Синтаксис mkfs було оновлено, а старий формат застарів. Обидві форми підійдуть, але в цій статті ми будемо використовувати сучасний стиль.

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

Сучасний спосіб використання mkfs – це введення «mkfs». а потім назву файлової системи, яку ви хочете створити.

Щоб побачити файлові системи, які може створити mkfs, введіть «mkfs», а потім двічі натисніть клавішу Tab. Після «mkfs» немає пробілу, просто двічі натисніть Tab.

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

Ведення журналу є важливою концепцією у файлових системах. Файлова система записує незавершені записи в журнал. У міру запису кожного файлу журнал оновлюється, а записи, що очікують на запис, оновлюються. Це дозволяє файловій системі відновлювати пошкоджені, частково записані файли, які виникли внаслідок катастрофічної події, наприклад відключення електроенергії. Деякі старі файлові системи не підтримують журналювання. Ті, хто цього не робить, записують на диск рідше, оскільки їм не потрібно оновлювати журнал. Вони можуть працювати швидше, але вони більш схильні до пошкоджень через перерваний запис файлів.

  Як поділитися файлами на Tor з Linux за допомогою Onion Share

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

  Як встановити тему значків La Capitaine, схожу на Mac, на Linux

Безпечний спосіб експериментувати з файловими системами

Створення файлової системи на розділі є руйнівним для будь-яких даних, які вже можуть перебувати в цьому розділі. Використання запасного жорсткого диска — або навіть запасного комп’ютера — є ідеальним способом експериментувати зі створенням і використанням різних файлових систем. Але, звісно, ​​у багатьох людей немає запасного обладнання, яке чекає на експерименти.

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

Файл зображення створюється шляхом отримання вихідних даних і розміщення їх у зображенні. Нам потрібно сказати dd, де отримати вихідні дані. Ми будемо використовувати параметр if (вхідний файл), щоб вказати dd використовувати /dev/zero як джерело вхідних даних. Це буде потік нулів.

Параметр of (вихідний файл) дозволяє нам надати ім’я файлу зображення. Ми назвемо це «wdzwdz.img».

Розмір файлу зображення визначається розміром і кількістю блоків, які ми до нього додаємо. Ми використовуємо параметр bs (розмір блоку), щоб запитати розмір блоку 1 МБ, і параметр count, щоб запитувати 250 блоків. Це дасть нам файлову систему розміром 250 МБ. Коли ви вводите цю команду, відрегулюйте кількість блоків відповідно до ваших потреб і вільних потужностей на вашому комп’ютері Linux.

dd if=/dev/zero of=~/wdzwdz.img bs=1M count=250

Файл створено для нас, і dd повідомляє, що для нас було створено 250 блоків відповідно до запиту.

Ми можемо переглянути наш файл зображення за допомогою ls :

ls -hl

Як і очікувалося, це 250 МБ, що обнадіює.

Створення файлової системи

Давайте виберемо файлову систему для використання. Ми повернемося в минуле та використаємо Ext2, що є найстарішою версією Ext, яку може створити ця реалізація mkfs. Це файлова система без журналювання, тому не зберігайте в ній нічого цінного, не маючи резервних копій в іншому місці. Ми використовуємо варіант mkfs.ext2 команди mkfs і кажемо їй використовувати наш файл зображення як ціль.

mkfs.ext2 ~/wdzwdz.img

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

Як ви можете бачити з виділеного тексту, з’являється mke2fs.

Тепер у нас є контейнер для файлової системи — файл образу — який у цьому сценарії замінює жорсткий диск. Усередині цього контейнера ми створили файлову систему. Тепер нам потрібно змонтувати файлову систему, щоб ми могли її використовувати.

  Як перевірити версію ядра та операційної системи Linux

Це тимчасове налаштування, тому ми зробимо точка кріплення у /mnt під назвою «виродок». Ми видалимо його, коли закінчимо.

sudo mkdir /mnt/geek

Тепер ми можемо змонтувати наш файл зображення.

sudo mount ~/wdzwdz.img /mnt/geek

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

sudo chown dave:users /mnt/geek/

І тепер ми повинні мати можливість використовувати нашу нову файлову систему. Давайте перейдемо до файлової системи і скопіюємо в неї деякі файли.

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

Це скопіює всі файли з однолітерним розширенням з каталогу ~/Documents/Code в нашу нову файлову систему. Давайте перевіримо, чи вони були скопійовані.

ls

Файли були скопійовані, тому наша файлова система була створена, змонтована та використана. Або ми так думаємо. Давайте ще раз перевіримо. З нашого домашнього каталогу ми розмонтуємо файлову систему. Зауважте, що в ньому є лише один «n». розмонтувати.

sudo umount /mnt/geek

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

cd /mnt/geek
ls

Подальше дослідження

Тепер ми розробили процес, спробувати іншу файлову систему має бути легко. Цього разу ми будемо використовувати файлову систему MINIX. У нашому домашньому каталозі ми можемо створити нову файлову систему всередині нашого існуючого файлу зображення.

Будь обережний! Якщо у файловій системі всередині файлу образу є якісь важливі файли, змонтуйте файл образу та отримайте їх перед створенням нової файлової системи.

mkfs.minix ~/wdzwdz.image

Без жодного натяку на запитання «чи ви впевнені», нова файлова система створюється поверх старої. Ми можемо змонтувати наш файл зображення точно так само, як і раніше:

sudo mount ~/wdzwdz.img /mnt/geek

Давайте перейдемо до нової файлової системи в /mnt/geek і подивимося, чи зможемо ми створити файл.

touch geek.txt

ls -ahl geek.txt

І так просто і швидко, ми створили нову файлову систему, змонтували її, і ми можемо її використовувати.

Видалення точки кріплення

Коли ви все закінчите, ми можемо видалити точку монтування «виродок». Для цього ми скористаємося rmdir:

cd /mnt
sudo rmdir geek

Жонглювання з вогнем

З Linux, як і з більшістю речей, ви вчитеся на практиці. Проблема деяких команд полягає в тому, що вони потенційно руйнівні. Дилема полягає в тому, як практикувати їх використання, не піддаючи ризику свою систему чи дані?

Тепер у вас є простий метод створення та випробування файлових систем за допомогою mkfs, який залишає ваш комп’ютер недоторканим.