package XXX.i386.rpm is not installed(检查在Linux上安装Oracle所需的pkg时)
如下转自一个论坛,忘了哪了,一直在电脑上存的。
I've got Oracle Enterprise Linux 5 to install an Oracle server. Checking required packages I found three missing. I located the .rpm files and tried to install manually. The install gave a warning, but said the package was already installed. When I tried to find the packages, it said they weren't installed.
Here is the conversation for one of the packages:
root@enterprise Server]# rpm -i compat-libstdc++-33-3.2.3-61.i386.rpm
warning: compat-libstdc++-33-3.2.3-61.i386.rpm: Header V3 DSA signature: NOKEY, key ID 1e5e0159
package compat-libstdc++-33-3.2.3-61 is already installed
[root@enterprise Server]# rpm -q -v compat-libstdc++*
package compat-libstdc++-296-2.96-138.i386.rpm is not installed
package compat-libstdc++-33-3.2.3-61.i386.rpm is not installed
I hope I'm just missing something obvious. Any suggestions?
If anyone is interested. I was missing something - but it's less than obvious.
After lots of google practice, I realized the error message was misleading. Apparently, this and a number of similar packages always give this warning. The problem was the name of the package is unusual. For just about every other package, only the part before the first dash is the package name - the rest is version info. So if I type
[root@enterprise Server]# rpm -q binutils
I get the expected response
binutils-2.17.50.0.6-6.el5.
However, if I type
[root@enterprise Server]# rpm -q compat-libstdc++
as mentioned I get the unexpected
package compat-libstdc++ is not installed
The problem is that the '-33' is actually part of the name. So if i type
[root@enterprise Server]# rpm -q compat-libstdc++-33
Everything is right with the world:
compat-libstdc++-33-3.2.3-61
感谢作者。
作者认为这个Error Message 的产生是因为所检查的pkg不同于寻常,因为对于绝大部分其它的package来说,只有第一个中线(-)前面的才是package name,其余的是版本信息。所以
[root@enterprise Server]# rpm -q compat-libstdc++
as mentioned I get the unexpected
package compat-libstdc++ is not installed
The problem is that the '-33' is actually part of the name. So if i type
[root@enterprise Server]# rpm -q compat-libstdc++-33
Everything is right with the world:
compat-libstdc++-33-3.2.3-61