Есть ли способ или команда, которые могут определять, из какого репозитория выходит пакет?
Есть ли способ или команда, которые могут определять, из какого репозитория выходит пакет?
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 <[email protected]>
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>
К сожалению, эта информация не записывается во время установки пакета. Вы можете сделать достойное предположение, если репозиторий все еще находится в исходном списке, а в репозитории все еще есть пакет:
grep -l PKG /var/lib/apt/lists/*
Даже синаптика не может определить, отключить ли репозиторий и обновить его.
sudo grep *packagename* /var/lib/apt/lists/* | grep "Filename:"
источник р>
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
Другие также легко запоминаются параметры:
list
- список пакетов на основе имен пакетов search
- поиск в описаниях пакетов show
- показать информацию о пакете update
- список обновлений доступных пакетов install
- установить пакеты remove
- удалить пакеты upgrade
- обновить систему, установив / обновив пакеты full-upgrade
- обновление системы путем удаления / установки / обновления пакетов edit-sources
- отредактировать файл исходной информации Это немного более точно:
apt-cache show <packagename> | grep "Version:"
Новейшая версия, как правило, устанавливается, если вы не установили apt-pinning или явно не установили определенную версию.