タグ付けされた質問 「inode」

iノード(インデックスノード)、ファイルやディレクトリなどのファイルシステムオブジェクトを記述するUnixスタイルのファイルシステムのデータ構造に関する質問。このタグは、iノードのデータ構造自体に関する質問や、ファイルシステムのスコープ内のiノードのクエリや管理から発生する問題に関する質問に使用します。


4
特別なデバイスファイルにiノードがあるのはなぜですか?
デバイスファイル自体はファイルではありません。これらは、Unixライクなオペレーティングシステムでデバイスを使用するためのI / Oインターフェイスです。これらはディスク上のスペースを使用しませんが、stat次のコマンドで報告されるようにiノードを使用します。 $ stat /dev/sda File: /dev/sda Size: 0 Blocks: 0 IO Block: 4096 block special file Device: 6h/6d Inode: 14628 Links: 1 Device type: 8,0 デバイスファイルはファイルシステムの物理的な iノードを使用しますか、なぜそれらを必要とするのですか?

1
iノード番号は、他のファイルよりも早く作成されたファイルを決定しますか?
ではext4、ファイルシステム、それが思うfile1iノード番号を持ち1、そのfile2iノード番号を持っています2。さて、crtime利用可能なタイムスタンプに関係なく、それfile1がfile2inode 1がinode よりも小さいという理由だけではなく、それよりも前に作成されたと想定するのは間違ってい2ますか?
11 ext4  inode 

3
iノードを使用してファイルまたはディレクトリの名前を変更することは可能ですか?
/ homeディレクトリを別のパーティションに変更し、そこからファイルにアクセスできませんでした。この質問から解決できたことです - 別のパーティションに切り替えた後、以前のマウントの内容にどのようにアクセスしますか?。 以前にディレクトリのiノードをメモしていた場合、それだけでディレクトリの名前を変更できますか?
10 rename  inode 

2
Linuxカーネルが、実際にはiノードが不足しているのに、「ディスク領域不足」を報告するのはなぜですか
Linux環境でのプログラミングは好きだが、Linuxの管理についてはよく知らない私の友人が、最近彼のOS(Ubuntu)が「XXXボリュームのディスク容量不足」を報告していた問題に遭遇しました。しかし、彼がボリュームをチェックしに行ったとき、まだ700 GBが残っていました。多くの時間を浪費した後、彼は最終的に自分がiノードの外にあることを理解することができました。(彼はこのボリュームにバックアップシステムからの小さな増分更新をたくさん保存し、彼のすべてのiノードを焼き付けていました。) Linuxカーネルがエラーメッセージ(「ディスク容量不足」)を適切に報告(「inode不足」)するのではなく、なぜ報告したのかと彼は私に尋ねました。私は知らなかったので、StackExchangeに質問すると思いました。 なぜこれが起こるのか誰でも知っていますか?そしてなぜそれがこれらすべての年月の後でまだ修正されていないのですか?(1995年に別の友人がこの問題について教えてくれたのを覚えています。)

6
iノード番号を見つけるポータブルな方法
最初は私はstat -c %i file(刑務所の存在を検出するのを助けるために)使用しましたが、これは太陽の下でどのLinuxディストリビューションでも機能するように見えました。OS Xではを使用する必要がありましたls -i file | cut -d ' ' -f 1。 * nixプラットフォーム間で移植可能で悪名高い気まぐれに依存しないシェルスクリプトでファイルのiノード番号を見つける方法はありますlsか?
10 shell  inode 

2
xattrとchattrの違い
関係との違いは何であるxattrとはchattr?chattrLinuxで属性を設定すると、Linuxカーネルとiノードメタデータ内で何が起こっているのか知りたい。
9 linux  files  inode  xattr 

1
ファイルシステムを走査せずにファイルのすべてのハードリンクを見つける
私が見ているこのページでは、iノードが持っているリンクカウンタをポイントこのiノードへ:どのように多くのファイル(「ディレクトリエントリ」を読んで)知っています。ファイルシステム全体を走査せずに、どのディレクトリにそのようなエントリが含まれているかを知る方法はありますか?この情報はどこかに保存されていますか? struct inode { kdev_t i_dev; unsigned long i_ino; umode_t i_mode; nlink_t i_nlink; uid_t i_uid; gid_t i_gid; … };

3
カーネルmmap操作のメモリサイズ
Linuxがメインメモリにファイルをmmapsする方法(私のコンテキストでは実行するためですが、mmapプロセスは書き込みと読み取りでも同じだと思います)とそれが使用するサイズに興味があります。 したがって、Linuxが通常4kBのページサイズでページングを使用していることを知っています(カーネル内でこのサイズを見つけることができますか?)。しかし、これは割り当てられたメモリに対して正確に何を意味するのでしょう。数千バイトのサイズのバイナリがあると仮定し、5812Bとだけ言って実行します。カーネルで何が起こるか:2 * 4kBを割り当ててから、5812Bをこのスペースにコピーし、2ページ目で3KBを超えるメインメモリを浪費していますか? ページサイズが定義されているカーネルソース内のファイルをだれかが知っているとすばらしいでしょう。 私の2番目の質問も非常に単純だと思います。ファイルサイズとして5812Bを想定しました。このサイズは単にiノードから取得されるのは正しいのでしょうか。
9 kernel  memory  inode  mmap 

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.