web-dev-qa-db-ja.com

複数の遺失物取扱所を持つことができますか?

この質問を読む まで、私はmklost+foundコマンドに気づいていませんでした。

mklost+foundコマンドは、pwdに新しいlost + foundディレクトリを作成します。

  1. なぜこのコマンドを実行する必要があるのでしょうか。 lost + foundディレクトリは、チェックしたすべてのディストリビューションの/にすでに存在します。

  2. 複数の失われたディレクトリと見つかったディレクトリがある場合はどうなりますか?回復されたデータフラグメントは/のlost + foundディレクトリに移動しますか、それとも最後に作成されたlost + foundディレクトリに移動しますか?

これをテストするためにデータフラグメントを意図的に作成する方法がわかりません。

10
spuder

なぜこのコマンドを実行する必要があるのでしょうか。

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ディレクトリは特別に扱われません。

11
Mark Plotnick

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によって使用されるものになると思います。

3
slm

「lost + foundディレクトリは、チェックしたすべてのディストリビューションの/にすでに存在します。」

しかし、それは重要ではありません。すべての「実際の」ファイルシステム(/ procやswapなどの疑似ファイルシステムとは対照的に、ある種のブロックストレージにマップされます)には、遺失物取扱所が必要です。たとえば、/ home用に別のファイルシステムがある場合は、/home/lost+foundが必要です。これは、fsckがルートファイルシステムの/lost+foundにファイルを移動しないためです。見つかったファイルは見つかった場所に残しますが、孤児院にディレクトリエントリを作成して、人間が介入して適切な採用を手配できるようにします。何かが/home/lost+found/var/lost+foundにあることを知っていると、手動による介入がはるかに簡単になります。

2
Monty Harder

Essential System Administration によると

ディスクエラーまたは不適切なシステムシャットダウンにより、ファイルが失われる可能性があります。失われたファイルとは、ディスク上のデータ構造で使用中としてマークされているが、どのディレクトリにもリストされていないディスクの場所を指します(たとえば、odeで空でない)それはどのディレクトリにもリストされていません)。システムの起動時に、fsckというプログラムが実行され、特にこれらのファイルが検出されます。すべてのディスクパーティションにlost + foundディレクトリがあります。/lost + foundはルートディスク上のものです。

Fsck lookなどのユーティリティは、ファイルフラグメントをそれぞれのパーティションのルート内のlost + foundディレクトリに配置する可能性があります。他のlost + foundディレクトリは無視する必要があります。

0
spuder