Linux

Управление диском в Ubuntu: как проверить и освободить место

Этот гайд поможет вам быстро найти и удалить ненужные файлы в Ubuntu. Вы научитесь использовать терминальные утилиты для анализа использования диска и безопасно освободить гигабайты места.

Обновлено 16 февраля 2026 г.
15-30 мин
Средняя
FixPedia Team
Применимо к:Ubuntu 20.04 LTSUbuntu 22.04 LTSUbuntu 24.04 LTSDebian-based дистрибутивы

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

Занятое дисковое пространство — одна из самых частых причин замедления работы Ubuntu и появления ошибок вроде «No space left on device». Этот гайд покажет, как не просто удалить файлы наугад, а точно найти «пожирателей» места и безопасно их очистить. Вы получите полный контроль над диском с помощью терминала.


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

  • Ubuntu 20.04 или новее (инструкция подходит и для других Debian-дистрибутивов).
  • Доступ к терминалу (Ctrl+Alt+T).
  • Права sudo для очистки системных каталогов и установки утилит.
  • Базовое знакомство с командной строкой.

Шаг 1: Установите необходимые утилиты

В современных Ubuntu уже есть всё для базового анализа (df, du), но для удобства установим два мощных инструмента:

  • ncdu — интерактивный текстовый анализатор (похож на du, но с навигацией и сортировкой).
  • duf — красивый и информативный аналог df (показывает использование по разделам, Inodes, типы файловых систем).
# Обновляем список пакетов
sudo apt update

# Устанавливаем ncdu и duf
sudo apt install -y ncdu duf

Что делает команда: apt install загружает и устанавливает программы из официальных репозиториев. Флаг -y автоматически подтверждает установку.


Шаг 2: Проверьте общее использование диска

Сначала посмотрим, какой раздел переполнен.

# Запустите duf — это главная команда для быстрого обзора
duf

Вы увидите таблицу, где:

  • Size — общий размер раздела.
  • Used — занятое место.
  • Avail — свободное место.
  • Use% — процент заполнения (вот на это смотрим!).

Альтернатива: старая добрая df -h (human-readable).

df -h

Важно: Обратите внимание на точку монтирования (Mounted on) переполненного раздела. Обычно это / (корневой раздел) или /home.


Шаг 3: Найдите самые большие каталоги

Теперь ищем, что конкретно занимает место на проблемном разделе. Например, если переполнен /:

# Анализируем корневой раздел. Это может занять время!
sudo ncdu /

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

  1. После запуска вы увидите список папок, отсортированных по убыванию размера.
  2. Стрелки вверх/вниз — навигация.
  3. Enter — войти в папку (анализ её содержимого).
  4. d — удалить выделенный файл/папку (будьте осторожны!).
  5. q — выйти.

