ウェブサイト検索

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


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

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

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

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

ファイルシステムにデフラグが必要かどうかを確認する方法

始める前に、以下の操作はSSDではなくHDDでのみ実行する必要があることを指摘しておきます。 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 初心者には推奨されません。アクション全体のポイントは、新しい読み取り/書き込み操作がより効率的に実行されるようにファイル システムを最適化することです。