So verwenden Sie den mkfs-Befehl unter Linux

Sie müssen ein Dateisystem erstellen, bevor Sie ein an einen Linux-Computer angeschlossenes Datenspeichergerät verwenden können. Erfahren Sie, wie Sie mkfs und andere Dienstprogramme verwenden, um genau dies für alle Arten von Dateisystemen zu tun. Wir zeigen Ihnen wie.

mkfs macht Dateisysteme

Der mkfs-Befehl macht Dateisysteme. Auf anderen Betriebssystemen heißt das Erstellen eines Dateisystems Formatierung. Unabhängig vom Namen ist es der Prozess, der eine Partition so vorbereitet, dass sie Daten speichern kann. Die Partition benötigt eine Möglichkeit, Dateien zu speichern, ja. Es benötigt jedoch auch einen Mechanismus, um die Namen und Speicherorte dieser Dateien zusammen mit ihren Metadaten wie dem Zeitstempel der Dateierstellung, dem Zeitstempel der geänderten Datei, der Größe der Datei usw. zu speichern. Sobald mkfs das erforderliche Framework für die Handhabung und Speicherung von Dateimetadaten erstellt hat, können Sie mit dem Hinzufügen von Dateien zur Partition beginnen.

Die Syntax ist sehr einfach. Sie teilen mkfs einfach die Gerätepartition mit, auf der das Dateisystem erstellt werden soll, und den gewünschten Dateisystemtyp. Das ist auf den ersten Blick. Hinter den Kulissen sieht es etwas anders aus. Auf den meisten Linux-Distributionen ist mkfs seit einiger Zeit ein Verpackung für mke2fs. Der Befehl mkfs ruft den Befehl mke2fs auf und übergibt ihm die von Ihnen angegebenen Optionen. Armes altes mke2fs macht die ganze arbeit bekommt aber nichts von der Herrlichkeit.

Die Syntax von mkfs wurde aktualisiert und das alte Format ist veraltet. Beide Formen funktionieren, aber wir werden in diesem Artikel den modernen Stil verwenden.

Die Wahl der Dateisysteme

Die moderne Art, mkfs zu verwenden, besteht darin, „mkfs“ einzugeben. und dann den Namen des Dateisystems, das Sie erstellen möchten.

Um die Dateisysteme anzuzeigen, die mkfs erstellen kann, geben Sie „mkfs“ ein und drücken Sie dann zweimal die Tabulatortaste. Es gibt kein Leerzeichen nach „mkfs“, drücken Sie einfach zweimal die Tabulatortaste.

Die Liste der verfügbaren Dateisysteme wird im Terminalfenster angezeigt. Der Screenshot stammt von Ubuntu 18.04 LTS. Andere Distributionen bieten möglicherweise mehr oder weniger Optionen. Wir werden diese durchgehen und jeden einzelnen kurz beschreiben. Nach einem kurzen Wort zum Journaling.

Journaling ist ein wichtiges Konzept in Dateisystemen. Das Dateisystem zeichnet die anstehenden Dateischreibvorgänge in einem Journal auf. Wenn in jede Datei geschrieben wird, wird das Journal aktualisiert und die anstehenden Schreibdatensätze werden aktualisiert. Auf diese Weise kann das Dateisystem beschädigte, teilweise geschriebene Dateien reparieren, die aufgrund eines katastrophalen Ereignisses wie einem Stromausfall aufgetreten sind. Einige der älteren Dateisysteme unterstützen kein Journaling. Diejenigen, die dies nicht tun, schreiben weniger häufig auf die Festplatte, da sie das Journal nicht aktualisieren müssen. Sie können schneller arbeiten, sind jedoch anfälliger für Schäden durch unterbrochene Dateischreibvorgänge.

  Die 6 besten Pidgin-Chat-Plugins für Linux-Benutzer

