GNU/Linux >> LINUX-Kenntnisse >  >> Cent OS

So installieren Sie ntfs-3g auf RHEL 8 / CentOS 8

NTFS wird von RHEL 8 / CentOS 8 standardmäßig nicht unterstützt. Damit unser System mit diesem proprietären Dateisystem formatierte Blockgeräte lesen und schreiben kann, müssen wir ntfs-3g installieren Software, die normalerweise von Drittanbietern wie Epel bereitgestellt wird . Zum Zeitpunkt des Verfassens dieses Artikels existiert jedoch noch keine Version dieser Softwarequelle für Rhel8, daher werden wir sehen, wie sie in wenigen einfachen Schritten von der Quelle installiert wird.

In diesem Tutorial lernen Sie:

  • Wie man ntfs-3g aus der Quelle erstellt
  • So installieren Sie ntfs-3g
  • Wie man ein mit ntfs-3g formatiertes Blockgerät einbindet
  • So formatieren Sie ein Blockgerät mit dem NTFS-Dateisystem
  • So prüfen Sie die Integrität des NTFS-Dateisystems mit ntfsfix


Die Manpage von ntfs-3g auf Rhel 8

Softwareanforderungen und verwendete Konventionen

Softwareanforderungen und Linux-Befehlszeilenkonventionen
Kategorie Anforderungen, Konventionen oder verwendete Softwareversion
System RHEL 8 / CentOS 8
Software Die Paketgruppe „Entwicklungstools“
Andere Root-Rechte zum Installieren von ntfs-3g
Konventionen # – erfordert, dass bestimmte Linux-Befehle mit Root-Rechten ausgeführt werden, entweder direkt als Root-Benutzer oder durch Verwendung von sudo Befehl
$ – erfordert, dass bestimmte Linux-Befehle als normaler, nicht privilegierter Benutzer ausgeführt werden

Was ist ntfs-3g?

Das ntfs-3g Open-Source-Software implementiert volle Unterstützung (Lesen und Schreiben) für das proprietäre ntfs Dateisystem, das von Microsoft erstellt und in allen neueren Versionen des Windows-Betriebssystems verwendet wird. Die meisten Linux-Distributionen enthalten das Paket ntfs-3g in ihren Repositories, jedoch ist dies bei Red Hat Enterprise Linux 8 nicht der Fall.

Bei dieser Distribution wird das Paket normalerweise von Repos von Drittanbietern wie Epel (Extra Packages for Enterprise Linux) bereitgestellt; Zum Zeitpunkt der Erstellung dieses Artikels ist die Rhel8-spezifische Version dieser Softwarequelle jedoch noch nicht verfügbar. Als alternative Lösung können wir ntfs-3g kompilieren und installieren aus Quelle. Wir werden in diesem Tutorial lernen, wie das geht.

Installieren der Build-Abhängigkeiten

Um ntfs-3g kompilieren und installieren zu können, müssen wir einige Abhängigkeiten in unserem System installieren. Alles, was wir brauchen, ist normalerweise in der Paketgruppe der Entwicklungstools enthalten. Für diejenigen unter Ihnen, die mit dem Paketgruppenkonzept nicht vertraut sind, können Sie sich ein Paket grous als „Metapaket“ vorstellen, das es uns ermöglicht, viele verwandte Pakete mit nur einem Befehl zu installieren. Um die Paketgruppe „Development Tools“ zu installieren, können wir Folgendes ausführen:

$ sudo dnf groupinstall "Development Tools"

Falls wir eine minimale Version von Rhel8 installiert haben, müssen wir zum Entpacken des ntfs-3g-Quell-Tarballs auch tar installieren das (überraschenderweise) nicht standardmäßig in den Paketen dieses Installationstyps enthalten ist:

$ sudo dnf install tar

Herunterladen und Kompilieren des Quellcodes

Nachdem wir alle erforderlichen Abhängigkeiten installiert haben, können wir weiter fortfahren und den ntfs-3g-Quellcode herunterladen. Der Quell-Tarball ist unter dieser Adresse verfügbar. Wir können den curl kombinieren und tar Befehle zum Herunterladen und Extrahieren in nur einem Schritt:

$ curl https://tuxera.com/opensource/ntfs-3g_ntfsprogs-2017.3.23.tgz | tar -xvpz

Nachdem wir diesen Befehl ausgeführt haben, sollten wir diesen ntfs-3g_ntfsprogs-2017.3.23 finden Ordner wurde erstellt:

$ ls ntfs-3g_ntfsprogs-2017.3.23

Der nächste Schritt besteht darin, dieses Verzeichnis zu betreten und configure auszuführen Skript, das den Quellcode für die eigentliche Kompilierung vorbereitet:

