iノードの不足


26

99%のiノードを使用しているため、Ubuntuを更新できません。この問題を軽減する最も簡単な方法は何ですか?

ご協力いただきありがとうございます。


2
StackOverlowでよく似た質問がされました。多分それはstackoverflow.com/questions/653096/howto-free-inode-usage

1
そしてServerFaultのserverfault.com/questions/185553/...

こちらもAskUbuntuでも同様です。
パブロA

回答:


24

iノードの数は、パーティションがフォーマットされるときに設定されます。通常、作成されるiノードの数は、ほとんどすべての目的に十分です。ただし、非常に小さなファイルが多数ある場合は、ディスクがいっぱいになる前にiノードを使い果たすことができます。

システム上にあるiノードを使い尽くしている何千もの小さなファイルを見つけて、それらを削除するか、利用可能な非常に多くのiノードで特別に設定されたパーティションに移動する必要があります。パーティションがフォーマットされた後、パーティションで使用可能なiノードの数を変更することはできません。

stackoverflowでpaxdiabloによって記述されたスクリプトは、気づかないかもしれない過度の小さなファイルの使用をチェックするための便利な方法かもしれません。ここに再びあります:

#!/bin/bash
# count_em - count files in all subdirectories under current directory.
echo 'echo $(ls -a "$1" | wc -l) $1' >/tmp/count_em_$$
chmod 700 /tmp/count_em_$$
find . -mount -type d -print0 | xargs -0 -n1 /tmp/count_em_$$ | sort -n
rm -f /tmp/count_em_$$

このスクリプトをテキストファイル〜/ bin / count_emに入れてから、コマンドを発行します

chmod +x ~/bin/count_em

実行可能にします。ディレクトリ〜/ binを作成する必要がある場合、実行可能パスにはまだないので、ログアウトして再度ログインします。

プログラムを実行するには、単に入力します

count_em

また、現在のディレクトリとサブディレクトリ内のすべてのファイルの番号がディレクトリごとにリストされ、最後に最も多くカウントされます。とても便利な!


この行> chmode + x〜/ bin / count_emは実際には> chmod + x〜/ bin / count_em

1
ユーザーが作成したファイルをすべて削除する必要がありますか、それともtarアーカイブに移動するとうまくいきますか?
amc

それらをアーカイブすることはそれに対処する素晴らしい方法です、それはユーザーデータを削除しませんが、彼らが以前のようにファイルを使用することができないので彼らの振る舞いが満足のいくものではないことを認識させます。ただし、だれも使用していないものによって膨大な数のファイルが生成され、安全に削除できる可能性がありますが、それはリスクです。
LovesTha 14

スクリプトへの良好な単一ライン選択肢はあるかもしれないsudo du -a -d 1 --inodes . | sort -nr | head -20
チャールズ・グリーン

1
もちろん、これは一時ファイルを作成するため、iノードが完全になくなっている場合は機能しません:(
Molomby

8

次のコマンドを使用して、inodeの数でディレクトリのソートされたリストを表示することもできます。 du --inodes -d 3 / | sort -n | tail

そこから、削除するディレクトリを決定できます


1
unrecognized option '--inodes'Ubuntu 14.04、fyi
Molomby

2019年にubundu 14.04を使用しているのはなぜですか?2013年2月からcoreutils 8.21があり、--inodesオプションが2013年7月に追加されましたlmao
ZN13

2

iノードの使用は/root/.localからのものであることがわかり、そのフォルダーを削除しました。


2
/root/.localを使用する必要はほとんどなく、互換性の理由からのみ存在します。このディレクトリに多くの小さなファイルを書き込んでいたものを見つける必要があります。
Fabricator4
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.