Ext2: Das allererste Dateisystem für Linux war das MINIX-Dateisystem. Es wurde später durch das erste Dateisystem ersetzt, das jemals speziell für Linux geschrieben wurde Ext. Ext2 war Nachfolger von Ext. Ext2 ist kein Journaling-Dateisystem.
Ext3: Das war der Nachfolger von Ext2, und kann als Ext2 mit Journaling betrachtet werden, das Ihr Dateisystem vor Datenbeschädigung durch Abstürze und plötzlichen Stromausfall schützt.
Ext4: Ext4 ist das Standard-Dateisystem für viele Linux-Distributionen. Es ist ein solides, bewährtes und vertrauenswürdiges Dateisystem. Es hat Funktionen, die Dateifragmentierung reduzieren und kann mit größeren Laufwerken, Partitionen und Dateien als Ext3 verwendet werden.
BFS: Das ist der Boot-Dateisystem, die nur für einen Job konzipiert ist: die Dateien in der Boot-Partition zu handhaben. Es kommt selten vor, dass Sie ein Boot-Dateisystem von Hand erstellen. Ihr Linux-Installationsprozess wird dies für Sie tun.
FETT: Die Dateizuordnungstabelle Dateisystem wurde von einem Konsortium von Schwergewichten der Computerindustrie für Disketten entwickelt. Es wurde 1977 eingeführt. Der einzige Grund, warum Sie dieses Nicht-Journaling-Dateisystem verwenden würden, ist die Kompatibilität mit Nicht-Linux-Betriebssystemen.
NTFS: Die Dateisystem mit neuer Technologie ist ein Microsoft-Journaling-Dateisystem, das mit Windows NT eingeführt wurde. Es war der Nachfolger von FAT. Der einzige Grund, warum Sie dieses Dateisystem verwenden würden, ist die Kompatibilität mit Nicht-Linux-Betriebssystemen.
MINIX: Ursprünglich erstellt von Andrew S. Tanenbaum als pädagogische Hilfe, MINIX ist ein „Mini-Unix“-Betriebssystem. Heutzutage zielt es darauf ab, ein selbstheilendes und fehlertolerantes Betriebssystem bereitzustellen. Das MINIX Dateisystem wurde als ein vereinfachte Version des Unix-Dateisystems. Vielleicht können Sie dieses Dateisystem verwenden, wenn Sie auf einem Linux-Computer übergreifend entwickeln und auf eine MINIX-Plattform abzielen. Oder vielleicht benötigen Sie aus anderen Gründen die Kompatibilität mit einem MINIX-Computer. Anwendungsfälle für dieses Dateisystem auf einem Linux-Computer fallen mir nicht auf, aber es ist verfügbar.
VFAT: Virtuelle Dateizuordnungstabelle, wurde mit Windows 95 eingeführt und entfernte die Beschränkung auf acht Zeichen für Dateinamen. Dateinamen mit bis zu 255 Zeichen wurden möglich. Der einzige Grund, warum Sie dieses Dateisystem verwenden würden, ist die Kompatibilität mit Nicht-Linux-Betriebssystemen.
CRAMFS: Die Komprimiertes ROM-Dateisystem ist ein schreibgeschütztes Dateisystem, das für eingebettete Systeme und spezielle schreibgeschützte Anwendungen entwickelt wurde, z. B. in den Bootprozessen von Linux-Computern. Es ist üblich, zuerst ein kleines, vorübergehendes Dateisystem zu laden, damit Bootstrap-Prozesse gestartet werden können, um das Einhängen des „echten“ Bootsystems vorzubereiten.
MSDOS: Das Dateisystem des Microsoft-Festplattenbetriebssystem. Es wurde 1981 veröffentlicht und ist ein elementares Dateisystem, das so einfach wie möglich ist. Die erste Version hatte nicht einmal Verzeichnisse. Es nimmt einen herausragenden Platz in der Computergeschichte ein, aber abgesehen von der Kompatibilität mit Legacy-Systemen gibt es kaum einen Grund, es heute zu verwenden.

  Die 6 besten Farbauswahl-Tools für Linux

Eine sichere Methode zum Experimentieren mit Dateisystemen

Das Erstellen eines Dateisystems auf einer Partition ist für alle Daten destruktiv, die sich möglicherweise bereits auf dieser Partition befinden. Die Verwendung einer Ersatzfestplatte – oder sogar eines Ersatzcomputers – ist der perfekte Weg, um mit der Erstellung und Verwendung verschiedener Dateisysteme zu experimentieren. Aber natürlich haben viele Leute keine freie Hardware herumliegen, die darauf wartet, damit experimentiert zu werden.

Wir können jedoch eine Image-Datei erstellen und darin Dateisysteme erstellen. Sobald wir es gemountet haben, können wir es verwenden, als ob es eine normale Partition wäre. Wir können Dateisysteme erkunden und mit ihnen experimentieren, ohne dass zusätzliche Hardware benötigt wird. Wir verwenden den dd-Befehl, um Erstellen Sie unsere Bilddatei.

Die Bilddatei wird erstellt, indem Quelldaten genommen und in ein Bild eingefügt werden. Wir müssen dd mitteilen, woher die Quelldaten kommen. Wir verwenden die Option if (Eingabedatei), um dd anzuweisen, es zu verwenden /dev/zero als Eingangsdatenquelle. Dies wird ein Strom von Nullen sein.

Die Option of (Ausgabedatei) ermöglicht es uns, einen Namen für die Bilddatei anzugeben. Wir nennen es „wdzwdz.img“.

Die Größe der Bilddatei wird durch die Größe und Anzahl der Blöcke bestimmt, die wir hinzufügen. Wir verwenden die Option bs (Blockgröße), um eine Blockgröße von 1 MB anzufordern, und die Option count, um 250 Blöcke anzufordern. Dadurch erhalten wir ein Dateisystem von 250 MB. Wenn Sie diesen Befehl ausführen, passen Sie die Anzahl der Blöcke an Ihre Bedürfnisse und die freie Kapazität Ihres Linux-Computers an.

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

