Как исправить ошибку транзакции?

У меня есть ошибка проверки транзакции между nodejs-0.10.33-1nodesource.fc20.x86_64 и nodejs-semver-2.1.0-1.fc20.noarch . Полная ошибка в сущности: 8998690a05100b1f6085

Когда я запускаю yum list nodejs, я получаю:

 Installed Packages nodejs.x86_64 0.10.32-1.fc20 @updates Available Packages nodejs.i686 0.10.32-1.fc20 updates nodejs.x86_64 

Если у меня установлен только один пакет, как я могу конфликт? И что мне с этим делать?

Это не ошибка транзакции из того, что я вижу, это конфликт файлов. ИМО (может быть, кто-то может исправить меня), вы в значительной степени должны удалить пакет npm . Либо физически, либо просто из базы данных RPM.

  • Если вам это нравится, вы можете просто сделать rpm -e npm чтобы удалить пакет и удалить конфликтующие файлы из файловой системы. Это приведет к потере данных, но если конфликты существуют, потому что nodejs является полной заменой для пакета npm , то не должно быть большой потери, поскольку установка nodejs заменит файлы, потерянные из-за удаления.

  • Если вы не думаете, что можете уйти с удалением пакета (у него есть файлы, которые у другого пакета нет), вы можете попробовать свою удачу с параметром --justdb для rpm -e . Будьте предупреждены, что это может вызвать конфликты, которые вы не обязательно увидите сразу (где установлены конфликтующие версии файлов или фрагменты старого пакета остаются в системе и т. Д.). Вам просто нужно принять обоснованное предположение о том, будет ли все в порядке, если файлы будут перезаписаны.

Пример:

 [root@vml-lvprod04 ~]# ll -h /usr/bin/nc -rwxr-xr-x 1 root root 22K Feb 9 2010 /usr/bin/nc [root@vml-lvprod04 ~]# rpm -e --justdb nc [root@vml-lvprod04 ~]# rpm -ql nc package nc is not installed [root@vml-lvprod04 ~]# ll -h /usr/bin/nc -rwxr-xr-x 1 root root 22K Feb 9 2010 /usr/bin/nc [root@vml-lvprod04 ~]# yum install -y nc [ ...snip... ] Running Transaction Warning: RPMDB altered outside of yum. Installing : nc-1.84-22.el6.x86_64 1/1 Verifying : nc-1.84-22.el6.x86_64 1/1 Installed: nc.x86_64 0:1.84-22.el6 Complete! 

Как вы можете видеть, я удалил пакет из БД, не касаясь самого файла. Это предотвратит появление каких-либо конфликтов файлов. Затем я смог установить пакет с файлом в том же месте без ошибок yum. rpm предназначена для прогнозирования конфликтов, поэтому снова используйте на свой страх и риск.