linux下安装rpm文件,遇到包依赖不满足的问题

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了linux下安装rpm文件,遇到包依赖不满足的问题相关的知识,希望对你有一定的参考价值。

我在linux上安装一个服务软件nsmbd-1.0-3.noarch.rpm,遇到不满足依赖问题如下:
错误:失败的依赖关系:
libc.so.6(GLIBC_2.4) 被 nsmbd-1.0-3.noarch 所需要
libpam.so.0(LIBPAM_1.0) 被 nsmbd-1.0-3.noarch 所需要
libpam_misc.so.0(LIBPAM_MISC_1.0) 被 nsmbd-1.0-3.noarch 所需要
rtld(GNU_HASH) 被 nsmbd-1.0-3.noarch 所需要

这是什么原因造成的啊,是赖操作系统吗?该怎么解决?

表示nsmbd这个包要依靠或调用libc.so.6,libpam.so.0等等这些的函数库或其他类似数据。所以要解决就必须安装这4个东西。
如果你是RH的,就#YUM INSTALL GLIBC—2。4。。。括号里面的那个名称
依次装完就可以装nsmbd。
如果ubuntu或dbian 就#apt-get ****
不排除可能会出现的连锁依赖问题。只能一个个解决。
参考技术A 使用yum在线安装,或者手工找所有需要的包直到满足所有依赖关系。 参考技术B 你什么系统?
你的 nsmdb 不是针对你当前的系统的。

glibc 是系统关键底层库,如果升级或者降级这个程序库,会导致系统无法使用。

找对应你当前系统的 nsmbd 吧。或者升级/降级你的系统来匹配 nsmdb 。
参考技术C 当然就是缺少
libc.so.6(GLIBC_2.4) 被 nsmbd-1.0-3.noarch 所需要
libpam.so.0(LIBPAM_1.0) 被 nsmbd-1.0-3.noarch 所需要
libpam_misc.so.0(LIBPAM_MISC_1.0) 被 nsmbd-1.0-3.noarch 所需要
rtld(GNU_HASH) 被 nsmbd-1.0-3.noarch 所需要
因为这些文件存在一些被你安装软件的所需要的库,跟windows下的dll文件差不多性质。
例如你编译一个程序一样,它需要调用系统里的库的文件。
找到,并安装这些包就可以了
建议你别用rpm包,用源泉文件包自己编译。这样问题较少。

怎么在linux环境安装jenkins.war

参考技术A 你的linux是哪一种?RedHat/Fedora/CentOS ,Ubuntu/Debian还是OpenSuse?
下载对应的安装包后,第一种,用rpm -i 要是遇到依赖问题,建议先用yum install或dnf install (Fedora22开始用DNF取代yum,解决rpm包依赖问题)把依赖包给安装设置好。
第二种用dpkg -i 要是遇到依赖问题,建议先用apt-get install把依赖包给安装设置好。
至于OpenSuse,它其实和红帽Red Hat有些渊源。也可以使用rpm -i 来安装,不过,他没有yum,它解决依赖包是 yast或zast,这是命令行的方式,如果不习惯,可以使用yast2或zast2,就有了图形化的界面了。不过前提条件是OpenSuse系统在安装时勾选了图形化界面。yast和zast有什么不同?答案是一样。因为Suse是德国人开发的版本。在他们的键盘上。按y键显示z,按z键显示y。所以才有yast和zast都行的结果。

那么多文件,怎么选?建议,选高不选低。选择文件版本高的。
比如jenkins-1.642.3-1.1.noarch.rpm和jenkins-1.625.3-1.1.noarch.rpm选前面的。这两个安装包,名称上基本一致。都已jenkin-1开头,第一个圆点后面一个是642,一个是625。642和625那个大?当然是642,所以,选前不选后。那么,jenkins-1.625.3-1.1.noarch.rpm与jenkins-1.625.2-1.1.noarch.rpm呢?也是选前不选后。因为第一个圆点后面虽然都是625,但是第2个圆点后面不同了,一个是3-1,一个是2-1。3跟2比谁大?3,所以,选前不选后。
那jenkins-1.625.2-1.1.noarch.rpm跟jenkins-1.609.3-1.1.noarch.rpm呢?还是选前不选后,因为虽然在第2个圆点后面,一个是3-1,一个是2-1,3大于2,但是,在第一个圆点后面,一个是625每一个是609。625大于609,因此,还是选前不选后。所以,把整个安装包的文件名称仔细观察一下,以圆点为界。第一个点前面如果有数字,大的选取,小的放弃。如果没有或相同,看第1个点和第2个点之间。选大,弃小。要是还一样,看第2和第3之间同样选大弃小。再相同,看第3和第4.依次类推。
实际上这是判断两个文件版本高低的方法。通常说来,应用软件工具高版本兼容低版本,而低版本未必兼容高版本。而且高版本可能解决的低版本的一些BUG漏洞。因此,我建议你选高不选低。这是为了以后安装配置使用中少一些困难和障碍。

以上是关于linux下安装rpm文件,遇到包依赖不满足的问题的主要内容,如果未能解决你的问题,请参考以下文章

Linux里面rpm安装能解决所有依赖吗?

15.Linux下Apache rpm包安装方法,并解决依赖性问题(附自动启动方法)

Linux软件包管理:RPM与YUM

怎么在linux环境安装jenkins.war

linux如何安装rpm包?

Ubuntu下Yum安装JDK,提示‘无法满足的依赖关系’