LinuxНизкая

Очистка кэша APT в Ubuntu: полное руководство

Кэш пакетного менеджера APT в Ubuntu может занимать гигабайты места. В этом гайде вы узнаете, как безопасно очистить кэш, освободить место на диске и настроить автоматическую поддержку чистоты системы.

Обновлено 16 февраля 2026 г.
5-10 мин
Низкая
FixPedia Team
Применимо к:Ubuntu 20.04 LTSUbuntu 22.04 LTSUbuntu 24.04 LTSDebian и производные

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

Пакетный менеджер APT (Advanced Package Tool) в Ubuntu и других дистрибутивах на его основе хранит в специальной папке /var/cache/apt/ все скачанные установочные файлы пакетов (файлы .deb). Этот кэш пригождается при переустановке пакетов или обновлении системы — не нужно каждый раз качать одни и те же файлы из интернета.

Однако со временем кэш может вырасти до нескольких гигабайт, особенно на системах, часто обновляющих ПО. Очистка кэша — это простой и безопасный способ освободить место на системном разделе (часто это / или /var), что особенно актуально для SSD с ограниченным объёмом или виртуальных машин.

Этот гайд покажет, как правильно очистить кэш APT, не повредив системе, и как настроить автоматическую поддержку чистоты.

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

Перед началом убедитесь, что:

  • У вас есть доступ к учётной записи с правами sudo (администратора).
  • Вы работаете в терминале (Ctrl+Alt+T или через SSH).
  • У вас установлен стандартный менеджер пакетов APT (есть по умолчанию во всех официальных flavours Ubuntu).
  • Рекомендуется иметь стабильное интернет-соединение на случай, если после очистки вам потребуется заново скачать метаданные (apt update) или пакеты.

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

Шаг 1: Проверьте текущий размер кэша APT

Сначала оценим, сколько места занимает кэш. Это поможет понять масштаб проблемы.

sudo du -sh /var/cache/apt/

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

1,2G    /var/cache/apt/

В данном случае кэш занимает 1,2 гигабайта. Если вывод показывает 0 или несколько килобайт, очистка может не понадобиться.

Шаг 2: Очистите кэш полностью (apt clean)

Эта команда удаляет все без исключения файлы из папок кэша (/var/cache/apt/archives/ и /var/cache/apt/archives/partial/).

sudo apt clean

Что происходит:

  • Система запрашивает ваш пароль sudo.
  • Все скачанные .deb-пакеты безвозвратно удаляются.
  • После этого папка /var/cache/apt/archives/ будет пустой (или содержать только служебные lock-файлы).

⚠️ Важно: После apt clean при переустановке любого пакета его установочный файл будет загружаться заново из репозиториев. Это не сломает систему, но увеличит трафик при следующих операциях.

Шаг 3: Очистите только устаревшие пакеты (apt autoclean) — альтернативный вариант

Если вы хотите сохранить возможность быстрой переустановки последних версий пакетов без их повторной загрузки, используйте более щадящий метод.

sudo apt autoclean

Что происходит:

  • APT анализирует кэш и сравнивает список имеющихся .deb-файлов с актуальным списком пакетов в репозиториях.
  • Удаляются только те файлы, которые больше не представлены в репозиториях (например, старые версии, заменённые на новые).
  • Самые свежие версии пакетов остаются в кэше.

Это хороший компромисс между свободой места и удобством.

Шаг 4: Проверьте результат очистки

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

sudo du -sh /var/cache/apt/

Ожидаемый вывод после clean или autoclean:

12K    /var/cache/apt/

Если размер не изменился, возможно, кэш уже был пуст или вы работали в системе, которая только что была обновлена и кэш ещё не наполнился.

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

  1. Размер на диске: Выполните команду из шага 4 и убедитесь, что размер папки /var/cache/apt/ резко уменьшился.
  2. Работоспособность APT: Проверьте, что менеджер пакетов жив. Обновите список пакетов:
    sudo apt update
    
    Ошибок быть не должно. Если команда отработала успешно, система в порядке.
  3. Свободное место: Посмотрите, сколько места освободилось на системном разделе (обычно /):
    df -h /
    
    Сравните значение Available до и после очистки.

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

  • E: Could not open lock file /var/lib/dpkg/lock-frontend
    Причина: Другой процесс (например, apt или unattended-upgrades) уже использует APT.
    Решение: Дождитесь завершения фоновых обновлений или завершите процесс sudo killall apt apt-get.
  • Кэш не очищается, размер не меняется
    Причина: Кэш уже пуст, или вы неправильно указали путь.
    Решение: Проверьте, что выполняете команды с sudo. Вручную посмотрите содержимое: ls -la /var/cache/apt/archives/.
  • После очистки apt update стал медленнее
    Причина: Это нормально. При первом запуске после clean APT загружает все метаданные репозиториев заново. Последующие вызовы будут работать с кэшем метаданных и будут быстрыми.
  • Ошибка доступа к /var/cache/apt/ без sudo
    Причина: Эта папка принадлежит root и требует повышенных прав.
    Решение: Всегда используйте sudo для команд apt clean и apt autoclean.

Дополнительные советы и автоматизация

Для поддержания системы в чистоте рекомендуется периодически (раз в месяц) выполнять sudo apt autoclean. Если вы уверены, что никогда не будете переустанавливать старые пакеты, можно использовать sudo apt clean раз в квартал.

Настройка автоматической очистки

  1. Через unattended-upgrades (если установлен): Откройте конфиг /etc/apt/apt.conf.d/50unattended-upgrades и найдите строку //Unattended-Upgrade::Remove-Unused-Kernel-Programming "false";. Рядом добавьте:
    APT::Clean-Installed "true";
    

    Это автоматически удалит устаревшие пакеты после каждого автоматического обновления.
  2. Через cron (простой вариант): Добавьте задание в crontab (sudo crontab -e):
    0 4 * * 0 /usr/bin/apt autoclean -y
    

    Эта задача будет выполняться каждое воскресенье в 4:00 утра.
  3. Для серверов без unattended-upgrades: Создайте скрипт /usr/local/bin/apt-cache-clean.sh:
    #!/bin/bash
    apt autoclean -y
    

    Дайте права sudo chmod +x /usr/local/bin/apt-cache-clean.sh и добавьте в cron.

Важно: Не настраивайте apt clean в cron на частое выполнение (например, ежедневно), так как это может привести к ненужной загрузке пакетов при частых обновлениях.

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

Чем отличается apt clean от apt autoclean?
Безопасно ли удалять кэш? Не сломает ли это систему?
Как настроить автоматическую очистку кэша APT?
Почему после очистки кэша apt update стал работать медленнее?

Полезное

Проверьте текущий размер кэша APT
Очистите кэш полностью (apt clean)
Очистите только устаревшие пакеты (apt autoclean)
Проверьте результат очистки