自前で運用しているgitlabにpushしようとしたら
remote: error: unable to create temporary file: No space left on device
とか
error: remote unpack failed: unpack-objects abnormal exit
のエラーが出た。
調べるとinodeの枯渇ってことらしく、下記の状況。
$ df -i
Filesystem Inodes IUsed IFree IUse% Mounted on
/dev/xvda1 983040 982949 91 100% /
ファイル数を多く使っているディレクトリを計算。
find / -xdev -printf '%h\n' | sort | uniq -c | sort -k 1 -n
結果、linux-header関係が多いってことがわかったので、
どうやって消すか調べると未使用のバージョン指定して個別に消すという記事を発見。
面倒だし、ほんとに消していいかこのあたり不安しかない。
というわけでいい方法ないのかってことで、調べると
apt-get autoremove
これで解決する模様。
コレ自体の実行が失敗もありうる可能性はあるが。
実行して少し待つと解消。
# df -i
Filesystem Inodes IUsed IFree IUse% Mounted on
/dev/xvda1 983040 228724 754316 24% /
ファイルサイズも激減。
以前は数百MBしか残ってなかった。
# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/xvda1 15G 8.0G 6.1G 57% /
環境はこちら。
Ubuntu 16.04.3 LTS (GNU/Linux 4.4.0-104-generic x86_64)