У меня есть экземпляр EC2, и когда я вхожу в систему, я получаю
mktemp: failed to create file via template '/tmp/.colorlsXXX': No space left on device
Однако когда я это сделаю df -h
я вижу
Filesystem Size Used Avail Use% Mounted on
/dev/xvda1 7.8G 4.2G 3.5G 55% /
devtmpfs 812M 16K 812M 1% /dev
tmpfs 828M 0 828M 0% /dev/shm
Делать df -i
дает мне
/dev/xvda1 524288 524288 0 100% /
devtmpfs 207790 414 207376 1% /dev
tmpfs 211891 1 211890 1% /dev/shm
Что тут происходит?
Вы исчерпали все доступные inode в вашей файловой системе. Скорее всего, у вас есть каталог с кучей крошечных файлов. Вам нужно будет найти этот каталог и удалить некоторые файлы.
Чтобы найти, какая папка вашего сервера использует ограничение inode, вы можете выполнить эту команду:
найти . -xdev -type f | вырезать -d "/" -f 2 | сортировать | uniq -c | sort -nr
Команда взята из Вот
Эта ошибка возникла у меня при попытке установить Ubuntu-рабочий стол по указанию центра знаний AWS.
Затем я нашел Вот как найти все эти каталоги с огромным количеством крошечных файлов:
for i in /*; do count=`sudo find $i | wc -l`; if [ $count -gt 10000 ]; then echo $i $count; fi; done
/lib 18982
/proc 35223
/sys 36490
/usr 253941
/var 14584
Запустите его снова для каждого подозрительного подкаталога (для меня он был скрыт в / usr / *).
Но прежде чем удалить эти подкаталоги с помощью rm -rf (если вы абсолютно уверены!), попробуйте безопасно удалить пакеты Linux, которые были установлены другими пакетами, но больше не нужны:
sudo apt-get -f install
sudo apt-get autoremove
Бегать df -i еще раз, чтобы увидеть, есть ли у вас больше места.