Linux

Очистка диска в Ubuntu: как освободить место за 10 минут

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

Обновлено 15 февраля 2026 г.
10-15 мин
Низкая
FixPedia Team
Применимо к:Ubuntu 20.04Ubuntu 22.04Ubuntu 24.04

Введение

С течением времени в Ubuntu накапливаются временные файлы, кэши пакетов, старые версии ядер и логи, которые могут занимать десятки гигабайт. Эта инструкция поможет вам безопасно очистить диск, вернуть место и поддерживать систему в порядке. Мы рассмотрим встроенные утилиты и проверенные методы, работающие на актуальных версиях Ubuntu (20.04, 22.04, 24.04).

Требования

  • Доступ к терминалу (Ctrl+Alt+T или SSH).
  • Права суперпользователя (sudo) для большинства команд.
  • Рекомендация: Создайте резервную копию важных данных перед массовым удалением.

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

Перед очисткой определите, какие разделы заполнены. Выполните:

df -h

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

Файл.система Размер Использовано Доступно Использовано% Смонтировано в
/dev/sda1       50G       45G     3,1G        94% /
/dev/sda2      100G       12G       88G        12% /home
  • Использовано% показывает заполненность. Если значение близко к 100%, срочно нужна очистка.
  • Для анализа конкретных папок (например, /var или /home) используйте:
    sudo du -sh /var/* | sort -rh | head -20
    
    Это покажет 20 самых больших подкаталогов в /var.

Шаг 2: Очистка кэша APT

APT хранит скачанные пакеты в /var/cache/apt/archives/. Они часто занимают сотни мегабайт.

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

sudo apt-get clean

Удалит все файлы пакетов из кэша.

Очистка только устаревших пакетов (без удаления актуальных):

sudo apt-get autoclean

Дополнительно: Удалите зависимости, установленные автоматически и больше не нужные:

sudo apt-get autoremove --purge

⚠️ Важно: autoremove может удалить пакеты, которые вы установили вручную, если они были установлены как зависимости. Просмотрите список перед подтверждением.

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

Каждое обновление ядра оставляет старый образ (по 200–500 МБ каждый). Оставьте минимум два ядра: текущее и одно запасное.

  1. Узнайте текущее ядро:
    uname -r
    

    Пример: 5.15.0-86-generic.
  2. Просмотрите установленные ядра:
    dpkg --list 'linux-image*' | grep ^ii
    
  3. Удалите старые ядра (например, 5.15.0-78-generic):
    sudo apt-get remove --purge linux-image-5.15.0-78-generic linux-headers-5.15.0-78-generic
    

    💡 Совет: Не удаляйте ядро, соответствующее uname -r. Можно оставить еще одно старое для отката.

  4. Обновите загрузчик (если GRUB не обновился автоматически):
    sudo update-grub
    

Шаг 4: Очистка системных журналов

Systemd хранит логи в /var/log/journal/. Они могут разрастаться.

Очистка старых журналов (оставить за последние 3 дня):

sudo journalctl --vacuum-time=3d

Очистка по размеру (оставить не более 100 МБ):

sudo journalctl --vacuum-size=100M

Постоянное ограничение: Отредактируйте /etc/systemd/journald.conf:

[Journal]
SystemMaxUse=100M

Затем перезапустите службу:

sudo systemctl restart systemd-journald

Шаг 5: Очистка временных файлов

5.1. Системные временные файлы (/tmp)

# Удалить файлы в /tmp, не использовавшиеся 10 дней
sudo find /tmp -type f -atime +10 -delete
# Удалить пустые каталоги (опционально)
sudo find /tmp -type d -empty -delete

5.2. Кэши пользовательских приложений

  • Flatpak: flatpak uninstall --unused
  • Snap: sudo snap set system refresh.retain=2 (оставить 2 последних версии) и sudo snap remove <old-snap>
  • Браузеры: Очистите кэш через настройки браузера или удалите папки ~/.cache/chromium/, ~/.cache/mozilla/.

Шаг 6: Поиск и удаление больших файлов

6.1. Использование find

Найдите файлы больше 100 МБ во всей системе (может занять время):

sudo find / -type f -size +100M -exec ls -lh {} \; 2>/dev/null | awk '{print $5, $9}'

Проверьте список и удалите ненужные вручную.

6.2. Использование ncdu (рекомендуется)

Установите интерактивный анализатор:

sudo apt-get install ncdu

Запустите для анализа домашней папки:

ncdu ~

Или для корня (требует sudo):

sudo ncdu /

Навигация: стрелки для выбора, d для удаления файла/папки, q для выхода.

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

  1. Снова выполните df -h и сравните значения Использовано% с первоначальными.
  2. Для быстрой проверки свободного места:
    free -h
    
    (но free показывает RAM, а не диск; для диска используйте df).
  3. Если место не освободилось полностью, проверьте, не используются ли удалённые файлы процессами (редко, но бывает):
    sudo lsof | grep deleted
    
    Перезапустите соответствующие процессы или перезагрузите систему.

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

❌ "No space left on device" при выполнении команд

  • Причина: Недостаточно места для временных файлов операции.
  • Решение: Вручную удалите самый большой файл (например, старый лог или дамп) из /var/log или домашней папки. Используйте ncdu для поиска.

❌ Удаление важного файла/ядра

  • Причина: Ошибка вручную или autoremove удалил нужный пакет.
  • Решение: Восстановите из бэкапа или переустановите пакет (sudo apt-get install linux-image-<current>). Для ядер можно загрузиться в старом ядре из GRUB и восстановить.

❌ Ошибки доступа при очистке /tmp или кэшей

  • Причина: Запуск без sudo или файлы заблокированы процессами.
  • Решение: Используйте sudo для системных папок. Для пользовательских кэшей — работайте от своего пользователя без sudo.

❌ Очистка не дала ожидаемого эффекта

  • Причина: Большие файлы скрыты в других местах (например, в /var/lib/docker для Docker, ~/snap для Snap).
  • Решение: Анализируйте с помощью ncdu или du конкретные подкаталоги. Для Docker: docker system prune -a (осторожно, удалит все неиспользуемые образы и контейнеры).

❌ Система не загружается после удаления ядер

  • Причина: Удалено текущее и единственное рабочее ядро.
  • Решение: Загрузитесь из救援-режима (Recovery Mode) через GRUB и переустановите ядро:
    sudo apt-get install linux-image-generic
    sudo update-grub
    

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

Как проверить, сколько места занято на диске в Ubuntu?
Безопасно ли удалять файлы из /tmp вручную?
Что делать, если место не освобождается после очистки кэша APT?
Как автоматизировать очистку диска в Ubuntu?

Полезное

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

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

Похожее

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

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

Очистка кэша apt в Ubuntu: освободите место и ускорьте систему

Этот гайд подробно объясняет, как safely очистить кэш пакетного менеджера apt в Ubuntu, удалить неиспользуемые зависимости и поддерживать систему в оптимальном состоянии без риска для установленного ПО.

Ошибка 'No space left on device' в Linux: причины и решение

В этой статье вы узнаете, как диагностировать и устранить ошибку 'No space left on device' (ENOSPC) в Linux. Мы рассмотрим конкретные команды для анализа дискового пространства, способы безопасной очистки и настройку профилактики.