私はUbuntu 14.xを使用しており、最近何らかのディスクがいっぱいのメッセージでファイルの作成に失敗しました。
スペースが2GB以上あるのにこれはダメですが、iノードがいっぱいになると発生する可能性があると聞きました。
私は経験豊富なLinuxユーザーではないので、それを削除する方法がわかりません。まず、上記のコマンドをrootとして入力して、どれだけのinodeが使用されているかを確認しました。
$ df -i -h
Filesystem Inodes IUsed IFree IUse% Mounted on
udev 248K 414 248K 1% /dev
tmpfs 250K 467 250K 1% /run
/dev/xvda1 512K 512K 0 100% /
はい、100%です。次に、現在システムで使用されているinodeの数を表示するコマンドを見つけました。
# for i in /*; do echo $i; find $i |wc -l; done
次のように印刷されます。
/bin
172
/boot
353
/dev
416
/etc
1971
/home
21808
/lib
17720
/proc
43272
/sys
36453
/tmp
5134
/usr
423458
/var
10117
...
だから/ home / devからいくつかのファイルを削除し、いくつかの無料のinodeを取得しましたが、それほど多くはありませんでした。
Filesystem Inodes IUsed IFree IUse% Mounted on
/dev/xvda1 512K 464K 49K 91% /
また、必要なファイルを再インストールすると inode が再利用されるため、実際に問題は解決されません。
/usrディレクトリがほとんどinode(423458)を占めているのがわかりますが、他のシステムやプログラムに影響を与えずに削除できるファイルが何であるかはわかりません。
削除する「不要な」inodeを見つける方法は?どんなアドバイスも本当にありがとうございます。
答え1
私のシステムに比べてファイルが多い/usr
ので、そこで検索を続けることをお勧めします。コマンドからに変更すると、すべてのディレクトリで機能します/*
。*
数字を比較するターゲットがないと難しいかもしれません。私のサブディレクトリにあるファイルの数は次のとおりです/usr
。
bin 2397
games 32
include 4607
lib 27379
local 34
sbin 271
share 1
src 22971
(で作られたfor i in *; do echo -n "$i "; find $i |wc -l; done
)