Linux

Анализ использования диска в Ubuntu: 3 способа найти большие файлы

В этом гайде вы научитесь эффективно анализировать использование дискового пространства в Ubuntu. Мы рассмотрим три рабочих метода: через терминал с утилитами ncdu и du, а также с помощью графического инструмента Baobab. Вы сможете быстро находить «пожирателей» места и освобождать диск.

Обновлено 15 февраля 2026 г.
10-15 мин
Низкая
FixPedia Team
Применимо к:Ubuntu 22.04 LTSUbuntu 24.04 LTSDebian 12+Linux Mint 21+

Введение / Зачем это нужно

Заполнение диска — одна из самых частых проблем на серверах и домашних компьютерах под Ubuntu. Когда место заканчивается, перестают работать обновления, ломаются приложения, а система может стать нестабильной. Этот гайд покажет, как не просто посмотреть свободное место (df -h), а найти конкретные файлы и папки, которые его «съедают». Вы получите чёткую картину и сможете принять взвешенное решение о том, что можно удалить.

Требования / Подготовка

  • Доступ к терминалу (Ctrl+Alt+T) или графической оболочке.
  • Права администратора (sudo) для анализа системных разделов (/, /var) и удаления файлов, принадлежащих другим пользователям.
  • Рекомендуется установить утилиту ncdu — она делает анализ интерактивным и удобным. Инструкция по установке есть в шаге 2.
  • Внимательность! Не удаляйте системные файлы, если не уверены на 100% в их назначении.

Пошаговая инструкция

Шаг 1: Определите, какой раздел диска переполнен

Сначала нужно понять, какой именно раздел (раздел диска или точка монтирования) исчерпал своё пространство.

df -h

Пример вывода:

Файл.сист.   Размер Использовано Доступно Использовано% Смонтировано в
/dev/sda2       50G           45G     3.2G          93% /
/dev/sda1       512M          68M     445M          14% /boot/efi
/dev/sdb1      1.8T          200G    1.5T          12% /mnt/data

Здесь видно, что корневой раздел / заполнен на 93%. Анализировать нужно именно его.

Шаг 2: Установите ncdu (рекомендуется)

ncdu (NCurses Disk Usage) — это лучший инструмент для интерактивного анализа в терминале. Он быстро строит дерево использования диска и позволяет перемещаться по нему.

sudo apt update
sudo apt install ncdu

Шаг 3: Запустите анализ выбранного раздела

Запускаем ncdu на проблемный раздел. Используем sudo, чтобы избежать ошибок «Permission denied» при доступе к системным каталогам.

sudo ncdu /

Первоначальное сканирование может занять от нескольких секунд до нескольких минут в зависимости от размера раздела и количества файлов.

Шаг 4: Изучайте результаты в ncdu

После завершения сканирования вы попадёте в основной интерфейс:

