Значение ошибки yum «кортеж пакета (…) не найден в rpmdb»

8

Я просто хочу установить два пакета в мою Fedora 15, но получаю странную ошибку.

Команда:
yum install @development-tools

Ошибка:

Загруженные плагины: langpacks, presto, refresh-packagekit. Установка Install Process Package flex-2.5.35-13.fc15.x86_64 уже установлена ​​и последняя версия Ошибка: кортеж пакета ('gcc', 'x86_64', '0', '4.6 .0 ',' 6.fc15 ') не найден в rpmdb

Команда:
yum install fedora-packager

Ошибка:

Загруженные плагины: langpacks, presto, refresh-packagekit. Настройка процесса установки Ошибка: не удалось найти кортеж пакета («fedora-packager», «noarch», «0», «0.5.9.0», «1.fc15») rpmdb

В первой команде написано, что пакет уже установлен и последняя версия, но почему я получил эту строку с ошибкой. Как исправить эту ошибку?

Juned
источник

Ответы:

8

Похоже, поврежденные данные. Выполните: yum clean allзатем, yum updateа затем повторите попытку установки.

Lurker
источник
эта команда влияет на мою существующую систему?
Июнь
Это эквивалент использования Yum, apt-get updateпоэтому все эффекты положительны.
Люркер
2
только yum clean allрешил мою проблему. Спасибо :)
Juned
2
Возможно, вам нужно сделать rpm --rebuilddbи проверить, не осталось ли странных файлов /var/lib/rpm. Если есть __db.xxxфайлы вокруг, db_recoverможет быть вызвано.
vonbrand
1
В моем случае «ням очистить все» сделали свое дело. Сообщение, которое я получил, было после использования программы 'fedup', чтобы обновить меня с F17 до F19.
5

Вы можете попробовать восстановить rpmdb

rpmdb --rebuilddb

Это исправило подобную проблему для меня.

Ричард Грин
источник
1
+1 - это решило проблему для меня, когда yum clean allнет.
jammypeach
3

Чтобы решить эту проблему, я должен был сделать оба:

yum clean all 
rpm --rebuilddb
Alex
источник