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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2026 CODEPRJ.COM