Введение / Зачем это нужно
Заполнение диска — распространенная проблема в Linux-системах, которая может привести к замедлению работы, ошибкам приложениям и даже к невозможности загрузки системы. Анализ использования диска позволяет быстро определить, какие файлы и папки занимают больше всего места, и принять меры по очистке. В этом руководстве вы освоите основные инструменты для анализа дискового пространства: от простых команд до интерактивных утилит.
Требования / Подготовка
Перед началом убедитесь, что:
- У вас есть доступ к терминалу Linux (через SSH или локально).
- Для некоторых команд (например, поиска по всей системе) потребуются права суперпользователя (root или sudo).
- Установлены базовые утилиты (обычно они есть по умолчанию). Если нет, мы покажем, как установить дополнительные.
Пошаговая инструкция
Шаг 1: Проверьте общее использование диска с помощью df
Команда df (disk free) показывает использование каждого смонтированного файлового раздела. Это даст общее представление о том, какие разделы почти заполнены.
df -h
Ключевой флаг -h (human-readable) выводит размеры в удобных единицах (КБ, МБ, ГБ). Обратите внимание на столбец Use% — процент использования. Если он близок к 100%, раздел нужно очищать.
Шаг 2: Проанализируйте размер папок с помощью du
После определения переполненного раздела нужно найти, какие папки в нем занимают больше всего места. Для этого используется du (disk usage).
du -h --max-depth=1 /путь/к/разделу
Например, для домашней директории:
du -h --max-depth=1 /home
Эта команда покажет размер каждой папки первого уровня в /home. Параметр --max-depth=1 ограничивает глубину, чтобы не захламлять вывод. Вы можете изменить глубину или указать конкретную папку.
Шаг 3: Установите ncdu для интерактивного анализа
Для более удобного анализа установите ncdu (NCurses Disk Usage). Это консольная утилита с интерактивным интерфейсом, которая позволяет быстро навигировать по файловой системе и видеть размеры.
Установка:
Ubuntu/Debian:
sudo apt update && sudo apt install ncdu
CentOS/RHEL:
sudo yum install ncdu
Запуск:
ncdu /путь/к/разделу
В интерфейсе ncdu можно перемещаться стрелками, нажимать Enter для входа в папки, а d — для удаления файлов (будьте осторожны!). Это отличный способ детально исследовать использование диска.
Шаг 4: Найдите самые большие файлы в системе
Иногда проблема кроется в нескольких огромных файлах (логи, кэши, Iso-образы). Чтобы их найти, используйте комбинацию find, du и sort.
sudo find / -type f -exec du -h {} + | sort -rh | head -n 20
Пояснение:
sudo find /— ищем файлы начиная с корня (требует прав).-type f— только файлы (не папки).-exec du -h {} +— для каждого файла выводим его размер.sort -rh— сортируем по убыванию (human-readable).head -n 20— берем топ-20.
Будьте аккуратны: поиск по всему диску может занять много времени и создать нагрузку. Можно ограничить путь, например, /home.
Шаг 5: Используйте графические инструменты при необходимости
Если вы работаете в графической среде (GUI), есть удобные визуализаторы:
- Baobab (для GNOME): показывает использование диска в виде кольцевой диаграммы или дерева.
Установка:
sudo apt install baobab(Ubuntu/Debian). Запуск из меню приложений илиbaobab. - Filelight (для KDE): похожая утилита, создает наглядную карту диска.
Установка:
sudo apt install filelight(Ubuntu/Debian) или через Discover.
Эти инструменты особенно полезны для новичков.
Проверка результата
После выполнения шагов вы должны:
- Знать, какие разделы переполнены (через
df). - Понимать, какие папки занимают больше всего места (через
duилиncdu). - Находить конкретные большие файлы (через
find). - При необходимости использовать графические инструменты.
Если вы освободили место, повторно запустите df -h, чтобы убедиться, что процент использования снизился.
Возможные проблемы
- Ошибки доступа (Permission denied): многие команды, особенно при поиске от корня, требуют
sudo. Если вы видите ошибки, попробуйте добавитьsudo(но будьте осторожны с удалением). - Медленная работа
findпо всему диску: ограничьте путь. Например, вместо/укажите/homeили/var. ncduне установлен: установите через менеджер пакетов, как показано выше.- Разное представление места:
dfпоказывает место по файловой системе (с учетом резервирования), аdu— фактическое использование. Это нормально, и разница может быть 5-10% (резерв для root).
Дополнительные советы
- Регулярно проверяйте логи в
/var/log— они могут разрастаться. - Очищайте кэш пакетов:
sudo apt clean(Ubuntu/Debian) илиsudo yum clean all(CentOS). - Удаляйте старые ядрара (если их много) через
dpkg --list | grep linux-imageиsudo apt purge linux-image-старая-версия. - Используйте
journalctl --disk-usageдля проверки использования журналов systemd иjournalctl --vacuum-size=100Mдля очистки.
Эти советы помогут поддерживать дисковое пространство в порядке.