Управление кэшем
В рамках 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 не установит её автоматически в соответствии с выставленными приоритетами.
Чтобы установить ее, можно:
- Выполнить
apt install limnoria/bullseye-backports
Package: limnoria
Pin: release o=Selectos Backports, a=bullseye-backports
Pin-Priority: 1001
- Выставить более высокий приоритет в
/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