GNU/Linux >> Linux の 問題 >  >> Cent OS

RHEL 8 /CentOS8にntfs-3gをインストールする方法

NTFSは、RHEL 8 / CentOS 8ではデフォルトでサポートされていません。この独自のファイルシステムでフォーマットされたブロックデバイスをシステムで読み書きできるようにするには、ntfs-3gをインストールする必要があります。 ソフトウェア。通常、Epelなどのサードパーティリポジトリによって提供されます。 。ただし、執筆時点では、Rhel8用のこのソフトウェアソースのバージョンはまだ存在しないため、いくつかの簡単な手順でソースからインストールする方法を説明します。

このチュートリアルでは、次のことを学びます。

  • ソースからntfs-3gを構築する方法
  • ntfs-3gのインストール方法
  • ntfs-3gでフォーマットされたブロックデバイスをマウントする方法
  • ntfsファイルシステムを使用してブロックデバイスをフォーマットする方法
  • ntfsfixを使用してntfsファイルシステムの整合性をチェックする方法


Rhel8のntfs-3gのマンページ

使用されるソフトウェア要件と規則

システム ソフトウェア その他 規約
ソフトウェア要件とLinuxコマンドラインの規則
カテゴリ 使用する要件、規則、またはソフトウェアバージョン
RHEL 8 / CentOS 8
「開発ツール」パッケージグループ
ntfs-3gをインストールするためのroot権限
–指定されたLinuxコマンドは、rootユーザーとして直接、またはsudoを使用して、root権限で実行する必要があります。 コマンド
$ –特定のLinuxコマンドを通常の非特権ユーザーとして実行する必要があります

ntfs-3gとは何ですか?

ntfs-3g オープンソースソフトウェアは、プロプライエタリntfsの完全なサポート(読み取りと書き込み)を実装します Microsoftによって作成され、Windowsオペレーティングシステムの最近のすべてのバージョンで使用されているファイルシステム。ほとんどのLinuxディストリビューションのリポジトリにはntfs-3gパッケージが含まれていますが、これはRed Hat EnterpriseLinux8には当てはまりません。

このディストリビューションでは、パッケージは通常、Epel(Enterprise Linux用の追加パッケージ)などのサードパーティリポジトリによって提供されます。ただし、執筆時点では、このソフトウェアソースのRhel8固有のバージョンはまだ利用できません。別の解決策として、ntfs-3gをコンパイルしてインストールできます。 ソースから。このチュートリアルでその方法を学びます。

ビルド依存関係のインストール

ntfs-3gをコンパイルしてインストールできるようにするには、システムにいくつかの依存関係をインストールする必要があります。通常、必要なものはすべて開発ツールパッケージグループに含まれています。パッケージグループの概念に慣れていない方は、grousパッケージを「メタパッケージ」と考えることができます。これにより、1つのコマンドで多くの関連パッケージをインストールできます。 「開発ツール」パッケージグループをインストールするには、次のコマンドを実行できます。

$ sudo dnf groupinstall "Development Tools"

最小バージョンのRhel8をインストールした場合、ntfs-3gソースtarballを解凍できるようにするには、tarもインストールする必要があります。 これは(驚くべきことに)このタイプのインストールのパッケージのセットにデフォルトで含まれていません:

$ sudo dnf install tar

ソースコードのダウンロードとコンパイル

必要な依存関係をすべてインストールしたので、さらに進んでntfs-3gソースコードをダウンロードできます。ソースtarballはこのアドレスで入手できます。 curlを組み合わせることができます およびtar たった1つのステップでダウンロードして抽出するコマンド:

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

このコマンドを実行すると、ntfs-3g_ntfsprogs-2017.3.23が見つかります。 フォルダが作成されました:

$ ls ntfs-3g_ntfsprogs-2017.3.23

次のステップは、このディレクトリに入り、configureを実行することです。 スクリプト。実際のコンパイル用のソースコードを準備します。

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

configureを実行する場合 スクリプトソフトウェアのインストール方法に影響を与えるいくつかのオプションを提供できます。最も重要なものの1つはprefixです および--exec-prefix 。前者は、アーキテクチャに依存しないファイルをファイルシステムのどこにインストールするかを設定するために使用されます(/usr/localをdefaltすることにより) ディレクトリ)。後者は同じ機能を持ちますが、アーキテクチャに依存しないファイル用です。デフォルトでは、PREFIXと同じ値を想定するように設定されています。 。

デフォルトでは、すべてのファイルは/usr/localの下にインストールされます 、適切なディレクトリ内:バイナリは/usr/local/binの下に配置されます 、/usr/local/libの下のライブラリ など。きめ細かい制御を実現するために、--libdirのオプションを使用して、ファイルの各グループの宛先パスを指定できます。 または--bindir 。 「configure」スクリプトを実行するときに使用できるすべての可能なスイッチを読み取るために、-hを使用してランチを作成できます。 オプション(–helpの略)。

上記の例では、とにかくデフォルト値を使用したため、プレフィックスの指定を省略できましたが、別のオプション--disable-staticを使用しました。 、これは、プログラムに必要なライブラリの静的バージョンの使用を無効にするために必要です。つまり、staticの場合 有効(デフォルト)の場合、実行可能ファイルが依存するライブラリは、コンパイル時にプログラムに「マージ」されます。このセットアップには長所がありますが、より大きな実行可能ファイルが生成されます。代わりに、必要なのは、それらを必要とするすべてのプログラムで共有される同じライブラリです。

