每次我在四台不同的服务器上尝试更新(CentOS 6)时,我都会遇到此错误。只有这个软件包才会出现这种情况。研究了这个问题后,我找不到任何有用的信息。人们遇到过非常类似的问题,但不是这个特定的问题。有人能给我一些关于如何解决这个问题的建议吗?
[user@machine ~]$ sudo yum update
Loaded plugins: dellsysid, fastestmirror, refresh-packagekit, security
Loading mirror speeds from cached hostfile
* base: mirror.thelinuxfix.com
* extras: mirrors.gigenet.com
* rpmforge: thammuz.tchpc.tcd.ie
* updates: mirror.clarkson.edu
Setting up Update Process
Resolving Dependencies
--> Running transaction check
---> Package srvadmin-omcommon.x86_64 0:7.2.0-4.450.1.el6 will be updated
---> Package srvadmin-omcommon.x86_64 0:7.2.0-4.459.1.el6 will be an update
--> Finished Dependency Resolution
Dependencies Resolved
================================================================================
Package Arch Version Repository Size
================================================================================
Updating:
srvadmin-omcommon x86_64 7.2.0-4.459.1.el6 dell-omsa-indep 1.8 M
Transaction Summary
================================================================================
Upgrade 1 Package(s)
Total download size: 1.8 M
Is this ok [y/N]: y
Downloading Packages:
srvadmin-omcommon-7.2.0-4.459.1.el6.x86_64.rpm | 1.8 MB 00:05
Running rpm_check_debug
Running Transaction Test
Transaction Test Succeeded
Running Transaction
Error in PREIN scriptlet in rpm package srvadmin-omcommon-7.2.0-4.459.1.el6.x86_
64
cp: cannot stat `/opt/dell/srvadmin/etc/openmanage/wwwroot/oem/data/ini/*ini': N
o such file or directory
error: %pre(srvadmin-omcommon-7.2.0-4.459.1.el6.x86_64) scriptlet failed, exit s
tatus 1
error: install: %pre scriptlet failed (2), skipping srvadmin-omcommon-7.2.0-4.
459.1.el6
srvadmin-omcommon-7.2.0-4.450.1.el6.x86_64 was supposed to be removed but is not
!
Verifying : srvadmin-omcommon-7.2.0-4.450.1.el6.x86_64 1/2
Verifying : srvadmin-omcommon-7.2.0-4.459.1.el6.x86_64 2/2
Failed:
srvadmin-omcommon.x86_64 0:7.2.0-4.450.1.el6
srvadmin-omcommon.x86_64 0:7.2.0-4.459.1.el6
Complete!
[user@machine ~]$
答案1
这很可能是软件包组装方式的一个错误(由 Dell 组装)。由于它们引用了部分中的文件,而这些文件在%pre
安装包含它们的软件包(同一个软件包!)之前不能假定存在,因此几乎可以肯定这是软件包组装者的错误。最有可能的是,这些命令应该放在%preup
或%post
部分中,具体取决于他们试图做什么。因此,您应该向 Dell 报告此问题。
答案2
我猜想 srvadmin-omcommon 可能依赖于另一个 rpm。对于 srvadmin-omcommon-7.1.0(我这里是这个),/opt/dell/srvadmin/etc 由 srvadmin-omilcore 提供,因此如果未安装该 rpm,则可能无法创建其余路径。但是,所有目录到 ini 似乎都由 srvadmin-omcommon 提供:
# rpm -qf /opt/dell/srvadmin/etc/openmanage/wwwroot/oem/data/
srvadmin-omcommon-7.1.0-4.212.1.el6.x86_64
因此可能存在另一个问题。您可以通过以下方式列出脚本:
rpm -q --scripts srvadmin-omcommon
看看 pre 正在做什么。我的 srvadmin-omcommon-7.1.0 没有 pre,只有 postinstall 和 postuninstall,所以我无法检查我的。
答案3
我认为您拥有 32 位版本的 Dell OMSA。
OMSA 和固件更新包以前仅以 32 位二进制文件形式提供,但现在以适用于 x86_64 系统的 64 位原生版本提供。
警告:如果您的系统上安装了 32 位 Dell 软件包 (srvadmin-* dell_ie*),则系统将继续使用 32 位软件包。要使用 64 位软件包,请先卸载现有的 32 位软件包,然后再安装它们。新安装将安装与您的操作系统匹配的 OMSA 体系结构。