在Linux系统中安装软件怎么知道这个软件需要什么依赖?

在Linux系统中安装软件怎么知道这个软件需要什么依赖?,第1张

1、如果是自己编译安装,在configure的时候,控制台会明确指出缺少什么程序和文件

2、如果是别人的打包好的文件,redhat系的,是rpm -qp --requires xxx.rpm可以查看这个包依赖什么别的包。

<1>.在linux下如何判断是否已经安装某个软件?

我的系统是red hat

我用命令rpm查是否安装了某个软件(例如: matlab 与 fluent ),得到了如下的结果:

我用rpm -qa (| grep) matlab , 回车后没有任何显示

我用rpm -qa fluent , 回车后没有任何显示

我用rpm -qa vasp , 回车后没有任何显示

但实际上肯定是装了matlab和fluent , 而我用[root@node1 /]# rpm -q fluent

显示的却是package fluent is not installed

matlab也一样

另外,命令 [root@node1 /]# man rpm

返回的却是 No manual entry for rpm

这是为什么呢?

++++++++++++++++++++++++++++++++++++++++++

rpm -qa|grep 软件包

++++++++++++++++++++++++++++++++++++++++++

用yum命令yum search试试

++++++++++++++++++++++++++++++++++++++++++

如果你使用rpm -ivh matlab装的,

用rpm -qa | grep matlab肯定是能够找到的。

如果你是用

make &&make install装的。那么最好直接去找执行程序,就知道有没装上去

find / -name matlab

如果装了,它会告诉你执行程序被释放到哪个目录了。

++++++++++++++++++++++++++++++++++++++++++

rpm -qa 是查看该软件是否被安装,grep和find是查看文件位置

++++++++++++++++++++++++++++++++++++++++++

<2>.linux下如何查看某个软件安装在哪个目录啊?

++++++++++++++++++++++++++++++++++++++++++

rpm -ql 软件名

怎么不给分啊,

++++++++++++++++++++++++++++++++++++++++++

看怎么安装的.

一般有源码和包安装两种方式.

源码安装的话可以看 configure 的日志

rpm 等包方式的话,就要查其中的数据库了,比如 rpm -q 进行查询.

-q <== 查询(查询本机已经安装的包时不需要版本名称)

-qi #查询被安装的包的详细信息(information)

-qa | grep dhcp <== 列出所有被安装的rpm package

-qc 列出配置文件(/etc下的文件)

-qd 列出帮助文件(man)

-ql dhcp <== 查询指定 rpm 包中的文件列表

-qf /bin/ls <== 查询哪个库里包含了 ls 文件(注意,需要安装了 /bin/ls 后才能查到)

-qp <rpm package name> <== 根据rpm包查询(.rpm 文件),可以接其他参数(如i查详细信息,l查文件列表 等)

-qR 列出需要的依赖套件

++++++++++++++++++++++++++++++++++++++++++

<3>.应用实例:安装glib的问题???

请问:系统已安装了底版本glib,rpm格式,我下载了glib高版本,原码,我想更新他,按照文档所说的:

tar vzfx glib-XXXXXXX.tar.gz

./configure

make

make install

后, 我再

rpm -q glib

显示的还是以前底版本的glib,我又想rpm -e 底版本的glib,可是这种蠢办法行不通,因为很多程序都是depends他的.

请大家帮我这个菜鸟解决这个蠢问题.

++++++++++++++++++++++++++++++++++++++++++++

自己编译并安装.tar.gz格式的源代码并不影响到.rpm的数据库。如果不出意外的话,你需要的东西应该已经正确安装了(我可没说能正确使用)。用

rpm -ql xxx

查一下那个低版本的安装在哪个目录下,在./configure后设置,重新make并make install就行。

例如,原来的glib安装在/usr/share/glib下,那就用:

./configure --prefix=/usr/share

make

make install

源代码的编译安装需要试验,可能它会直接把一大堆文件拷贝到/usr/share下,而不建glib目录。看一看你已经安装的,应该有所启发的。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/8679518.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-19
下一篇 2023-04-19

发表评论

登录后才能评论

评论列表(0条)

保存