Вот странная вещь, которую я раньше не видел - каталог, размер которого указывается ls как 0 вместо 4096, и я не могу создавать в нем какие-либо файлы.
# 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
Итак, что означает размер каталога 0 вместо 4096?
Файловая система ext4 на ядре Fedora 14.
Выход 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
Я предполагаю, что вы используете autofs для своих домашних каталогов.
Вот так появится пара разных псевдофайловых систем. Псевдо-файловые системы - это файловые системы, которые на самом деле не содержат файлов. Вы заметите, что / proc тоже похож на это. В основном это потому, что в / home ничего нет, нет файлов, ничего. Когда вы пытаетесь получить к нему доступ, autofs видит запрос и пытается подключить соответствующий домашний каталог по запросу. С помощью proc эти файлы на самом деле не являются, это просто представление файлов, предоставляемых различными драйверами (и ядром), запущенными в системе.
Изменить: отключите autofs, и он появится как обычный каталог.
df -i
может быть интересно - может быть, у вас закончились inodes в этой файловой системе?
Это означает, что что-то не так, и вам нужно проверить файловую систему.