Совет: Начните с анализа /home (ваши личные файлы) и /var (логи, кэш). Чаще всего «виновники» — это:

  • Кэш браузеров (~/.cache/*).
  • Мусор в ~/Downloads.
  • Старые версии пакетов или ядер (/var/cache/apt/, /boot).
  • Раздатые BitTorrent-клиенты (/home/user/Downloads).

💡 Совет: Если ncdu не находит аномалий, проверьте скрытые папки (начинаются с .) в вашем домашнем каталоге. В ncdu они видны.


Шаг 4: Очистите кэш пакетного менеджера APT

APT храняет скачанные .deb-пакеты в /var/cache/apt/archives. Их можно безопасно удалить после установки программ.

# Очистка кэша APT (освобождает до сотен МБ)
sudo apt-get clean

# Или более щадящий вариант — удалить только устаревшие пакеты
sudo apt-get autoclean

Разница: clean удаляет все кэшированные пакеты. autoclean удаляет только те, которые невозможно скачать (устарели).


Шаг 5: Удалите старые логи и временные файлы

Системные логи могут разрастаться. journalctl управляет логами systemd.

# Очистить логи старше 7 дней (безопасно)
sudo journalctl --vacuum-time=7d

# Или очистить, если логи занимают больше 500 МБ
sudo journalctl --vacuum-size=500M

Временные файлы: Очистка /tmp обычно безопасна, но некоторые программы могут использовать его для текущих данных.

# Удаляем содержимое /tmp (не сам каталог!)
sudo rm -rf /tmp/*

⚠️ Важно: Не удаляйте вручную файлы в /var/log напрямую (rm /var/log/*.log). Используйте journalctl или логиrotate (настроен по умолчанию). Удаление «в лоб» может сломать работающие процессы, которые пишут в эти файлы.


Шаг 6: Проверьте результат

После каждой очистки возвращайтесь к шагу 2 и смотрите, изменилась ли картина.

duf

Если место не освободилось, вернитесь в ncdu и ищите другие большие каталоги. Возможно, дело в пользовательских данных (видео, iso-образы, виртуальные машины).


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

ПроблемаРешение
Permission denied при запуске ncdu /Используйте sudo ncdu / для анализа системных каталогов. Будьте осторожны с удалением!
ncdu показывает мало места, а df говорит об обратномВозможно, удалены файлы, но процесс ещё держит их открытыми дескриптором. Перезагрузите систему или найдите процесс через `lsof
После очистки кэша APT место не освободилосьПроверьте, не запущен ли в фоне unattended-upgrades — он может временно держать кэш.
duf не устанавливается (не найден пакет)В очень старых версиях Ubuntu используйте sudo apt install dfc (альтернатива) или ставьте duf через snap: sudo snap install duf.
Ошибка No space left on device при попытке очисткиДа, ирония. Освободите место вручную, удалив пару крупных файла (например, старый iso), даже если это временное решение.


Дополнительные методы (если основное не помогло)

1. Поиск больших файлов старше N дней

Найдите и удалите гигантские артефакты (например, старые бэкапы):

# Найти файлы больше 100МБ старше 30 дней в /home
find /home -type f -size +100M -mtime +30 -exec ls -lh {} \;

Удаление (только после проверки!):

find /home -type f -size +100M -mtime +30 -delete

2. Анализ inodes (если df показывает свободное место, а писать нельзя)

df -i

Если IUse% близок к 100%, проблема в количестве файлов, а не в размере. Часто причина — миллионы мелких файлов в кэше (например, npm, docker). Очистите соответствующие кэши.

3. Удаление старых ядер (осторожно!)

# Посмотреть установленные ядра
dpkg --list | grep linux-image

# Удалить старые (кроме текущего! Определите текущее через `uname -r`)
sudo apt-get remove linux-image-5.4.0-XX-generic

Никогда не удаляйте последнее/текущее ядро!


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

  1. Запустите duf — процент Use% должен снизиться.
  2. Попробуйте создать тестовый файл большого размера (fallocate -l 1G testfile), чтобы убедиться, что место действительно свободно.
  3. Перезапустите службы, которые падали из-за нехватки диска (например, sudo systemctl restart postgresql), и проверьте их логи.

Заключительные рекомендации

  • Регулярность: Раз в месяц запускайте ncdu /home и sudo ncdu /var.
  • Мониторинг: Установите duf и запускайте его при подозрении на проблемы.
  • Автоматизация: Добавьте в cron (crontab -e) задачу на очистку кэша APT и журналов, но только если уверены в её безопасности.
  • Резервные копии: Перед массовым удалением (особенно через find ... -delete) убедитесь, что важные данные не пострадают.

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

Как безопасно очистить диск в Ubuntu, не удаляя системные файлы?
Какая команда показывает самые большие папки в текущей директории?
Можно ли автоматизировать очистку диска в Ubuntu?
Чем `duf` отличается от стандартной команды `df`?

Полезное

Установите необходимые утилиты
Проверьте общее использование диска
Найдите самые большие каталоги
Очистите кэш пакетного менеджера
Удалите старые логи и временные файлы
Проверьте результат