Linux

Освобождаем место в Linux: полная очистка диска и анализ

Практический гайд по поиску и удалению лишних данных в Linux для освобождения места на диске. Вы научитесь находить «тяжёлые» файлы, чистить пакеты и кэши без риска для системы.

Обновлено 28 апреля 2026 г.
15-30 мин
Средняя
FixPedia Team
Применимо к:Ubuntu 22.04/24.04 LTSDebian 11/12Fedora 38+Linux Mint 21+

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

Со временем любая Linux-система накапливает кэши, старые ядра, логи и временные файлы. Это замедляет работу и может привести к сбоям, если закончится место на корневом разделе. В этом гайде вы узнаете, как найти «тяжёлые» объекты и безопасно их удалить, освободив диск без риска для стабильности системы.

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

  • Пользователь с правами sudo.
  • Основные утилиты: ncdu, du, apt, journalctl. При необходимости установите их через пакетный менеджер.
  • Убедитесь, что у вас есть актуальная резервная копия важных данных перед удалением системных компонентов.

Шаг 1: Анализ занятого места

Начните с поиска самых больших директорий. Это сэкономит время и предотвратит случайное удаление нужных данных.

# Установите ncdu, если её нет
sudo apt install ncdu -y

# Пройдитесь по корню в интерактивном режиме
sudo ncdu /

Альтернатива для быстрой оценки:

sudo du -sh /* 2>/dev/null | sort -h

Обратите внимание на /var, /home, /snap и /usr. Именно там чаще всего скапливается лишний вес.

Шаг 2: Очистка кэша пакетов

Установленные, но уже ненужные пакеты и их зависимости могут занимать сотни мегабайт.

# Удалить скачанные deb-файлы
sudo apt clean

# Удалить автоматически установленные, но больше не нужные пакеты
sudo apt autoremove --purge

💡 Совет: Команда apt clean безопасна — при необходимости пакеты скачаются заново из репозиториев.

Шаг 3: Удаление старых ядер

Оставьте текущее ядро и одно предыдущее для отката. Удаление остальных освободит заметное место.

# Узнать загруженное ядро
uname -r

# Список установленных ядер
dpkg --list | grep linux-image
dpkg --list | grep linux-headers

Удалите старые версии (замените x.x.x-xx на реальные версии, которые хотите удалить):

sudo apt purge linux-image-x.x.x-xx-generic linux-headers-x.x.x-xx-generic
sudo apt autoremove --purge

⚠️ Важно: Не удаляйте текущее ядро и не удаляйте все предыдущие — оставьте хотя бы одно запасное.

Шаг 4: Ротация и очистка логов

Системные журналы могут разрастаться до гигабайт, особенно если какие-то сервисы пишут ошибки в цикле.

# Обрезать системные журналы до заданного размера
sudo journalctl --vacuum-size=500M

# Проверить настройки logrotate
cat /etc/logrotate.conf
ls /etc/logrotate.d/

Для очень больших логов можно принудительно ротировать конкретный файл:

sudo logrotate -f /etc/logrotate.d/rsyslog

Шаг 5: Управление снапшотами и контейнерами

Инструменты вроде Timeshift или Snapper могут хранить десятки снапшотов, а Docker — неиспользуемые образы и тома.

# Удалить неиспользуемые данные Docker (образы, контейнеры, сети, кэш)
sudo docker system prune -a

# Для снапшотов используйте графические утилиты или консольные команды
# Пример для Snapper (проверьте свой профиль)
sudo snapper list
sudo snapper delete <номер>

Регулярно уменьшайте количество хранимых снапшотов в настройках программ резервного копирования.

Шаг 6: Периодическое обслуживание

Настройте автоматическую очистку, чтобы проблема не возвращалась.

# Включить TRIM для SSD (еженедельно)
sudo systemctl enable fstrim.timer
sudo systemctl start fstrim.timer

# Настроить очистку /tmp через systemd-tmpfiles
cat /etc/tmpfiles.d/tmp.conf
sudo systemd-tmpfiles --clean

Добавьте в cron или пользовательские systemd-таймеры регулярный вызов apt autoremove и journalctl --vacuum-size, если это соответствует вашей политике обслуживания.

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

Убедитесь, что место действительно освободилось:

df -h /
ncdu /

Проверьте, нет ли резких скачков в логах:

sudo journalctl -p 3 -xb

Если занятое место снова быстро растёт, используйте iotop или lsof +L1, чтобы найти процессы, интенсивно пишущие на диск.

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

  • Ошибки при удалении пакетов — могут возникнуть, если нарушены зависимости. Попробуйте sudo apt --fix-broken install перед повторной очисткой.
  • Невозможно удалить файл, так как занят процессом — найдите процесс через lsof /путь/к/файлу и завершите его, если это безопасно.
  • Слишком большой размер /var/log даже после очистки — проверьте, не пишет ли какой-то сервис дампы или логи отладки. Настройте лимиты в logrotate или отключите избыточное логирование в конфигурации сервиса.

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

Безопасно ли удалять старые ядра и как оставить запасной вариант?
Почему очистка apt не высвобождает много места и что делать дальше?
Можно ли автоматизировать очистку логов и кэшей?
Что делать, если место забивается снова быстро?

Полезное

Анализ занятого места
Очистка кэша пакетов
Удаление старых ядер
Ротация и очистка логов
Управление снапшотами и контейнерами
Периодическое обслуживание

Эта статья помогла вам решить проблему?