Как узнать, из какого репозитория приходит пакет?

Есть ли метод или команда, которая может определить, из какого репозитория приходит пакет?

151
задан 12 August 2017 в 13:58

6 ответов

Необходимые команды:

  • dpkg -s <package> - позволяет найти версию, которую вы установили. ( source )
  • apt-cache showpkg <package> - покажет список доступных версий пакета. Для каждой версии будет указан источник пакета в виде имени файла индекса.

Если вы хотите найти источник установленного пакета, вам потребуется вывод dpkg -s <package>. В противном случае вы можете просто посмотреть на новейшую версию вывода по apt-cache showpkg <package>.

Пример:

$ dpkg -s liferea
Package: liferea
Status: install ok installed
Priority: optional
Section: web
Installed-Size: 760
Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com>
Architecture: i386
Version: 1.6.2-1ubuntu6
...

$ apt-cache showpkg liferea
Package: liferea
Versions: 
1.6.2-1ubuntu6.1 (/var/lib/apt/lists/archive.ubuntu.com_ubuntu_dists_lucid-updates_main_binary-i386_Packages)
 Description Language: 
                 File: /var/lib/apt/lists/archive.ubuntu.com_ubuntu_dists_lucid-updates_main_binary-i386_Packages
                  MD5: 557b0b803b7ed864e6d14df4b02e3d26

1.6.2-1ubuntu6 (/var/lib/apt/lists/archive.ubuntu.com_ubuntu_dists_lucid_main_binary-i386_Packages) (/var/lib/dpkg/status)
 Description Language: 
                 File: /var/lib/apt/lists/archive.ubuntu.com_ubuntu_dists_lucid_main_binary-i386_Packages
                  MD5: 557b0b803b7ed864e6d14df4b02e3d26
...

Из первой команды видно, что установлена ​​версия Liferea 1.6.2-1ubuntu6. Из второй команды я вижу, что эта версия указана в /var/lib/apt/lists/archive.ubuntu.com_ubuntu_dists_lucid_main_binary-i386_Packages.

Без особых усилий, я могу сделать вывод, что строка источника содержит archive.ubuntu.com , ubuntu , lucid и [+1110] [одна тысяча сто двадцать четыре].

И, конечно же, мой /etc/apt/sources.list содержит следующую строку.

deb http://archive.ubuntu.com/ubuntu lucid main universe restricted multiverse
0
ответ дан 12 August 2017 в 13:58

К сожалению, эта информация не записывается во время установки пакета. Вы можете сделать приличное предположение, если хранилище все еще находится в списке источников, а хранилище все еще содержит пакет:

grep -l PKG /var/lib/apt/lists/*

Даже synaptic не может сказать, отключили ли вы хранилище и обновили его.

0
ответ дан 12 August 2017 в 13:58

Это немного точнее:

apt-cache show <packagename> | grep "Version:"

Самую последнюю версию обычно устанавливают, если вы не установили apt-pinning или явно не установили конкретную версию.

0
ответ дан 12 August 2017 в 13:58
sudo grep *packagename* /var/lib/apt/lists/* | grep "Filename:"

источник

0
ответ дан 12 August 2017 в 13:58

Используйте следующую команду. Он имеет лучший результат:

apt-cache policy <Package Name>

Для Ubuntu 16.04 и более поздних версий есть более короткий способ сделать это:

apt policy <Package Name>
0
ответ дан 12 August 2017 в 13:58

apt на Ubuntu 16.04 +

Около apt-cache policy, showpkg и show, теперь у нас есть более простое с легким для запоминания подкоманд: apt (не путайте с классиком apt-*):

apt policy <package> 

Или альтернатива с большим количеством информации apt show <package>, строка, запускающаяся с "Источников APT":.

Описание: Этот пакет обеспечивает инструменты командной строки для поиска и управления, а также запросов информации о пакетах как низкоуровневый доступ ко всем функциям libapt-pkg библиотеки. Они включают:apt-get, apt-cache, apt-cdrom, apt-config, apt-key.

Основные команды от apt --help

Другой также легкий помнить подкоманды:

  • apt list – пакеты списка на основе имен пакета
  • apt search – поиск в описаниях пакета
  • apt show – покажите детали пакета
  • apt update – список обновления доступных пакетов
  • apt install – пакеты установки
  • apt remove – удалите пакеты
  • apt purge – удалите пакеты и конфигурационные файлы:

    Удаление пакета удаляет все упакованные данные, но оставляет обычно маленькие (измененные) пользовательские конфигурационные файлы позади, в случае, если удаление было несчастным случаем. Просто издание запроса установки на случайно удаленный пакет восстановит свою функцию как прежде в этом случае. С другой стороны, можно избавиться от этих остатков путем вызова чистки даже на уже удаленных пакетах. Обратите внимание, что это не влияет ни на какие данные или конфигурацию, сохраненную в Вашем корневом каталоге.

  • apt upgrade – обновите систему установкой/пакетами обновления

  • apt full-upgrade – обновите систему удалением/установкой/пакетами обновления
  • apt edit-sources – отредактируйте файл информации об источнике
9
ответ дан 12 August 2017 в 13:58

Другие вопросы по тегам:

Похожие вопросы: