如何修复交易错误?

如何修复交易错误?

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    

如果我只安装了一个软件包怎么会发生冲突?而且,我该怎么办?

答案1

从我所看到的来看,这并不是真正的事务错误,而是文件冲突。 IMO(也许有人可以纠正我)你几乎必须删除包裹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!

正如您所看到的,我从数据库中删除了包,而没有触及实际文件本身。这将防止rpm出现任何文件冲突。然后,我能够在同一位置安装带有文件的软件包,而不会出现 yum 错误。rpm旨在预测冲突,因此再次使用时需要您自担风险。

相关内容