Перейти к основному содержимому
Управление кэшем

Управление кэшем

к сведению

В рамках apt кэшируются файлы Packages из репозиториев.

  • В /var/lib/apt/lists/ хранятся копии этих файлов и поиск выполняется только по этим копиям.
  • В /var/cache/apt/archives/ хранится кеш уже загруженных пакетов. Это нужно, чтобы не загружать пакеты заново при переустановке приложения после удаления.
Что такое кеш

Кеш (cashe) — это временное хранилище данных, необходимое для быстрого доступа к нужной информации. Кэш актуален, когда доступ к основному хранилищу слишком дорог с точки зрения производительности сети. Этот подход применим в разных сферах — от ядер микропроцессоров до высокопроизводительных системам хранения данных.

Команда apt-cache отображает информацию из внутренней базы данных apt. Эта информация является кешем, так как получена из источников, перечисленных в sources.list. Обновление информации происходит в рамках операции apt update.

Рекомендуем регулярно выполнять apt update для обновления кеша. Тогда последние обновления из репозиториев будут попадать в результаты поиска пакетов.

Подробнее о кеше загруженных пакетов можно узнать в  разделе Установка и обновление пакетов

Возможности apt-cache

Команда apt-cache так же поддерживает следующие возможности:

  • поиск по ключевым словам с помощью apt-cache search запрос,
  • вывод информации о доступной версии пакета с помощью apt-cache show пакет .

Последняя команда отобразит описание пакета, его зависимости, имя мейнтейнера и другую информацию.

Аналогично работают apt search, apt show, aptitude search и aptitude show.

примечание

apt-cache search — устаревший инструмент, делающий grep по описаниям пакетов. Он может возвращать слишком много или мало результатов, в зависимости от количества ключевых слов в запросе.

axi-cache search запрос предоставляет список результатов, отсортированный по релевантности. Этот инструмент использует поисковый движок Xapian и является частью пакета apt-xapian-index. Этот пакет индексирует информацию о всех пакетах (а кроме этого, например, индексируются файлы .desktop из всех пакетов).

Пример вывода axi-cache search
$ axi-cache search package use::searching
axi-cache search package use::searching
13 results found.
Results 1-13:
100% packagesearch - GUI for searching packages and viewing package information
87% debtags - Debian Package Tags support tools
86% whohas - query multiple distributions' package archives
84% recoll - Personal full text search package
82% apt-forktracer - utility for tracking non-official package versions
[..]
66% apt - commandline package manager
More terms: debian dpkg search debtags whohas forktracer dctrl
More tags: role::program admin::package-management suite::debian works-with::software:package interface::commandline scope::utility protocol::http

Есть и другие возможности, например:

  • apt-cache dumpavail показывает заголовки всех доступных версий всех пакетов,
  • apt-cache pkgnames показывает список названий всех пакетов, встречающихся в кеше,
  • apt-cache policy показывает приоритеты и свойства источников пакетов.

Команда apt-cache policy

Команда apt-cache policy отображает приоритеты и свойства для каждого дистрибутива в каждом источнике пакетов (см. Приоритеты источников).

Эта команда может показать приоритеты для всех доступных версий пакета.

Пример вывода команды

$ apt-cache policy
Package files:
100 /var/lib/dpkg/status
release a=now
500 https://stable.see.selectel.ru selectos/contrib amd64 Packages
release v=1.0,o=Debian,a=stable,n=selectos,c=contrib,b=amd64
origin stable.see.selectel.ru
500 https://stable.see.selectel.ru selectos/main amd64 Packages
release v=1.0,o=Debian,a=stable,n=selectos,c=main,b=amd64
origin stable.see.selectel.ru
Pinned packages:

Также apt-cache policy может показывать приоритеты для всех доступных версий конкретного пакета.

$ apt-cache policy limnoria
limnoria:
Installed: 2021.06.15-1
Candidate: 2021.06.15-1
Version table:
2021.07.21-1~bpo11+1 100
100 https://stable.see.selectel.ru bullseye-backports/main amd64 Packages
2021.06.15-1 990
990 https://stable.see.selectel.ru bullseye/main amd64 Packages
100 /var/lib/dpkg/status

В данном примере существует более свежая версия пакета limnoria в репозитории bullseye-backports, но apt не установит её автоматически в соответствии с выставленными приоритетами.

Чтобы установить ее, можно:

  1. Выполнить apt install limnoria/bullseye-backports
Package: limnoria
Pin: release o=Selectos Backports, a=bullseye-backports
Pin-Priority: 1001
  1. Выставить более высокий приоритет в /etc/apt/preferences.d/limnoria.pref:
$ apt-cache policy limnoria
limnoria:
Installed: 2021.06.15-1
Candidate: 2021.07.21-1~bpo11+1
Version table:
2021.07.21-1~bpo11+1 1001
100 https://stable.see.selectel.ru bullseye-backports/main amd64 Packages
*** 2021.06.15-1 990
990 https://stable.see.selectel.ru bullseye/main amd64 Packages
100 /var/lib/dpkg/status