Введение / Зачем это нужно
Пакетный менеджер apt в Ubuntu и Debian-системах хранит в кэше все загруженные .deb-файлы в директории /var/cache/apt/. Со временем этот кэш может вырасти до нескольких гигабайт, особенно на системах, где часто обновляются или устанавливаются новые программы.
Регулярная очистка кэша apt даёт три главных преимущества:
- Освобождение места на диске — критично для систем с SSD небольшого объёма или виртуальных машин.
- Ускорение работы
apt update— менеджер тратит меньше времени на обработку устаревших метаданных. - Поддержание чистоты системы — предотвращает накопление «мусора» от удалённых пакетов.
Этот гайд покажет, как безопасно выполнить очистку, не повредив установленному ПО.
Требования / Подготовка
Перед началом убедитесь, что:
- У вас установлен Ubuntu (или производная система, например Linux Mint) версии 20.04 или новее, либо Debian 11/12.
- У вас есть доступ к терминалу.
- Для выполнения команд требуется права суперпользователя (sudo). Если у вас нет sudo-прав, обратитесь к администратору.
- Рекомендуется: Создайте точку восстановления системы (snapshot) или убедитесь, что у вас есть актуальный бэкап важных данных, хотя очистка кэшаAPT не затрагивает пользовательские файлы.
Пошаговая инструкция
Шаг 1: Проверка текущего размера кэша apt
Всегда начните с оценки. Откройте терминал (Ctrl+Alt+T) и выполните команду:
sudo du -sh /var/cache/apt/
Пример вывода:
1.2G /var/cache/apt/
Это значит, что кэш занимает 1.2 гигабайта. Если значение меньше 100 МБ, очистка может быть не столь критична.
Шаг 2: Очистка всего кэша apt (полная)
Команда apt-get clean удалит все файлы из кэша, включая актуальные версии пакетов.
sudo apt-get clean
После выполнения проверьте размер каталога снова (sudo du -sh /var/cache/apt/). Он должен быть близок к 0.
⚠️ Важно: После этой операции для переустановки любого пакета потребуется его полная загрузка из репозиториев. Если у вас медленный или лимитированный интернет, рассмотрите вариант
autoclean(шаг 3).
Шаг 3: Очистка устаревших файлов кэша (безопасная)
Команда apt-get autoclean удаляет только те файлы пакетов, которые больше недоступны в репозиториях (например, старые версии, заменённые на новые). Актуальные пакеты остаются в кэше.
sudo apt-get autoclean
Это более аккуратный подход, который сохраняет кэш для быстрой переустановки актуальных версий ПО.
Шаг 4: Удаление неиспользуемых зависимостей
Когда вы удаляете программу через apt remove, её зависимости (библиотеки и т.д.) часто остаются в системе. Команда autoremove находит и удаляет такие «осиротевшие» пакеты.
# Сначала покажите, что будет удалено (без подтверждения)
sudo apt-get autoremove --dry-run
# Если список вас устраивает, выполните реальное удаление
sudo apt-get autoremove
Для ещё более глубокой очистки (удаление и конфигурационных файлов) используйте:
sudo apt-get autoremove --purge
💡 Совет: Всегда внимательно читайте список пакетов перед подтверждением. Иногда
autoremoveможет предложить удалить пакет, который вы используете вручную (например,python3), если он был установлен как зависимость другого.
Шаг 5: Дополнительная ручная очистка (опционально)
Если после autoremove вы видите в списке установленных пакеты ( apt list --installed ) что-то ненужное, удалите точечно:
# Поиск пакета по ключевому слову
apt list --installed | grep -i "не_нужно_название"
# Удаление конкретного пакета
sudo apt-get remove --purge имя_пакета
Проверка результата
- Проверьте освободившееся место:
sudo du -sh /var/cache/apt/
Значение должно быть значительно меньше первоначального. - Проверьте общий свободный место на системном разделе:
df -h /
Сравните значениеAvailableдо и после операций. - Убедитесь, что система работает стабильно:
Попробуйте установить небольшой пакет (например,
curl):sudo apt-get update sudo apt-get install curl
Если установка прошла без ошибок — всё в порядке.
Возможные проблемы
Ошибка «Недостаточно места на диске» при выполнении команд
Если место на / настолько мало, что даже apt не может работать, попробуйте:
- Вручную удалить самые большие файлы из
/var/cache/apt/(еслиcleanне сработал). - Очистить другие каталоги:
/tmp, старые логи в/var/log/, переместить или удалить большие пользовательские файлы.
autoremove предлагает удалить нужный пакет
- Решение: Откажитесь от выполнения (
Nпри подтверждении). Найдите, какой установленный пакет зависит от этого:apt rdepends <имя_пакета>. Если пакет действительно нужен, установите его явно:sudo apt-get install <имя_пакета>. После этого он перестанет считаться «неиспользуемым».
Кэш не очищается полностью
Убедитесь, что вы используете sudo. Также проверьте, нет ли процессов, которые используют файлы в /var/cache/apt/ (например, фоновый apt-daily). В этом случае завершите процесс или перезагрузите систему.
После очистки apt-get update стал медленнее
Это временное явление: при первом запуске update нужно заново скачать индекс пакетов. В последующих запусках скорость вернётся к норме, так как метаданные кэшируются в памяти.
Продвинутый вариант: настройка автоматической очистки
Для серверов и стационарных рабочих станций можно настроить автоматическую очистку через cron. Откройте crontab для редактирования:
sudo crontab -e
Добавьте строку (например, для ежедневной очистки в 3 часа ночи):
0 3 * * * /usr/bin/apt-get autoclean && /usr/bin/apt-get autoremove -y
⚠️ Предупреждение: Автоматический
autoremoveможет привести к удалению важных пакетов после обновлений системы. Начинайте с тестового периода, заменивautoremoveнаautoremove --dry-runи анализируя логи.
Заключение
Очистка кэша apt — это простая, но важная процедура обслуживания Ubuntu/Debian. Выполняя её периодически (раз в месяц или после крупных обновлений), вы:
- Освобождаете драгоценные гигабайты на системном разделе.
- Ускоряете работу пакетного менеджера.
- Снижаете риски ошибок из-за нехватки места.
Используйте apt-get clean для максимального эффекта или apt-get autoclean для более аккуратной очистки, а autoremove — для удаления мусора от зависимостей. Регулярный уход за системой — залог её стабильности и быстрой работы.