Как да използвате командата mkfs в Linux

Трябва да създадете файлова система, преди да можете да използвате устройство за съхранение на данни, свързано към компютър с Linux. Научете как да използвате mkfs и други помощни програми, за да направите точно това за всички видове файлови системи. Ние ви показваме как.

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

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

Синтаксисът е много прост. Просто кажете на mkfs дяла на устройството, на който искате да бъде създадена файловата система, и какъв тип файлова система искате. Това е на пръв поглед. Зад кулисите е малко по-различно. От известно време в повечето дистрибуции на Linux mkfs е а обвивка за mke2fs. Командата mkfs извиква командата mke2fs и й предава опциите, които сте посочили. Бедният стар mke2fs върши цялата работа но не получава нищо от славата.

Синтаксисът на mkfs е актуализиран, а старият формат е отхвърлен. И двете форми ще работят, но в тази статия ще използваме модерния стил.

Изборът на файлови системи

Съвременният начин за използване на mkfs е да напишете „mkfs“. и след това името на файловата система, която искате да създадете.

За да видите файловите системи, които mkfs може да създаде, въведете „mkfs“ и след това натиснете два пъти клавиша Tab. Няма място след “mkfs”, просто натиснете Tab два пъти.

Списъкът с наличните файлови системи се показва в прозореца на терминала. Екранната снимка е от Ubuntu 18.04 LTS. Други дистрибуции може да предлагат повече или по-малко опции. Ще ги прегледаме и ще опишем накратко всеки един. След кратка дума за воденето на дневник.

Журналирането е важна концепция във файловите системи. Файловите системи записват предстоящите записвания на файлове в дневник. Когато се записва във всеки файл, дневникът се актуализира и предстоящите записи за запис се актуализират. Това позволява на файловата система да поправя счупени, частично записани файлове, които са възникнали поради катастрофално събитие като прекъсване на захранването. Някои от по-старите файлови системи не поддържат журналиране. Тези, които не го правят, пишат на диска по-рядко, защото нямат нужда да актуализират дневника. Те може да работят по-бързо, но са по-податливи на повреда поради прекъснато записване на файлове.

  Как да планирате системни команди с Cron на Linux

Ext2: Първата файлова система за Linux беше файловата система MINIX. По-късно беше заменена от първата файлова система, написана някога специално за Linux, която беше Вн. Ext2 беше Наследник на Ext. Ext2 не е файлова система за журналиране.
Ext3: Това беше наследник на Ext2, и може да се разглежда като Ext2 с журналиране, което защитава вашата файлова система от повреда на данните, причинена от сривове и внезапна загуба на захранване.
Ext4: Ext4 е стандартната файлова система за май Linux дистрибуции. Това е солидна, изпитана и надеждна файлова система. Има функции, които намаляване на фрагментацията на файлове и може да се използва с по-големи дискове, дялове и файлове от Ext3.
BFS: Това е Файлова система за зареждане, който е предназначен за една работа и само една: да обработва файловете в дяла за зареждане. Рядко се случва да създавате файлова система за зареждане на ръка. Процесът на инсталиране на Linux ще направи това вместо вас.
ФАТ: В Таблица за разпределение на файлове файловата система е проектирана за флопи дискове от консорциум от тежки играчи в компютърната индустрия. Тя е въведена през 1977 г. Единствената причина да използвате тази файлова система без дневник е за съвместимост с операционни системи, различни от Linux.
NTFS: The Нова технологична файлова система е файлова система за журналиране на Microsoft, въведена с Windows NT. Това беше наследник на FAT. Единствената причина да използвате тази файлова система е за съвместимост с не-Linux операционни системи.
MINIX: Първоначално създадено от Андрю С. Таненбаум като образователна помощ, MINIX е „mini-Unix“ операционна система. В днешно време той е насочен към осигуряване на самовъзстановяваща се и устойчива на грешки операционна система. Файловата система MINIX е проектирана като a опростена версия на файловата система Unix. Може би, ако разработвате кръстосано на компютър с Linux и сте насочени към платформа MINIX, можете да използвате тази файлова система. Или може би имате нужда от съвместимост с компютър MINIX по други причини. Случаите на употреба за тази файлова система на компютър с Linux не ми се хвърлят, но е налична.
VFAT: Таблица за виртуално разпределение на файлове, беше представен с Windows 95 и премахна ограничението от осем знака за имена на файлове. Станаха възможни имена на файлове до 255 знака. Единствената причина да използвате тази файлова система е за съвместимост с не-Linux операционни системи.
CRAMFS: Компресирана ROM файлова система е файлова система само за четене, предназначена за вградени системи и специализирана употреба само за четене, като например в процесите на зареждане на компютрите с Linux. Обичайно е да се зарежда първо малка, преходна файлова система, така че процесите за стартиране да могат да бъдат стартирани, за да се подготвят за монтирането на „истинската“ система за зареждане.
MSDOS: Файловата система на Дискова операционна система Microsoft. Издадена през 1981 г., това е елементарна файлова система, която е толкова основна, колкото става. Първата версия дори нямаше директории. Той заема важно място в историята на изчисленията, но освен съвместимостта с наследени системи, има малка причина да се използва днес.

  Как да четете комикси на Linux с Peruse

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

