Быстрый Google находит эту статью, которая может помочь. Я не попробовал его лично.
С установленной конфеткой-utils repoquery предоставит информацию, которую Вы ищете (здесь 'epel' быть репозиторием).
└─[$]> repoquery -i cherokee
Name : cherokee
Version : 0.99.49
Release : 1.el5
Architecture: i386
Size : 8495964
Packager : Fedora Project
Group : Applications/Internet
URL : http://www.cherokee-project.com/
Repository : epel
Summary : Flexible and Fast Webserver
Description :
Cherokee is a very fast, flexible and easy to configure Web Server. It supports
the widespread technologies nowadays: FastCGI, SCGI, PHP, CGI, TLS and SSL
encrypted connections, Virtual hosts, Authentication, on the fly encoding,
Apache compatible log files, and much more.
Ни одна из вышеупомянутых команд не работала на меня. Это - то, что я должен был сделать.
yum provides "*compat-libstdc*"
А хорошая ссылка здесь.
https://access.redhat.com/sites/default/files/attachments/rh_yum_cheatsheet_1214_jcs_print-1.pdf
Та информация получена где-нибудь? Пакет не имеет той информации, и конфетка не заботится после того, как это находит пакет. Вы могли, вероятно, соединить его путем выяснения того, какие repos имеют пакет и затем определяют, какой имеет приоритет.
Не отличное решение, но я нашел, что конфетка перечисляет доступный, покажет Вам, где самая актуальная версия каждого пакета доступна, например:
вкусный список, доступный | grep gstreamer
PackageKit-gstreamer-plugin.x86_64 0.3.16-1.fc10 updates
bluez-gstreamer.i386 4.30-2.fc10 обновления
gstreamer.i386 0.10.21-2.fc10 мягкая фетровая шляпа
gstreamer-devel.i386 0.10.21-2.fc10 мягкая фетровая шляпа
gstreamer-devel.x86_64 0.10.21-2.fc10 мягкая фетровая шляпа
gstreamer-plugins-bad-devel.i386, 0.10.9-1.fc10 rpmfusion-свободный
gstreamer-plugins-bad-devel.x86_64, 0.10.9-1.fc10 rpmfusion-свободный
Таким образом, Вы могли сделать вкусный список, доступный на Вашем пакете, затем сравнить Вашу установленную версию с помощью вкусного списка, установленного и иметь хорошую идею, которого repo это прибыло из того, если версии соответствуют.
Если пакет был недавно установлен, можно посмотреть в/var/cache/yum.
В рамках того каталога существует каталог для каждого repo, и в этом каталог пакетов. Так, Вы сделали бы что-то как:
find /var/cache/yum -name [package-name]*
Однако кэш должен быть включен в Вашем/etc/yum.conf файле:
cachedir=/var/cache/yum
keepcache=1
Отметьте это a yum clean [packages|all]
уберет каталог кэша.
Если каталог кэша пуст, существует альтернативный путь. Информация, которая читается yum info [package]
прибывает из/var/cache/yum / [repo]/primary.xml.gz
Можно просмотреть файл путем ввода:
gunzip -d -c /var/cache/yum/[repo]/primary.xml.gz | grep '<name>[package]'
Однако на машинах, где yum info [package]
не отображается "От repo": как обозначено 'theotherreceive', это - потому что это не находится в файле primary.xml, таким образом, не будет никакого способа получить ту информацию. Поэтому, если пакет находится в двух или больше файлах primary.xml, необходимо будет определить repo приоритет на Вас система.
Какая версия конфетки?
На текущей версии, если установленный пакет является той же версией как новая, доступная затем repo, это было установлено от, показан.
$ yum info irssi
Installed Packages
Name : irssi
Arch : i586
Version : 0.8.14
Release : 1.fc11
Size : 2.3 M
Repo : installed
From repo : updates
Summary : Modular text mode IRC client with Perl scripting
URL : http://irssi.org/
License : GPLv2+
Description: Irssi is a modular IRC client with Perl scripting. Only text-mode
: frontend is currently supported. The GTK/GNOME frontend is no
: longer being maintained.
$ yum --version
3.2.23
Если будет более новый доступный пакет, то его покажут отдельно с новой версией, показывающей repo, от которого это доступно.
Самый легкий путь - это:
rpm -qa --qf '%{NAME} %{VENDOR}\n'
Больше подсказок и приемов доступны здесь: http://wiki.centos.org/TipsAndTricks/YumAndRPM
Слишком поздно, но (по крайней мере, в Fedora 15) можно использовать yumdb для подобных запросов:
yumdb info 'python*'
И что мне действительно нужно, чтобы вывести список пакетов из данного репо:
yumdb search from_repo 'my-*-repo'
На основании и ответе Swoogan
В RedHat и CentOS можно сделать
sudo grep -ir PACKAGE_NAME /var/cache/yum/
Результаты должны выглядеть примерно так:
Binary file /var/cache/yum/REPOSITORY_NAME/primary.xml.gz.sqlite matches
Где имя_позитория - репозиторий, в котором можно найти ваш пакет, и, вероятно, он был установлен из первого в списке (см. yum repolist)
Если ничего не помогает, вы можете проверить yumdb вручную. Он находится в / var / lib / yum / yumdb
и содержит подробную информацию о каждом установленном пакете. Вас особенно заинтересует from_repo
. Например, для пакета bind-utils
:
# for i in /var/lib/yum/yumdb/b/*bind-utils*/*; do echo $i: `cat $i`; done
/var/lib/yum/yumdb/b/73ea08770fa666e18c59842bf65fa0f3a0b103d8-bind-utils-9.8.2-0.23.rc1.el6_5.1-x86_64/checksum_data: 39f7840f93d3d76825a9e8da79cfe0366f7fad68f018a273477aee62cccfa3f4
/var/lib/yum/yumdb/b/73ea08770fa666e18c59842bf65fa0f3a0b103d8-bind-utils-9.8.2-0.23.rc1.el6_5.1-x86_64/checksum_type: sha256
/var/lib/yum/yumdb/b/73ea08770fa666e18c59842bf65fa0f3a0b103d8-bind-utils-9.8.2-0.23.rc1.el6_5.1-x86_64/command_line: install bind-utils
/var/lib/yum/yumdb/b/73ea08770fa666e18c59842bf65fa0f3a0b103d8-bind-utils-9.8.2-0.23.rc1.el6_5.1-x86_64/from_repo: updates
/var/lib/yum/yumdb/b/73ea08770fa666e18c59842bf65fa0f3a0b103d8-bind-utils-9.8.2-0.23.rc1.el6_5.1-x86_64/from_repo_revision: 1397654451
/var/lib/yum/yumdb/b/73ea08770fa666e18c59842bf65fa0f3a0b103d8-bind-utils-9.8.2-0.23.rc1.el6_5.1-x86_64/from_repo_timestamp: 1397654759
/var/lib/yum/yumdb/b/73ea08770fa666e18c59842bf65fa0f3a0b103d8-bind-utils-9.8.2-0.23.rc1.el6_5.1-x86_64/installed_by: 0
/var/lib/yum/yumdb/b/73ea08770fa666e18c59842bf65fa0f3a0b103d8-bind-utils-9.8.2-0.23.rc1.el6_5.1-x86_64/reason: user
/var/lib/yum/yumdb/b/73ea08770fa666e18c59842bf65fa0f3a0b103d8-bind-utils-9.8.2-0.23.rc1.el6_5.1-x86_64/releasever: 6
Чтобы получить именно ту информацию, которую вы хотите:
# cat /var/lib/yum/yumdb/b/*bind-utils*/from_repo
updates
Более поздние версии предоставят еще больше данных; например, в EL 7 здесь хранится точное зеркало и URL-адрес, с которого был загружен пакет.
Вы можете добавить подробный флаг к "yum info":
yum info -v <package_name>
Репозиторий установки будет под выводом "Из репо".
Итак, я знаю, что это довольно старый вопрос, но он возникает при поиске в Google того, что я искал.
Существует также метод получения уникального списка репозиториев. used:
# repoquery -ai | grep 'Repository : ' | sort | uniq
Здесь будут перечислены репозитории, в которые были установлены пакеты из.
Самый простой и понятный подход без установки каких-либо дополнительных инструментов, поиска или вывода посторонней информации - это просто:
yum list installed [package name]
В третьем столбце будет указан идентификатор репозиторий, из которого был установлен пакет.
Об этом упоминалось в комментарии к исходному вопросу с использованием grep, но это не обязательно. Вы можете просто передать имя пакета непосредственно в yum
для фильтрации.
yum info package_name
, это, кажется, не запрашивает репозитории в том же порядке как конфетка. – Mike Miller 30 November 2010 в 18:38