Я работаю с BusyBox v1.1.2 (2008.07.18-08:25+0000). Я хочу создать новый файл, я используюtouch ModelInfo
Но ответ touch: ModelInfo: No space left on device
Итак, я проверяю свободное место:
/web/en $ df -h
Filesystem Size Used Available Use% Mounted on
/dev/root 14.0M 13.8M 236.0k 98% /
none 256.0k 68.0k 188.0k 27% /syslog
none 1.0M 0 1.0M 0% /tmp
nome 7.0M 6.3M 728.0k 90% /onvif
none 1.0M 0 1.0M 0% /mempic
none 6.0M 0 6.0M 0% /memrec
Как я вижу в гугле, есть проблема с инодами. Хорошо, я бегу
for i in /*; do echo $i; find $i | wc -l; done
Выход следующий:
/arm
14
/bin
81
/boot
1
/capture
2
/dev
310
/disk
9
/etc
57
/hisi-pci
13
/hisi-pci-wifi
12
/home
1
/komod
72
/lib
52
/lib64
1
/linuxrc
1
/lost+found
1
/mempic
5
/memrec
5
/mm.sh
1
/mnt
1
/nfsroot
1
/onvif
2
/opt
1
/param
10
/proc
find: /proc/598/task/598/fd/56: No such file or directory
16957
/root
2
/sbin
56
/share
1
/sys
1350
/syslog
6
/tmp
1
/usr
171
/var
17
/web
522
Итак, в каталоге proc я вижу много каталогов 42, 443, 454, 548 и т. д. - только цифры. Если я зайду в любой из этих каталогов, я увижу там тот же контент:
/proc/580 $ ls -l
-r-------- 1 root root 0 Jul 14 17:51 auxv
-r--r--r-- 1 root root 0 Jul 14 17:48 cmdline
lrwxrwxrwx 1 root root 0 Jul 14 17:51 cwd -> /usr
-r-------- 1 root root 0 Jul 14 17:51 environ
lrwxrwxrwx 1 root root 0 Jul 14 17:51 exe -> /usr/hh580
dr-x------ 2 root root 0 Jul 14 17:51 fd
-r--r--r-- 1 root root 0 Jul 14 17:51 maps
-rw------- 1 root root 0 Jul 14 17:51 mem
-r--r--r-- 1 root root 0 Jul 14 17:51 mounts
-rw-r--r-- 1 root root 0 Jul 14 17:51 oom_adj
-r--r--r-- 1 root root 0 Jul 14 17:51 oom_score
lrwxrwxrwx 1 root root 0 Jul 14 17:51 root -> /
-r--r--r-- 1 root root 0 Jul 14 17:51 smaps
-r--r--r-- 1 root root 0 Jul 14 17:48 stat
-r--r--r-- 1 root root 0 Jul 14 17:51 statm
-r--r--r-- 1 root root 0 Jul 14 17:51 status
dr-xr-xr-x 3 root root 0 Jul 14 17:51 task
-r--r--r-- 1 root root 0 Jul 14 17:51 wchan
Например, есть содержимое каталога «задача»:
/proc/580/task $ ls
580
/proc/580/task $ cd 580
/proc/580/task/580 $ ls
auxv environ maps oom_adj smaps status
cmdline exe mem oom_score stat wchan
cwd fd mounts root statm
/proc/580/task/580 $ ls -l
-r-------- 1 root root 0 Jul 14 17:51 auxv
-r--r--r-- 1 root root 0 Jul 14 17:51 cmdline
lrwxrwxrwx 1 root root 0 Jul 14 17:51 cwd -> /usr
-r-------- 1 root root 0 Jul 14 17:51 environ
lrwxrwxrwx 1 root root 0 Jul 14 17:51 exe -> /usr/hh5800
dr-x------ 2 root root 0 Jul 14 17:51 fd
-r--r--r-- 1 root root 0 Jul 14 17:51 maps
-rw------- 1 root root 0 Jul 14 17:51 mem
-r--r--r-- 1 root root 0 Jul 14 17:51 mounts
-rw-r--r-- 1 root root 0 Jul 14 17:51 oom_adj
-r--r--r-- 1 root root 0 Jul 14 17:51 oom_score
lrwxrwxrwx 1 root root 0 Jul 14 17:51 root -> /
-r--r--r-- 1 root root 0 Jul 14 17:51 smaps
-r--r--r-- 1 root root 0 Jul 14 17:51 stat
-r--r--r-- 1 root root 0 Jul 14 17:51 statm
-r--r--r-- 1 root root 0 Jul 14 17:51 status
-r--r--r-- 1 root root 0 Jul 14 17:51 wchan
Можно ли удалить любой из этих файлов (или ссылок), чтобы система могла создать новый файл? Я действительно не знаю Linux, и я хотел бы создать только файл...
/proc
генерируются Linux автоматически. Я рекомендую не удалять ни один из них. Если у вас нехватка i-узлов, то/proc
не ваша проблема. Они поглощаются где-то еще или в вашей файловой системе есть какие-то несоответствия. Вы пытались запуститьfsck
? - person lurker   schedule 14.07.2013fsck
на/proc
. Вы запускаете его в файловой системе. Как выглядит вывод вашей командыmount
? - person lurker   schedule 14.07.2013df -i
, это даст вам больше информации о нехватке инодов. - person Konstantin Weitz   schedule 14.07.2013~ $ df -i df: illegal option -- i BusyBox v1.1.2 (2008.07.18-08:25+0000) multi-call binary Usage: df [-hmk] [FILESYSTEM ...] Print the filesystem space used and space available. Options: -h print sizes in human readable format (e.g., 1K 243M 2G ) -m print sizes in megabytes -k print sizes in kilobytes(default)
К сожалению, есть 3 варианта. - person Dmitriy Novichkov   schedule 15.07.2013