上記のコマンドを起動し、終了するまで待ちます。次のステップは、実行中のソースコードを実際にコンパイルすることです:

$ make

コンパイルが開始され、画面に多くのメッセージが表示されます。タスクが完了すると、コンパイルされたファイルを続行してインストールできます。 --prefixで指定された宛先以降 、アクションを実行するにはroot権限が必要です:

$ sudo make install

このコマンドは、コンパイルされたファイルを宛先ディレクトリにコピーします。たとえば、バイナリとシステムバイナリ(正しく実行するにはスーパーユーザー権限が必要なバイナリ)は、それぞれ/usr/local/binの下に配置されます。 および/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

このコマンドは、いくつかの追加手順も実行します。一部のファイルは/ binディレクトリーに作成され、/ usr / binにシンボリックリンクされます:/bin/ntfs-3g /sbin/mount.ntfs-3gとしてリンクされます および/bin/lowntfs-3g /sbin/mount.lowntfs-3gへ 。最後に、/usr/local/sbin/mkntfsへのシンボリックリンク /sbin/mkfs.ntfsとして作成されます 。デフォルトでは/sbinのみであるため、ファイルシステム全体の場所を指定せずに相対プログラムをrootが呼び出すには、このリンクの一部が必要です。 、/bin/usr/sbin および/usr/bin ディレクトリはそのPATHに含まれています 。

ファイルシステム操作

ntfs-3gがインストールされたので、これを使用して、ファイルシステムのマウントやチェック、ブロックデバイスのフォーマットなどの一般的な操作を実行する方法を確認できます。

ntfsファイルシステムでフォーマットされたブロックデバイスをマウントします

/dev/sdb1があるとします。 ntfsファイルシステムでフォーマットされたデバイスで、/mnt/dataにマウントします 。実行する必要のあるコマンドは次のとおりです。

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

-tの使用方法に注目してください スイッチを押してファイルシステムタイプ(ntfs-3g)を指定します。起動時にファイルシステムを自動的にマウントする場合は、そのエントリを/etc/fstabに追加する必要があります。 、この場合:

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

/dev/sdb1の場所 ファイルシステムをホストするブロックデバイス、/mnt/data 使用するマウントポイントであり、ntfs-3g ファイルシステムタイプです。この場合、デフォルトのマウントオプションを使用しましたが、もちろん、必要なものを使用できます。

ntfsファイルシステムを使用してブロックデバイスをフォーマットします

実行したいもう1つの操作は、既存のブロックデバイスをntfsファイルシステムでフォーマットすることです。タスクを実行するために実行するコマンドは次のとおりです。

$ sudo mkfs.ntfs /dev/sdb1

ここでも、/dev/sdb1 はntfsファイルシステムでフォーマットされるブロックデバイスであり、操作を成功させるにはマウントを解除する必要があります。

ntfsファイルシステムの整合性を確認します

ファイルシステムの整合性をチェックすることは非常に重要な操作であり、ファイルシステムがマウントされていないときにも実行する必要があります。この場合でも、実行するコマンドは非常に単純です(rootユーザーのPATHにユーティリティへのリンクが存在しないため、ここではユーティリティのフルパスを指定する必要があります):

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

その他のユーティリティ

Ntfs-3gは、ntfsファイルシステムで特定の操作を実行するための他の非常に便利なユーティリティも提供します。とりわけ:ntfsundelete これは、ntfsファイルシステムntfsresizeから削除されたファイルを回復するために使用されます これにより、データを失うことなくntfsファイルシステムのサイズを変更できます。ntfsclone これは、ntfsファイルシステムのクローン作成、イメージ作成、および復元に使用されます。

ntfs-3gのアンインストール

ソースコードからntfs-3gをインストールしたため、ディストリビューションパッケージマネージャーを使用してアンインストールすることはできません。システムからファイルを削除するには、最初にアプリケーションをコンパイルしたフォルダーに戻る必要があります。このフォルダーには、Makefileも含まれています。 実行:

$ sudo make uninstall

以前に作成されたすべてのファイルとリンクがファイルシステムから削除されます。

結論

Ntfs-3gは、プロプライエタリntfsファイルシステムと完全に対話するために使用されるユーティリティとライブラリのオープンソースセットです。RHEL8/ CentOS 8のデフォルトリポジトリには含まれていません。通常、Epelなどのサードパーティソースからインストールされます。これを書いている時点では後者はまだ利用できないので、このチュートリアルでは、いくつかの簡単な手順でソースコードからntfs-3gをインストールする方法を見ました。また、このファイルシステムで最も一般的な操作(マウント、フォーマット、整合性のチェック)を実行する方法も確認しました。


Cent OS
  1. CentOS 8 /RHEL8にIcinga2をインストールする方法

  2. CentOS 8 /RHEL8にMongoDBをインストールする方法

  3. CentOS 6 /RHEL6にPostgreSQL10をインストールする方法

  1. RHEL 8 /CentOS8にphpMyAdminをインストールする方法

  2. RHEL 8 /CentOS8にP7Zipをインストールする方法

  3. CentOS 6 /RHEL6にFirefox10をインストールする方法

  1. PHP-mbstringをRHEL8/CentOS8にインストールする方法

  2. RHEL 8 /CentOS8にphantomjsをインストールする方法

  3. DropboxをRHEL8/CentOS8にインストールする方法