$ cd ntfs-3g_ntfsprogs-2017.3.23 && ./configure --prefix=/usr/local --disable-static

Beim Ausführen von configure script können wir einige Optionen bereitstellen, die die Art und Weise beeinflussen, wie die Software installiert wird. Eine der wichtigsten sind prefix und --exec-prefix . Ersteres wird verwendet, um festzulegen, wo die architekturunabhängigen Dateien im Dateisystem installiert werden sollen (standardmäßig /usr/local Verzeichnis). Letzteres hat die gleiche Funktion, aber für architekturunabhängige Dateien:Standardmäßig ist es so eingestellt, dass es den gleichen Wert von PREFIX annimmt .

Standardmäßig werden alle Dateien unter /usr/local installiert , in den entsprechenden Verzeichnissen:Binärdateien werden unter /usr/local/bin abgelegt , Bibliotheken unter /usr/local/lib usw. Um eine feinkörnige Steuerung zu erreichen, ist es möglich, den Zielpfad für jede Dateigruppe mit Optionen wie --libdir anzugeben oder --bindir . Um alle möglichen Schalter zu lesen, die wir beim Ausführen des „configure“-Skripts verwenden können, können wir es mit dem -h zu Mittag essen Option (kurz für –Hilfe).

Im obigen Beispiel hätten wir auf die Angabe eines Präfixes verzichten können, da wir sowieso den Standardwert verwendet haben, aber wir haben eine andere Option verwendet, --disable-static , die benötigt wird, um die Verwendung der statischen Versionen der vom Programm benötigten Bibliotheken zu deaktivieren:kurz gesagt, wenn static aktiviert ist (Standardeinstellung), werden die Bibliotheken, von denen die ausführbare(n) Datei(en) abhängen, zur Kompilierzeit in das Programm „zusammengeführt“. Dieses Setup kann seine Vorteile haben, erzeugt jedoch größere ausführbare Dateien. Was wir stattdessen wollen, sind dieselben Bibliotheken, die von allen Programmen gemeinsam genutzt werden, die sie benötigen.

Starten Sie den obigen Befehl und warten Sie, bis er beendet ist. Der nächste Schritt besteht darin, den Quellcode tatsächlich zu kompilieren, der ausgeführt wird:

$ make

Die Kompilierung beginnt und viele Meldungen werden auf dem Bildschirm angezeigt. Sobald die Aufgabe abgeschlossen ist, können wir fortfahren und die kompilierten Dateien installieren. Da das mit --prefix angegebene Ziel , benötigen wir Root-Rechte, um die Aktion auszuführen:

$ sudo make install

Der Befehl kopiert die kompilierten Dateien in ihre Zielverzeichnisse. Binärdateien und System-Binärdateien (Binärdateien, die Superuser-Rechte benötigen, um richtig zu laufen) werden beispielsweise jeweils unter /usr/local/bin abgelegt und /usr/local/sbin :

$ ls /usr/local/bin
ntfs-3g.probe  ntfscat  ntfscluster  ntfscmp  ntfsfix  ntfsinfo  ntfsls
$ ls /usr/local/sbin
mkntfs  ntfsclone  ntfscp  ntfslabel  ntfsresize  ntfsundelete

Der Befehl führt auch einige zusätzliche Schritte aus:Einige Dateien werden im /bin-Verzeichnis erstellt und symbolisch mit /usr/bin verknüpft:/bin/ntfs-3g wird als /sbin/mount.ntfs-3g verlinkt und /bin/lowntfs-3g nach /sbin/mount.lowntfs-3g . Schließlich ein symbolischer Link zu /usr/local/sbin/mkntfs wird als /sbin/mkfs.ntfs erstellt . Einige dieser Links sind notwendig, damit die entsprechenden Programme von root aufgerufen werden können, ohne ihren gesamten Dateisystemspeicherort angeben zu müssen, da standardmäßig nur /sbin , /bin , /usr/sbin und /usr/bin Verzeichnisse sind in seinem PATH enthalten .

Dateisystemoperationen

Nun, da ntfs-3g installiert ist, können wir sehen, wie man damit typische Operationen wie das Mounten und Überprüfen eines Dateisystems oder das Formatieren eines Blockgeräts damit ausführt.

Mounten Sie ein Blockgerät, das mit dem NTFS-Dateisystem formatiert ist

Angenommen, wir haben /dev/sdb1 Gerät, das mit dem NTFS-Dateisystem formatiert ist, und wir möchten es in /mnt/data einhängen . Hier ist der Befehl, den wir ausführen sollten:

$ sudo mount /dev/sdb1 -t ntfs-3g /mnt/data

