|
|||||||
Как узнать список всех пакетов в репозитарии
Время создания: 10.06.2022 15:43
Текстовые метки: linux, deb, debian, репозитарий, пакет, список, apt
Раздел: Компьютер - Linux - Инсталляция программ - Пакетный менеджер APT: apt-get и прочее
Запись: xintrea/mytetra_syncro/master/base/1654865023jadlghyce0/text.html на raw.github.com
|
|||||||
|
|||||||
В DEB-based дистрибутивах имеется несколько способов получения полного списка пакетов, доступных в подключенном репозитарии. Перед тем как получить список пакетов, надо обновить индекс пакетной базы через команду: apt-get update После чего можно генерировать список пакетов в репозитарии. Вариант через dpkg Получение списка пакетов выполняется следующей командой: dpkg --list Недостаток: эта команда покажет только известные dpkg пакеты. А dpkg знает либо о проинсталлированных пакетах, либо знает о ранее инсталлированных, но удаленных в данный момент пакетах (так как такие пакеты "прошли" через dpkg и стали ей известны). Отобразить все пакеты из подключенных репозитариев, dpkg не в состоянии. Например, вот какие пакеты, в именах которых присутствует строка "ieee", покажет dpkg: # dpkg --list | grep ieee ii ieee-data 20160613.1 all OUI and IAB listings ii libieee1284-3:amd64 0.2.11-13 amd64 cross-platform library for parallel port access На деле, с учетом доступных но не проинсталлированных пакетов, список пакетов должен быть гораздо больше (см. далее). Вариант через apt-cache Выяснить, чем кеш пакетов отличается от индекса пакетов, из страниц документации невозможно. В одном месте утверждается, что кеш пакетов - это каталог /var/cache/apt/archives, в котором скапливаются скачанные пакеты. В другом месте утверждается, что кеш - это некая структура, в которой собирается информация о пакетах в подключенных репозитариях, и хранится она в /var/lib/apt/lists. В третьем говорится что эта структура называется пакетным индексом или индексом пакетов. Масла в огонь подливает тот факт, что у команды apt-cache почему-то нет опций очистки кеша. Вместо нее рекомендуют использовать apt-get clean. Поэтому откуда команда управления кешем берет данные не совсем ясно. В любом случае, вывод, который она генерирует, может содержать больше пакетов, чем вывод команды dpkg. И это касается не только различного формата отображения, когда в разных строчках может показываться "обычный" пакет и пакет для конкретной архитектуры. Просто dpkg может вообще не видеть пакеты, которые видит apt-cache. Для вывода списка всех пакетов используется команда: apt-cache search '.*' Недостаток: в списке видны только имя и описание, не видно версии пакета. Список пакетов, которые содержат в именах 'ieee' на той же ОС будет таким: # apt-cache search --names-only '.*ieee.*' libieee1284-3 - cross-platform library for parallel port access ieee-data - OUI and IAB listings grub-ieee1275 - GRand Unified Bootloader, version 2 (Open Firmware version) grub-ieee1275-bin - GRand Unified Bootloader, version 2 (Open Firmware binaries) libieee1284-3-dev - cross-platform library for parallel port access [development files] python-ieee1284 - Python bindings to libieee1284 Вариант через aptitude Существование утилиты aptitude оправдано как минимум тем, что она может показать даже те пакеты, которые не показываются через dpkg и apt-cache. Показать весь список пакетов можно командой: aptitude search '.*' Список пакетов в aptitude, которые содержат в именах 'ieee', на той же ОС будет таким: # aptitude search 'ieee' p grub-ieee1275 - GRand Unified Bootloader, version 2 (Open Firmware version) p grub-ieee1275-bin - GRand Unified Bootloader, version 2 (Open Firmware binaries) i A ieee-data - OUI and IAB listings i A libieee1284-3 - cross-platform library for parallel port access v libieee1284-3:i386 - p libieee1284-3-dev - cross-platform library for parallel port access [development files] v libieee1284-3-dev:i386 - v libieee1284-3-dev:i386 - v libieee1284-3:i386 - p python-ieee1284 - Python bindings to libieee1284 v python2.7-ieee1284 Здесь видно, что имеется пакет python2.7-ieee1284, который по каким-то причинам не видят программы dpkg и apt-chache. Управление пакетами в Linux - это особая магия, так как следует учитывать, что те инструменты, которые предназначены для управления пакетной базой дистрибутива, ведут себя далеко не всегда адекватно. |
|||||||
Так же в этом разделе:
|
|||||||
|
|||||||
|