Създаването на файлова система на дял е разрушително за всички данни, които може вече да се намират в този дял. Използването на резервен твърд диск — или дори резервен компютър — е идеалният начин да експериментирате със създаване и използване на различни файлови системи. Но, разбира се, много хора нямат резервен хардуер, който чака наоколо, за да бъде експериментиран.

Въпреки това можем да създадем файл с изображение и да създадем файлови системи в него. След като го монтираме, можем да го използваме, сякаш е обикновен дял. Можем да изследваме и експериментираме с файлови системи без нужда от резервен хардуер. Ще използваме командата dd за създайте нашия файл с изображение.

Файлът с изображение се създава, като се вземат изходни данни и се поставят в изображение. Трябва да кажем на dd откъде да получи своите изходни данни. Ще използваме опцията if (входен файл), за да кажем на dd да използва /dev/нула като източник на входни данни. Това ще бъде поток от нули.

Опцията of (изходен файл) ни позволява да предоставим име за файла с изображение. Ще го наречем “wdzwdz.img”.

Размерът на файла с изображение се определя от размера и броя на блоковете, които добавяме към него. Използваме опцията bs (размер на блока), за да поискаме размер на блока от 1 MB и опцията за броене, за да поискаме 250 блока. Това ще ни даде файлова система от 250 MB. Когато издадете тази команда, коригирайте броя на блоковете, за да отговарят на вашите нужди и свободния капацитет, който имате на вашия Linux компютър.

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

Файлът е създаден за нас и dd съобщава, че са създадени 250 блока за нас, както е поискано.

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

ls -hl

Това е 250 MB, както се очаква, което е обнадеждаващо.

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

Нека изберем файлова система, която да използваме. Ще се върнем назад във времето и ще използваме Ext2, който е най-ранната версия на Ext, която тази реализация на mkfs може да създаде. Това е файлова система без дневник, така че не съхранявайте нищо ценно в нея, без да имате резервни копия на друго място. Използваме варианта mkfs.ext2 на командата mkfs и му казваме да използва нашия файл с изображение като цел.

mkfs.ext2 ~/wdzwdz.img

Файловата система е създадена и се показват някои подробности за файловата система.

  Как автоматично да промените тапета на Linux

Както можете да видите от маркирания текст, mke2fs се появява.

Сега имаме контейнер за файловата система – файла с изображение – който в този сценарий замества твърд диск. Вътре в този контейнер създадохме файлова система. Сега трябва да монтираме файловата система, за да можем да я използваме.

Това е временна настройка, така че ще направим a точка на монтиране в рамките на /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“. umount.

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

И толкова просто и бързо, ние създадохме нова файлова система, монтирахме я и можем да я използваме.

Премахване на точката на монтиране

Когато сте готови, можем да премахнем точката за монтиране „geek“. За целта ще използваме rmdir:

cd /mnt
sudo rmdir geek

Жонглиране с огън

С Linux, както с повечето неща, се учиш, като правиш. Проблемът с някои команди е, че те са потенциално разрушителни. Дилемата е как да практикувате използването им, без да излагате вашата система или данни на риск?

Вече имате прост метод за създаване и изпробване на файлови системи с mkfs, който оставя компютъра ви недокоснат.