Die Datei wird für uns erstellt und dd meldet, dass wie gewünscht 250 Blöcke für uns erstellt wurden.

Wir können unsere Bilddatei mit ls betrachten:

ls -hl

Es sind wie erwartet 250 MB, was ermutigend ist.

Erstellen des Dateisystems

Wählen wir ein zu verwendendes Dateisystem aus. Wir gehen in der Zeit zurück und verwenden Ext2, die früheste Version von Ext, die diese Implementierung von mkfs erstellen kann. Dies ist ein Nicht-Journaling-Dateisystem, also speichern Sie nichts Wertvolles darin, ohne an anderer Stelle Backups zu erstellen. Wir verwenden die mkfs.ext2-Variante des mkfs-Befehls und weisen sie an, unsere Bilddatei als Ziel zu verwenden.

mkfs.ext2 ~/wdzwdz.img

Das Dateisystem wird erstellt und einige Details des Dateisystems werden angezeigt.

Wie Sie dem hervorgehobenen Text entnehmen können, taucht mke2fs auf.

Jetzt haben wir einen Container für das Dateisystem – die Image-Datei – die in diesem Szenario für eine Festplatte steht. In diesem Container haben wir ein Dateisystem erstellt. Jetzt müssen wir das Dateisystem mounten, damit wir es verwenden können.

  So sichern Sie Ihre Linux-Installation

Dies ist eine vorübergehende Einrichtung, also machen wir eine Einhängepunkt innerhalb von /mnt als „Geek“ bezeichnet. Wir werden es entfernen, wenn wir fertig sind.

sudo mkdir /mnt/geek

Jetzt können wir unsere Image-Datei mounten.

sudo mount ~/wdzwdz.img /mnt/geek

Wir müssen das ändern Dateibesitz des Mount-Punkts, damit wir Lese- und Schreibzugriff darauf haben.

sudo chown dave:users /mnt/geek/

Und jetzt sollten wir unser neues Dateisystem verwenden können. Wechseln wir in das Dateisystem und kopieren einige Dateien dorthin.

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

Dadurch werden alle Dateien mit einer aus einem Buchstaben bestehenden Erweiterung aus dem Verzeichnis ~/Documents/Code in unser neues Dateisystem kopiert. Lassen Sie uns überprüfen, ob sie kopiert wurden.

ls

Die Dateien wurden kopiert, also wurde unser Dateisystem erstellt, gemountet und verwendet. So denken wir zumindest. Lassen Sie uns das noch einmal überprüfen. Von unserem Home-Verzeichnis aus werden wir das Dateisystem aushängen. Beachten Sie, dass es nur ein „n“ in gibt ummount.

sudo umount /mnt/geek

Wenn wir nun zu /mnt/geek zurückkehren und nach Dateien suchen, sollten wir keine finden, da sie sich in unserer Image-Datei befinden und diese ausgehängt wurde.

cd /mnt/geek
ls

Weitere Erkundung

Jetzt haben wir den Prozess ausgearbeitet, das Ausprobieren eines anderen Dateisystems sollte einfach sein. Wir werden dieses Mal das MINIX-Dateisystem verwenden. In unserem Home-Verzeichnis können wir innerhalb unserer bestehenden Image-Datei ein neues Dateisystem erstellen.

Vorsichtig sein! Wenn sich im Dateisystem der Image-Datei wichtige Dateien befinden, mounten Sie die Image-Datei und rufen Sie sie ab, bevor Sie ein neues Dateisystem erstellen.

mkfs.minix ~/wdzwdz.image

Ohne den Hinweis, Sie zu fragen, ob Sie sicher sind, wird das neue Dateisystem über dem alten erstellt. Wir können unsere Image-Datei mit genau dem gleichen Befehl wie zuvor mounten:

sudo mount ~/wdzwdz.img /mnt/geek

Lassen Sie uns in das neue Dateisystem unter /mnt/geek wechseln und sehen, ob wir eine Datei erstellen können.

touch geek.txt

ls -ahl geek.txt

Und so einfach und schnell haben wir ein neues Dateisystem erstellt, gemountet und können es verwenden.

Entfernen des Mount-Punkts

Wenn Sie fertig sind, können wir den Mount-Punkt „Geek“ entfernen. Dazu verwenden wir rmdir:

cd /mnt
sudo rmdir geek

Jonglieren mit Feuer

Bei Linux lernt man, wie bei den meisten Dingen, durch Handeln. Das Problem bei einigen Befehlen besteht darin, dass sie potenziell destruktiv sind. Das Dilemma besteht darin, wie Sie ihre Verwendung üben können, ohne Ihr System oder Ihre Daten zu gefährden?

Sie haben jetzt eine einfache Methode zum Erstellen und Ausprobieren von Dateisystemen mit mkfs, die Ihren Computer unberührt lässt.