修正する

修正する

*nix ファイルシステムのファイルには、ほぼ常に関連する inode 番号があります。ほとんどの場合、ユーザーはファイル名(つまり、階層パス名 - ファイル名構造)を使用してファイルと対話するため、これらのinode番号にはあまり気にしないようです。したがって、ファイル名を変更するのは一般的なことです。

mv oldname newname

あるinode番号から別のinode番号に名前変更(再割り当て)はどのように機能しますか?

背景は、私のファイルシステムからファイルをバックアップ(復元/カタログなど)したいということです。回復しながら、以前のinode#7が再び幸運のinode#7になったことを見て嬉しかったです。

カーネルのファイルシステム処理がinode処理を抽象化できることがわかっている場合は、割り当てたいファイルの前に他のファイルが#7として割り当てられることがあるとします。簡単に言えば、#7がすでに使用されているとき、「親愛なるカーネルがinode#12345を#7に変更しました」という決定に問題があると予想されます。ファイル名はファイル名と比較して一意ですが、ファイル名をすでに使用されているファイル名に変更するには、次の手順を実行します。

mv newname othername
mv oldname newname

上記の方法で古いファイルoldfileの名前を。newnamenewnameothername

したがって、inodeの番号付けを変更/影響を与える方法があると思います。この場合、質問に完全に答えることができます。何らかの方法でファイルシステムに依存している場合は、ext4について最も知りたいです。

修正する

私の不注意によって無視されるようになったhttps://stackoverflow.com/questions/5752822/how-do-i-create-a-file-with-a-特異的-inode-numberこれはほとんどの同じ問題を解決します。 UnixやLinuxではなくSOを使用しているので、この質問をここに残したり削除したりするのに十分かどうかはわかりません。ところで、すでに答えが出ているのでしょうか?

ベストアンサー1

35年が過ぎた今、このオプションはもう存在しません。まともなファイルシステムでは、inodeの数を制御できません。

あなたができることはufsrestoreから回復シンボルを解析することですが、文書化されておらずバイナリです。

Star は同じ基本アルゴリズムを使用して名前の変更を追跡し、データベースを星印テーブルに配置します。ファイルはテキストファイルで、star_symプログラムはそれを人間が読める形式に変換します。

したがって、取得できる最善の方法は、古いinode番号から新しいinode番号への変換テーブルです。

おすすめ記事