--- / -----------------------------------------------------------------
   45.2 GiB [##########] /usr
    8.5 GiB [####      ] /var
    4.2 GiB [##        ] /home
    1.1 GiB [#         ] /opt
  512.0 MiB [          ] /boot
    ...

Как работать:

  • Стрелки — перемещение по списку.
  • Стрелки или клавиша Enter — войти в выбранную папку (углубиться) или выйти из неё.
  • Клавиша d — удалить выбранный файл или папку. ВНИМАНИЕ! Удаление необратимо. ncdu спросит подтверждение.
  • Клавиша q — выйти из программы.

На что смотреть: Ищите в верхней части списка папки, которые вы не ожидали там увидеть. Частые «кандидаты»:

  • /var/cache/apt/archives — кэш установленных через apt .deb пакетов.
  • /var/log — логи, особенно старые или разросшиеся (например, journal).
  • /home/ваш_пользователь/.cache — кэш браузеров, приложений (Spotify, VS Code).
  • /var/lib/docker — образы и контейнеры Docker.
  • /var/lib/snapd/snaps — снимки (snaps) приложений.
  • Каталоги с резервными копиями (*.backup, backup), загруженными видео/ISO-образами.

Шаг 5: Альтернатива: анализ через встроенный du

Если по какой-то причине ncdu не хотите или не можете установить, используйте стандартную утилиту du в связке с sort.

Эта команда покажет 20 самых больших элементов (файлов и папок) в указанной директории (например, в /var):

sudo du -sh /var/* 2>/dev/null | sort -rh | head -20
  • -s — суммарный размер для каждого аргумента.
  • -h — «человеко-читаемый» формат (K, M, G).
  • 2>/dev/null — подавляем ошибки «Permission denied».
  • sort -rh — сортировка по убыванию размера (reverse, human-numeric).
  • head -20 — показать только первые 20 строк.

Вы можете заменить /var/* на /* для анализа всего корня, но это будет очень долго и «шумно».

Шаг 6: Графический способ: Baobab (Disk Usage Analyzer)

Для тех, кто предпочитает GUI, в Ubuntu по умолчанию установлен Baobab (Disk Usage Analyzer).

  1. Откройте меню приложений и найдите «Disk Usage Analyzer» или «Анализатор использования диска».
  2. Нажмите кнопку «Сканировать папку» (значок папки с лупой) и выберите раздел для анализа (например, / или /home).
  3. Дождитесь завершения сканирования.
  4. Интерфейс:
    • Вид «Кольцо» (по умолчанию) — наглядная секторная диаграмма. Большой сектор — большая папка. Кликните на сектор, чтобы «зайти» в неё.
    • Вид «Дерево» — иерархический список с размерами.
    • В нижней части окна отображается путь к текущей выбранной папке и её размер.

Baobab отлично подходит для быстрого визуального ориентирования.

Проверка результата

После удаления ненужных файлов (например, очистки кэша) проверьте, освободилось ли место.

  1. Перезапустите анализ выбранного раздела (ncdu / или baobab).
  2. Или используйте быструю команду df -h / для просмотра общего изменения свободного места на целевом разделе.

Вы должны увидеть, что размер «пожирателя» места уменьшился, а поле Available (доступно) в выводе df выросло.

Возможные проблемы

  • Ошибка «Permission denied» при запуске ncdu или du.
    • Причина: Попытка прочитать системные каталоги, принадлежащие root.
    • Решение: Запускайте команды с sudo (sudo ncdu /). Будьте осторожны с удалением в этом режиме.
  • Анализ «завис» или работает очень долго.
    • Причина: Огромное количество мелких файлов (например, в /var/lib/docker/overlay2 или /home/user/.cache) или сетевые файловые системы (NFS).
    • Решение: Проявите терпение. Можно проанализировать не весь раздел, а конкретную «подозрительную» папку, которую вы уже нашли (например, sudo ncdu /var/lib/docker).
  • Не могу удалить файл через ncdu (клавиша d не работает или файл не удаляется).
    • Причина: Файл защищён от записи (атрибут chattr +i) или вы не являетесь его владельцем (даже с sudo в некоторых случаях для особо защищённых файлов).
    • Решение: Проверьте права: ls -la /путь/к/файлу. Если файл принадлежит другому пользователю/группе, возможно, потребуется изменить права (sudo chown) или атрибуты (sudo chattr -i), только если вы уверены в безопасности этого действия.
  • Baobab не показывает какие-то папки или размеры не сходятся с ncdu.
    • Причина: Baobab по умолчанию может не учитывать размер жёстких ссылок (hard links) или некоторые специальные файловые системы (proc, sysfs). Также он может пропускать очень маленькие файлы для ускорения.
    • Решение: Доверяйте ncdu или du как более точным и «низкоуровневым» инструментам. Используйте Baobab для наглядности, а ncdu — для точности.
  • Освободил 10 ГБ, а df -h показывает прирост всего в 2 ГБ.
    • Причина: Удалённые файлы всё ещё используются запущенным процессом (например,.log-файл, который удалили, но процесс continues писать в него). Пространство не освобождается до тех пор, пока процесс не закроет дескриптор файла.
    • Решение: Найдите процесс, удерживающий файл: sudo lsof | grep '(deleted)'. В выводе будет указан PID. Перезапустите этот процесс (если это безопасно) или завершите его (sudo kill PID). После этого место освободится.

Часто задаваемые вопросы

Можно ли удалить системные файлы, которые показала утилита анализа?
В чём разница между `du` и `ncdu`?
Как проанализировать внешний USB-накопитель?
Почему Baobab показывает меньше места, чем `ncdu`?

Полезное

Определите, какой раздел диска переполнен
Установите ncdu (рекомендуется)
Запустите анализ выбранного раздела
Изучайте результаты в ncdu
Альтернатива: анализ через встроенный du
Графический способ: Baobab (Disk Usage Analyzer)