Debian: найти репозиторий, из которого был установлен пакет

652
koudougou

На устаревшей машине Debian с множеством разных репозиториев источников в /etc/apt/sources.list.d/ я хочу найти для каждого установленного пакета, из какого репозитория он был установлен. Я хочу написать сценарий вывода политики apt-cache, но прежде чем я должен более четко понять этот вывод.

Я нашел вещи, которые я не знаю, как интерпретировать:

# apt-cache policy apache2 apache2: Installed: 2.2.22-13+deb7u8 Candidate: 2.2.22-13+deb7u12 Version table: 2.2.22-13+deb7u12 0 500 http://security.debian.org/ wheezy/updates/main amd64 Packages *** 2.2.22-13+deb7u8 0 100 /var/lib/dpkg/status 2.2.22-13+deb7u6 0 500 http://cloudfront.debian.net/debian/ wheezy/main amd64 Packages 

Означает ли это, что текущая установленная версия (с ***) была установлена ​​из / var / lib / dpkg / status ? Означает ли это что-то установить из / var / lib / dpkg / status ?

В примерах, которые я могу найти в похожих темах, если раздел, помеченный ***, имеет строку с / var / lib / dpkg / status priority 100, он также имеет еще одну строку с http-репо и priority 500, и я полагаю, что это означает что пакет был установлен из этого приоритета 500 репо.

Но в моем случае, из какого репозитория был установлен пакет apache2? Поскольку мы видим, что предложена новая версия (repo security.debian.org), означает ли это, что пакет был установлен из этого репозитория, но поскольку имеется доступное обновление, строка была удалена из раздела *** и вот почему есть только одна строка с / var / lib / dpkg / status ?

Или, может быть, эта единственная строка с репозиторием / var / lib / dpkg / status означает, что он был установлен из репозитория, который был удален из файлов sources.list.d?

Изменить (для первого комментария этого поста):

 # apt-cache showpkg apache2 Package: apache2  Versions:  2.2.22-13+deb7u12 (/var/lib/apt/lists/security.debian.org_dists_wheezy_updates_main_binary-amd64_Packages) Description Language:  File: /var/lib/apt/lists/cloudfront.debian.net_debian_dists_wheezy_main_binary-amd64_Packages MD5: d24f049cd70ccfc178dd8974e4b1ed01 Description Language: en File: /var/lib/apt/lists/cloudfront.debian.net_debian_dists_wheezy_main_i18n_Translation-en MD5: d24f049cd70ccfc178dd8974e4b1ed01  2.2.22-13+deb7u8 (/var/lib/dpkg/status) Description Language:  File: /var/lib/apt/lists/cloudfront.debian.net_debian_dists_wheezy_main_binary-amd64_Packages MD5: d24f049cd70ccfc178dd8974e4b1ed01 Description Language: en File: /var/lib/apt/lists/cloudfront.debian.net_debian_dists_wheezy_main_i18n_Translation-en MD5: d24f049cd70ccfc178dd8974e4b1ed01  2.2.22-13+deb7u6 (/var/lib/apt/lists/cloudfront.debian.net_debian_dists_wheezy_main_binary-amd64_Packages) Description Language:  File: /var/lib/apt/lists/cloudfront.debian.net_debian_dists_wheezy_main_binary-amd64_Packages MD5: d24f049cd70ccfc178dd8974e4b1ed01 Description Language: en File: /var/lib/apt/lists/cloudfront.debian.net_debian_dists_wheezy_main_i18n_Translation-en MD5: d24f049cd70ccfc178dd8974e4b1ed01 

Этот вывод меня просто смущает: имя репо вместе с версией не совпадает с именем репо в разделе «Файл».

3
связанные: https://superuser.com/questions/106794/how-to-tell-from-what-ubuntu-or-debian-repository-a-package-comes mcalex 6 лет назад 0
Большая часть этой статьи рассказывает о пакетах, которые еще не установлены, и я хочу узнать, какие пакеты уже установлены. Тем не менее я попытался получить информацию с помощью команды (apt-cache showpkg) в теме и отредактировать свой пост, чтобы получить вывод. Это просто добавляет путаницу (см. Примечание после вывода). koudougou 6 лет назад 0
Я не знаю, что данные рядом с номером версии имеют значение. Согласно полученному ответу по этой ссылке, строка `File:` содержит репозиторий. Если вы прокрутите по горизонтали до конца вывода gotgenes, вы увидите, что есть две версии переименования, а затем бит «... dpkg / status», как на вашем выводе. Я предлагаю [`man apt-cache`] (https://linux.die.net/man/8/apt-cache) mcalex 6 лет назад 0
Конечно, как [Ask Ubuntu] (https://askubuntu.com/questions/8560/how-do-i-find-out-which-repository-a-package-comes-from), так и [Unix & Linux] (https://unix.stackexchange.com/questions/177620/find-source-of-all-installed-packages-on-debian-based-systems) толпа уже имела дело с этим. mcalex 6 лет назад 0
Я уже прочитал эти темы перед публикацией, они не отвечают на два первых вопроса: когда вы наконец решите, что пакет был установлен из / var / lib / dpkg / status, как его можно интерпретировать? Что это значит ? Пакет был установлен из определенного репо, затем репо было удалено из sources.list? Какое-то другое объяснение? koudougou 6 лет назад 0
Но я все еще не думаю, что какая-то информация имеет значение. Строка, которая начинается с «File:», имеет репо. Игнорируйте строку с номером версии. Я уверен, что `/ var / lib / dpkg / status` - это просто локальный каталог. mcalex 6 лет назад 1
Хорошо, я сделаю с этим. koudougou 6 лет назад 0

0 ответов на вопрос