この質問を読む まで、私はmklost+found
コマンドに気づいていませんでした。
mklost+found
コマンドは、pwdに新しいlost + foundディレクトリを作成します。
なぜこのコマンドを実行する必要があるのでしょうか。 lost + foundディレクトリは、チェックしたすべてのディストリビューションの/にすでに存在します。
複数の失われたディレクトリと見つかったディレクトリがある場合はどうなりますか?回復されたデータフラグメントは/のlost + foundディレクトリに移動しますか、それとも最後に作成されたlost + foundディレクトリに移動しますか?
これをテストするためにデータフラグメントを意図的に作成する方法がわかりません。
なぜこのコマンドを実行する必要があるのでしょうか。
lost+found
ディレクトリが存在しない場合。これは単なる通常のディレクトリであるため、root
ユーザーはrm -r
を使用して削除できます。 fsck
の一部のバージョンは、lost+found
ディレクトリを使用する必要がある場合、存在しない場合に作成し、一部のバージョンは作成しません。 lost+found
ディレクトリがない場合、fsck
は孤立したファイル、つまりそれらを参照するディレクトリエントリがないファイルを回復できません。
Linuxバージョンのmklost+found
には、次の機能があります( mklost + found manページ から):
mklost+found
は、ディスクブロックをlost + foundディレクトリに事前に割り当てます。これにより、e2fsck(8)を実行してファイルシステムを回復するときに、リンクされていない多数のファイルを格納するためにファイルシステムにブロックを割り当てる必要がなくなります。これにより、e2fsckはリカバリ中にファイルシステムにデータブロックを割り当てる必要がなくなります。
つまり、fsck
を使用して破損したファイルシステムからファイルを回復する必要がある場合、fsck
はファイルシステムからブロックを割り当てる必要がないため、回復プロセスの一部として失われるファイルが少なくなります。 ;有効なファイルデータを含む可能性のあるそのようなブロック。
複数の失われたディレクトリと見つかったディレクトリがある場合はどうなりますか?
特定のファイルシステムに対して、fsck
は1つのlost+found
ディレクトリ(ファイルシステムのルートディレクトリにあるディレクトリ)のみを使用します。その他のlost+found
ディレクトリは特別に扱われません。
Q1。なぜこのコマンドを実行する必要があるのでしょうか。 lost + foundディレクトリは、チェックしたすべてのディストリビューションの/にすでに存在します。
lost+found
を作成するために何かが必要です、このコマンドはそれを行うように見えます。マウントするすべてのメディアは、独自のlost+found
を維持する必要があります。
manページからの抜粋
mklost + foundは、Linuxの2番目の拡張ファイルシステムの現在の作業ディレクトリにlost + foundディレクトリを作成するために使用されます。通常、各ファイルシステムのルートディレクトリにはlost + foundディレクトリがあります。
lost+found
ディレクトリを作成することの大きな問題は何ですか?
mklost + foundは、ディスクブロックをlost + foundディレクトリに事前に割り当てます。これにより、e2fsck(8)を実行してファイルシステムを回復するときに、リンクされていない多数のファイルを格納するためにファイルシステムにブロックを割り当てる必要がなくなります。これにより、e2fsckはリカバリ中にファイルシステムにデータブロックを割り当てる必要がなくなります。
Q2。複数の失われたディレクトリと見つかったディレクトリがある場合はどうなりますか?回復されたデータフラグメントは/のlost + foundディレクトリに移動しますか、それとも最後に作成されたlost + foundディレクトリに移動しますか?
最後のものは、データブロックをe2fsck
に移動する必要がある場合、lost+found
によって使用されるものになると思います。
「lost + foundディレクトリは、チェックしたすべてのディストリビューションの/
にすでに存在します。」
しかし、それは重要ではありません。すべての「実際の」ファイルシステム(/ procやswapなどの疑似ファイルシステムとは対照的に、ある種のブロックストレージにマップされます)には、遺失物取扱所が必要です。たとえば、/ home用に別のファイルシステムがある場合は、/home/lost+found
が必要です。これは、fsck
がルートファイルシステムの/lost+found
にファイルを移動しないためです。見つかったファイルは見つかった場所に残しますが、孤児院にディレクトリエントリを作成して、人間が介入して適切な採用を手配できるようにします。何かが/home/lost+found
と/var/lost+found
にあることを知っていると、手動による介入がはるかに簡単になります。
Essential System Administration によると
ディスクエラーまたは不適切なシステムシャットダウンにより、ファイルが失われる可能性があります。失われたファイルとは、ディスク上のデータ構造で使用中としてマークされているが、どのディレクトリにもリストされていないディスクの場所を指します(たとえば、odeで空でない)それはどのディレクトリにもリストされていません)。システムの起動時に、fsckというプログラムが実行され、特にこれらのファイルが検出されます。すべてのディスクパーティションにlost + foundディレクトリがあります。/lost + foundはルートディスク上のものです。
Fsck lookなどのユーティリティは、ファイルフラグメントをそれぞれのパーティションのルート内のlost + foundディレクトリに配置する可能性があります。他のlost + foundディレクトリは無視する必要があります。