Есть ли метод или команда, которая может определить, из какого репозитория приходит пакет?
Есть ли метод или команда, которая может определить, из какого репозитория приходит пакет?
Ответы:
dpkg -s <package>
- позволяет найти версию, которую вы установили. ( источник )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
, и main
.
И, конечно же, мой /etc/apt/sources.list
содержит следующую строку.
deb http://archive.ubuntu.com/ubuntu lucid main universe restricted multiverse
apt-cache policy <package name>
(от: superuser.com/a/236605/37279 )
trusty
исходные коды пакетов Ubuntu , то временно добавлю их utopic
в my sources.list
для установки версии 1.20ubuntu3 of, init-system-helpers
а затем снова удалю репозиторий из my sources.list
, apt-cache showpkg init-system-helpers
просто буду лежать в исходном списке пакетов и apt-cache policy init-system-helpers
просто изложу очевидное.
Используйте следующую команду. Это имеет лучший выход:
apt-cache policy <Package Name>
Для Ubuntu 16.04 и более поздних версий есть более короткий способ сделать это:
apt policy <Package Name>
apt-cache policy
см. Также superuser.com/a/236605/61370
apt-cache policy
это хорошо, но иногда вам нужно apt-cache showpkg
сравнить суммы MD5 из пакета. Смотрите такжеdebsums --changed
policy
опция наиболее полезна при сравнении сsources.list
apt policy <package-name>
можно использовать еще более простой , начиная с 16.04LTS. Как только 14.04LTS станет EOL'd в 2018 году, этот ответ может быть отредактирован для использования более новой команды.
apt
на Ubuntu 16.04+Кроме apt-cache policy
, showpkg
и show
теперь у нас есть более простой, с легко запомнить подкомандами: apt
(не путать с классикой apt-*
):
apt policy <package>
Или альтернатива с дополнительной информацией apt show <package>
, строка начинается с «APT-Sources:» .
Описание: этот пакет предоставляет инструменты командной строки для поиска и управления, а также для запроса информации о пакетах, а также низкоуровневый доступ ко всем функциям библиотеки 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
- отредактируйте исходный файл информацииapt policy xxx
кажется идентичным apt-cache policy xxx
, возможно, это должен был быть комментарий. Или, по крайней мере, упомянуть, что, apt show
кажется, нужен -a
переключатель, чтобы увидеть «дополнительные записи» из других источников
К сожалению, эта информация не записывается во время установки пакета. Вы можете сделать приличное предположение, если хранилище все еще находится в списке источников, а хранилище все еще содержит пакет:
grep -l PKG /var/lib/apt/lists/*
Даже Synaptic не может сказать, если вы отключите хранилище и обновите.