Размеры папок и дисков в Linux. Команды df и du

Нужно понять, чем занят диск: df показывает файловые системы, du — каталоги. Это разбор переполнения, не «защита сервера».
1. Свободное место по томам
df -hT
df -h / /var /home
Пример:
Filesystem Type Size Used Avail Use% Mounted on
/dev/mapper/rl-root xfs 50G 41G 9.1G 82% /
/dev/sda1 ext4 488M 120M 332M 27% /boot
Смотрите Use% и Avail. Отдельно inode: диск «полный», а гигабайты ещё есть — кончились inode.
df -i /
2. Какие каталоги съели место
sudo du -xhd1 /
sudo du -sh /var /var/log /var/lib /home /tmp
sudo du -xh /var/log | sort -h | tail -n 20
-x не уходит на другие тома. -d1 — один уровень. Пример хвоста:
1.2G /var/log/journal
4.8G /var/log
12G /var
Интерактивно, если пакет есть:
sudo ncdu -x /
3. Не удалить не то
Перед чисткой /var/log посмотрите, крутится ли журнал: journalctl --disk-usage. Не трогайте каталог репозитория Borg и бэкапы — см. Borg. Не чистите /var/lib/docker командой rm.
df показывает больше, чем du
Если df говорит «занято 90%», а du находит в сумме гораздо меньше, место держат удалённые, но открытые файлы: процесс продолжает писать в файл, который удалили. Найдите их:
sudo lsof +L1
sudo lsof -nP | grep '(deleted)' | head
Перезапустите процесс, который держит файл (часто это сервис с большим журналом), и место освободится. Не обнуляйте журнал «наугад» без понимания, кто его пишет.
Найти самые большие файлы
sudo find / -xdev -type f -size +500M -exec ls -lh {} + 2>/dev/null | sort -k5 -h | tail
Ключ -xdev не выходит за пределы раздела.
Типовые источники мусора и безопасная чистка
| Что | Как посмотреть и очистить |
|---|---|
| Журнал systemd | journalctl --disk-usage, затем sudo journalctl --vacuum-size=500M |
| Кэш пакетов | sudo apt clean или sudo dnf clean all |
| Docker | docker system df, очистка docker image prune по списку, а не rm каталогов |
| Старые ядра | sudo apt autoremove --purge или sudo dnf remove --oldinstallonly |
| Журналы приложений | Настройте ротацию в /etc/logrotate.d/ и отправку на сервер: сбор логов |
Не удаляйте то, происхождение чего не понимаете: перед удалением проверьте, кто пишет в каталог, и убедитесь, что есть копия. Предупреждать о нехватке места лучше заранее: мониторинг дисков. Если место действительно закончилось, расширьте том: LVM.
Как проверить
df -hT
df -i /
sudo du -xhd1 /
Вы знаете, какой том полный, какой каталог больше остальных, и inode не на 100%.
Источники
- man
df. URL: https://man7.org/linux/man-pages/man1/df.1.html. - man
du. URL: https://man7.org/linux/man-pages/man1/du.1.html.


















