Если Вы находитесь на CentOS 6, следующая команда должна показать Вам, из какого repo Ваш установленный RPMs прибыл:
rpm -qa | xargs yum info | grep '^From repo' | sort | uniq -c | sort -rn
Если Вы находитесь на CentOS 5 или ниже, существует номер 100%-й категорический способ получить информацию, которую Вы хотите. Вы оказываетесь перед необходимостью проходить в настоящее время устанавливаемый RPMs и пытаться коррелировать их к различному repos, который Вы настроили. Существует несколько способов коррелировать их:
Некоторый repos как repoforge/rpmforge и IUS, но суффикс на их RPMs Вы можете grep с чем-то как rpm -qa release='*rf*'
Коррелируйте поставщика программного блока, buildhost, подпись или поставщика к различному repos. Например, если buildhost имеет 'fedoraproject.org' в нем, он, вероятно, прибыл из EPEL repo. Или если поставщик перечислен как 'Fusion об/мин', затем он, вероятно, прибыл из rpmfusion repo. Каждый repo отличается в терминах, если они на самом деле используют поля и что они вставляют их.
Поставщик программного блока, buildhost, и поставщик могут теоретически имитироваться так в зависимости от Ваших потребностей безопасности, Вы не могли бы хотеть зависеть от них, но вероятности, которую кто-то злонамеренно делает, это довольно низко. Подпись была бы самой безопасной.
repos ниже. Вы запросили бы все свои rpms и отсортировали бы вывод с чем-то как rpm -qa --queryformat '%{vendor}\t%{name}\n' | sort
Эта запись на CentOS wiki могла бы быть полезным.
Это "нормальное" поведение до сих пор, что серверы, на которых вы называете "yum update", хранят кэш пакетов, доступных на репо. Когда вы вызываете "yum clean all", этот кэш удаляется, и серверу нужно снова запросить у репо список доступных пакетов - включая ваш только что добавленный пакет.
Что на самом деле происходит