Linuxシステムのパーティションとディレクトリを修復および最適化する方法


Linuxを使用する人々は、デフラグを必要としないと考えることがよくあります。これは、Linuxユーザーによくある誤解です。実際、Linuxオペレーティングシステムはデフラグをサポートしています。デフラグのポイントは、ローカルビデオの読み込みを高速化したり、アーカイブを大幅に高速化したりするなど、I/O操作を改善することです。

Linux ext2、ext3、およびext4ファイルシステムはそれほど注意を払う必要はありませんが、時間が経つにつれて、ファイルシステムの多くの読み取り/書き込みを実行した後、最適化が必要になる場合があります。そうしないと、ハードディスクの速度が低下し、システム全体に影響を与える可能性があります。

このチュートリアルでは、ファイルの最適化を実行するためのいくつかの異なる手法を紹介します。始める前に、ext2,3,4のような一般的なファイルシステムが断片化を防ぐために何をするかについて言及する必要があります。これらのファイルシステムには、影響を防ぐための手法が含まれています。たとえば、ファイルシステムは、増大するファイルを完全に保存するために、ハードディスク上に空きブロックグループを予約します。

残念ながら、このようなメカニズムで問題が常に解決されるとは限りません。他のオペレーティングシステムでは、このような問題を解決するために高価な追加ソフトウェアが必要になる場合がありますが、Linuxには、このような問題の解決に役立つインストールが簡単なツールがいくつかあります。

ファイルシステムをチェックする方法はデフラグが必要ですか?

始める前に、以下の操作はHDDでのみ実行し、SSDでは実行しないようにする必要があることを指摘しておきます。 SSDドライブをデフラグすると、読み取り/書き込みカウントが増えるだけなので、寿命が短くなります。代わりに、SSDを使用している場合は、このチュートリアルで説明されていないTRIM関数を使用する必要があります。

システムが実際に最適化を必要としているかどうかをテストしてみましょう。これはe2fsckなどのツールで簡単に確認できます。システムのパーティションでこのツールを使用する前に、でそのパーティションをアンマウントすることをお勧めします。これは完全に必要というわけではありませんが、安全な方法です。

$ sudo umount <device file>

私の場合、/ dev/sda1を/ tmpにマウントしています。

この場合、パーティションテーブルが異なる可能性があることに注意してください。そのため、必ず適切なパーティションをアンマウントしてください。そのパーティションをアンマウントするには、次を使用できます。

$ sudo umount /dev/sda1

次に、e2fsckを使用して、このパーティションに最適化が必要かどうかを確認しましょう。次のコマンドを実行する必要があります。

$ sudo e2fsck -fn /dev/sda1

上記のコマンドは、ファイルシステムチェックを実行します。 -fオプションは、システムがクリーンに見える場合でも、チェックを強制します。 -nオプションは、ファイルシステムを読み取り専用で開き、表示される可能性のあるすべての質問に対して no の回答を想定するために使用されます。

このオプションを使用すると、基本的にe2fsckを非対話的に使用できます。すべて問題がなければ、下のスクリーンショットに示すような結果が表示されます。

システムのエラーを示す別の例を次に示します。

e2fsckを使用してLinuxファイルシステムを修復する方法

エラーが表示された場合は、「-p」オプションを指定してe2fsckを使用してファイルシステムの修復を試みることができます。以下のコマンドを実行するには、パーティションをアンマウントする必要があることに注意してください。

$ sudo e2fsck -p <device file>

「-p」オプションは、人間の介入なしに安全に修正できる問題について、ファイルシステムの自動修復を試みます。システム管理者が追加の修正措置を講じる必要がある可能性のある問題が発見された場合、e2fsckは問題の説明を出力し、「ファイルシステムエラーが修正されないまま」を意味するコード4で終了します。見つかった問題に応じて、さまざまなアクションが必要になる場合があります。

アンマウントできないパーティションに問題が発生した場合は、e4defragと呼ばれる別のツールを使用できます。多くのLinuxディストリビューションにプリインストールされていますが、お持ちでない場合は、次の方法でインストールできます。

$ sudo apt-get install e2fsprogs         [On Debian and Derivatives]
# yum install e2fsprogs                  [On CentOS based systems]
# dnf install e2fsprogs                  [On Fedora 22+ versions] 

Linuxパーティションを最適化する方法

次に、次のコマンドを使用してLinuxパーティションを最適化します。

$ sudo e4defrag <location>
or
$ sudo e4defrag <device>

Linuxディレクトリを最適化する方法

たとえば、単一のディレクトリまたはデバイスを最適化する場合は、次を使用できます。

$ sudo e4defrag /home/user/directory/
# sudo e4defrag /dev/sda5

すべてのLinuxパーティションを最適化する方法

システム全体を最適化する場合、これを行う安全な方法は次のとおりです。

$ sudo e4defrag /

このプロセスが完了するまでに時間がかかる場合があることに注意してください。

結論

デフラグは、Linuxで実行する必要がほとんどない操作です。これは、自分が何をしているのかを正確に知っているパワーユーザーを対象としており、Linuxの初心者にはお勧めしません。アクション全体のポイントは、ファイルシステムを最適化して、新しい読み取り/書き込み操作がより効率的に実行されるようにすることです。