web-dev-qa-db-ja.com

Linuxでは、ディレクトリのサイズが4096ではなく0であるとはどういう意味ですか?

これは私が前に見たことがない奇妙なことです-サイズが4096ではなく0としてlsによって報告されるディレクトリであり、その中にファイルを作成することはできません。

# ls -ld lib home
drwxr-xr-x.  2 root root    0 Feb  7 03:10 home  <-- it has zero size
dr-xr-xr-x. 11 root root 4096 Feb  4 09:28 lib
# touch home/foo
touch: cannot touch `home/foo': No such file or directory  <-- and I can't create files in it
# rm home
rm: cannot remove `home': Is a directory   <-- look, it really is a dir

では、ディレクトリのサイズが4096ではなく0になるとはどういう意味ですか?

ファイルシステムはFedoraコア14のext4です。

mountの出力は次のとおりです。

/dev/mapper/vg_dev-lv_root on / type ext4 (rw)
proc on /proc type proc (rw)
sysfs on /sys type sysfs (rw)
devpts on /dev/pts type devpts (rw,gid=5,mode=620)
tmpfs on /dev/shm type tmpfs (rw,rootcontext="system_u:object_r:tmpfs_t:s0")
/dev/vda1 on /boot type ext4 (rw)
none on /proc/sys/fs/binfmt_misc type binfmt_misc (rw)
sunrpc on /var/lib/nfs/rpc_pipefs type rpc_pipefs (rw)

du -s /homeの出力:

0   /home

stat /homeの出力:

  File: `/home'
  Size: 0           Blocks: 0          IO Block: 1024   directory
Device: 15h/21d Inode: 34913       Links: 2
Access: (0755/drwxr-xr-x)  Uid: (    0/    root)   Gid: (    0/    root)
Access: 2011-02-07 03:45:46.188995765 -0800
Modify: 2011-02-07 03:11:59.980995019 -0800
Change: 2011-02-06 07:58:45.874995002 -0800
7
kdt

私はあなたがあなたのホームディレクトリにautofsを使用していると推測しています。

いくつかの異なる疑似ファイルシステムがこのように表示されます。疑似ファイルシステムは、実際にはファイルを保持しないファイルシステムです。/procもこのようになっていることに気付くでしょう。基本的には/ homeには何もなく、ファイルも何もないためです。これにアクセスしようとすると、autofsは要求を確認し、要求に応じて適切なホームディレクトリをマウントしようとします。 procでは、これらのファイルは実際にはファイルではなく、システムで実行されているさまざまなドライバー(およびカーネル)によって提供されるファイルの単なる表現です。

編集:autofsをシャットオフすると、通常のディレクトリのように表示されます。

10
Patrick

df -i興味深いかもしれません-そのファイルシステムのiノードがなくなる可能性はありますか?

0
Jeff Albert

これは、何か問題があり、ファイルシステムをfsckする必要があることを意味します。

0
Mark Wagner