Гид по технологиям

Очистка кэша pacman в Arch Linux

4 min read Linux Обновлено 26 Dec 2025
Очистка кэша pacman в Arch Linux
Очистка кэша pacman в Arch Linux

Иллюстрация: очистка кэша pacman в Arch Linux

Если при запуске обновления через sudo pacman -Syu вы видите ошибку о нехватке места, скорее всего виноват кэш пакетов. Arch хранит загруженные пакеты в каталоге /var/cache/pacman/pkg/, включая все версии при обновлениях. Это удобно для отката, но со временем занимает много места.

Что произошло с дисковым пространством?

Arch сохраняет каждый скачанный пакет в /var/cache/pacman/pkg/. После обновления старая версия остаётся в кэше. На rolling-release дистрибутивах это удобно: если обновление ломает программу, можно быстро установить старую версию из кэша. Но при ограниченном объёме диска накопление версий приводит к проблемам.

Проверьте текущий размер кэша командой:

du -sh /var/cache/pacman/pkg

Также можно просмотреть список файлов:

ls -lh /var/cache/pacman/pkg | less

Важно: не путайте кэш пакетов с системными логами или большими данными в /var/lib или /home. Всегда сначала проанализируйте, кто именно занимает место.

Как очистить кэш пакетов в Arch Linux

pacman предоставляет простые команды для удаления кэша.

Удалить из кэша пакеты, которые в системе в текущий момент не установлены:

sudo pacman -Sc

Удалить весь кэш пакетов полностью:

sudo pacman -Scc

Примечание: pacman -Sc сохраняет в кэше версии, соответствующие текущим установленным пакетам. pacman -Scc делает «всё или ничего» и удаляет все файлы кэша. Это может затруднить откат к предыдущим версиям.

Утилита paccache: гибкое управление кэшем

pacman-contrib включает утилиту paccache, которая обычно лучше подходит для повседневного обслуживания: она сохраняет несколько последних версий пакета и удаляет старые.

Установка pacman-contrib:

sudo pacman -S pacman-contrib

Удалить из кэша все версии, кроме трёх последних, можно командой:

sudo paccache -r

Если нужно сохранить ровно N последних версий, используйте ключ -k:

sudo paccache -rk1

Это оставит только самую последнюю версию каждого пакета. Комбинация paccache удобна для балансирования между безопасностью отката и свободным местом.

Как откатиться на старую версию пакета

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

sudo pacman -U /var/cache/pacman/pkg/имя-пакета-версия.pkg.tar.zst

Убедитесь, что вы выбираете правильный файл и проверяете зависимости. Откат может потребовать блокировки версии в pacman.conf, если вы не хотите, чтобы пакет обновлялся автоматически.

Автоматизация: systemd-таймер для регулярной зачистки

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

Файл /etc/systemd/system/paccache.service:

[Unit]
Description=Очистка кэша pacman с помощью paccache

[Service]
Type=oneshot
ExecStart=/usr/bin/paccache -r

Файл /etc/systemd/system/paccache.timer:

[Unit]
Description=Запуск paccache еженедельно

[Timer]
OnCalendar=weekly
Persistent=true

[Install]
WantedBy=timers.target

Активируйте таймер:

sudo systemctl daemon-reload
sudo systemctl enable --now paccache.timer

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

Когда очистка кэша не поможет

Важно понимать, что удаление кэша освобождает место только если именно кэш занимал пространство. Если дело в логах, бэкапах или других больших файлах, очистка pacman ничего не изменит. Проверьте общий разбор диска командой:

sudo du -xh / | sort -rh | head -n 30

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

Риски и рекомендации

Важно:

  • Не удаляйте кэш, если вы планируете немедленный откат после обновления.
  • Перед массовым удалением проверьте, какие версии будут удалены.
  • Делайте резервные копии конфигураций, если откат может затронуть несовместимые изменения в файлах конфигурации.

Советы:

  • Для десктопа достаточно оставлять 1–3 версии.
  • Для серверов с критичными приложениями оставляйте больше версий и применяйте автоматические тесты перед обновлением.

Чек-лист перед очисткой

  • Проверить размер кэша: du -sh /var/cache/pacman/pkg
  • Просмотреть файлы в кэше: ls -lh /var/cache/pacman/pkg
  • Решить стратегию: полная очистка или оставить N версий
  • Выполнить paccache или pacman
  • Проверить свободное место: df -h
  • При необходимости выполнить откат: sudo pacman -U /var/cache/pacman/pkg/…

Сводка

Очистка кэша pacman помогает вернуть место на диске, но делает это ценой потери удобного отката. Для регулярного обслуживания лучше использовать paccache из pacman-contrib и автоматизировать запуск через systemd-таймер. Всегда проверяйте, что именно занимает место, прежде чем удалять данные.

Ключевые команды-снапшот:

du -sh /var/cache/pacman/pkg
sudo pacman -Sc
sudo pacman -Scc
sudo pacman -S pacman-contrib
sudo paccache -r
sudo paccache -rk1
sudo pacman -U /var/cache/pacman/pkg/имя-пакета-версия.pkg.tar.zst

Критерии приёмки

  • После очистки место на диске увеличилось на ожидаемую величину.
  • Не потеряна возможность отката для пакетов, которые должны быть сохранены.
  • Запланированная автоматическая зачистка работает без ошибок.

Примечание: если вы только знакомитесь с Arch, рассмотрите возможность установки через guided installer, чтобы избежать ошибок при начальной настройке и управлении системой.

Сводка ключевых выводов:

  • Кэш пакетов в /var/cache/pacman/pkg может занимать значительное место.
  • pacman обеспечивает базовую зачистку, но paccache даёт тонкий контроль.
  • Автоматизация через systemd облегчает обслуживание.
  • Всегда проверяйте содержимое кэша и имейте план отката.
Поделиться: X/Twitter Facebook LinkedIn Telegram
Автор
Редакция

Похожие материалы

RDP: полный гид по настройке и безопасности
Инфраструктура

RDP: полный гид по настройке и безопасности

Android как клавиатура и трекпад для Windows
Гайды

Android как клавиатура и трекпад для Windows

Советы и приёмы для работы с PDF
Документы

Советы и приёмы для работы с PDF

Calibration в Lightroom Classic: как и когда использовать
Фото

Calibration в Lightroom Classic: как и когда использовать

Отключить Siri Suggestions на iPhone
iOS

Отключить Siri Suggestions на iPhone

Рисование таблиц в Microsoft Word — руководство
Office

Рисование таблиц в Microsoft Word — руководство