Beachten Sie, wie wir das -t verwendet haben wechseln, um den Dateisystemtyp anzugeben (ntfs-3g). Falls wir möchten, dass das Dateisystem beim Booten automatisch gemountet wird, müssen wir einen Eintrag dafür in /etc/fstab hinzufügen , in diesem Fall:

/dev/sdb1 /mnt/data ntfs-3g defaults 0 0

Wobei /dev/sdb1 ist das Blockgerät, das das Dateisystem hostet, /mnt/data ist der zu verwendende Einhängepunkt und ntfs-3g ist der Dateisystemtyp. In diesem Fall haben wir die standardmäßigen Mount-Optionen verwendet, aber Sie können natürlich die verwenden, die Sie benötigen.

Formatieren Sie ein Blockgerät mit dem NTFS-Dateisystem

Eine weitere Operation, die wir möglicherweise durchführen möchten, ist das Formatieren eines vorhandenen Blockgeräts mit dem NTFS-Dateisystem. Der auszuführende Befehl zum Ausführen der Aufgabe lautet:

$ sudo mkfs.ntfs /dev/sdb1

Wo wiederum /dev/sdb1 ist das Blockgerät, das mit dem NTFS-Dateisystem formatiert werden soll, das ausgehängt werden muss, damit der Vorgang erfolgreich ist.

Überprüfen Sie die Integrität des NTFS-Dateisystems

Die Überprüfung der Integrität eines Dateisystems ist eine sehr wichtige Operation, die auch durchgeführt werden muss, wenn das Dateisystem nicht gemountet ist. Auch in diesem Fall ist der auszuführende Befehl sehr einfach (hier müssen wir den vollständigen Pfad des Dienstprogramms angeben, da im PATH des Root-Benutzers kein Link darauf vorhanden ist):

$ sudo /usr/local/bin/ntfsfix /dev/sdb1

Andere Dienstprogramme

Ntfs-3g bietet auch andere sehr nützliche Dienstprogramme, um bestimmte Operationen auf einem NTFS-Dateisystem auszuführen. Unter anderem:ntfsundelete das verwendet wird, um Dateien wiederherzustellen, die aus einem NTFS-Dateisystem entfernt wurden, ntfsresize wodurch wir die Größe eines NTFS-Dateisystems ohne Datenverlust ändern konnten, und ntfsclone das zum Klonen, Abbilden und Wiederherstellen eines NTFS-Dateisystems verwendet wird.

NTFS-3G deinstallieren

Da wir ntfs-3g aus dem Quellcode installiert haben, können wir den Paketmanager der Distribution nicht verwenden, um es zu deinstallieren. Um die Dateien von unserem System zu entfernen, müssen wir zunächst in den Ordner zurückkehren, in dem wir die Anwendung kompiliert haben, der auch das Makefile enthält und führe aus:

$ sudo make uninstall

Alle zuvor erstellten Dateien und Links werden aus dem Dateisystem entfernt.

Schlussfolgerung

Ntfs-3g ist ein Open-Source-Satz von Dienstprogrammen und Bibliotheken, die für die vollständige Interaktion mit dem proprietären ntfs-Dateisystem verwendet werden:Es ist nicht in den Standard-Repositorys von RHEL 8 / CentOS 8 enthalten und wird normalerweise von einigen Drittanbieterquellen wie Epel installiert. Da letzteres zum Zeitpunkt des Schreibens noch nicht verfügbar ist, haben wir in diesem Tutorial gesehen, wie man ntfs-3g in wenigen einfachen Schritten aus dem Quellcode installiert. Wir haben auch gesehen, wie man die häufigsten Operationen auf diesem Dateisystem ausführt:Mounten, Formatieren und Prüfen seiner Integrität.


Cent OS
  1. So installieren Sie phpMyAdmin auf RHEL 8 / CentOS 8

  2. So installieren Sie Icinga 2 unter CentOS 8 / RHEL 8

  3. So installieren Sie MongoDB auf CentOS 8 / RHEL 8

  4. So installieren Sie Firefox 10 auf CentOS 6 / RHEL 6

  5. So installieren Sie PostgreSQL 10 auf CentOS 6 / RHEL 6

So installieren Sie Maven auf RHEL 8 / CentOS 8

So installieren Sie cpan auf RHEL 8 / CentOS 8

So installieren Sie Ruby auf RHEL 8 / CentOS 8

So installieren Sie Docker CE auf RHEL 8 / CentOS 8

So installieren Sie VirtualBox 6.0 unter CentOS 8 / RHEL 8

So installieren Sie PHP 7.4 unter CentOS 8 / RHEL 8