因为linux安装软件的方式比较多,所以没有一个通用的办法能查到某些软件是否安装了。总结起来就是这样几类:
① rpm包安装的,可以用rpm -qa看到,如果要查找某软件包是否安装,用 rpm -qa | grep “软件或者包的名字”。
注意,rpm区分大小写。
rpm -qa | grep nginx
② 以deb包安装的,可以用dpkg -l能看到。如果是查找指定软件包,用dpkg -l | grep “软件或者包的名字”;
dpkg -l | grep ruby
③ yum方法安装的,可以用yum list installed查找,如果是查找指定包,命令后加 | grep “软件名或者包名”;
yum list package
yum list installed
yum list installed | grep nginx
④ 如果是以源码包自己编译安装的,例如.tar.gz或者tar.bz2形式的,这个只能看可执行文件是否存在了,
上面两种方法都看不到这种源码形式安装的包。如果是以root用户安装的,可执行程序通常都在/sbin或/usr/bin目录下。
说明:
其中rpm yum 是Redhat系linux的软件包管理命令,dpkg 是debian系列的软件包管理命令。
这里以nginx为例。
① 查看安装路径:
whereis nginx
/usr/sbin/naginx ---执行路径
/usr/lib64/nginx ---安装路径
/etc/nginx/ --- 配置路径
/usr/share/nginx ---默认站点目录
② 查询文件的运行文件所在地址:
which nginx
③ rpm包安装 :
首先查到程序隶属的包
rpm -qf /usr/sbin/nginx
然后rpm -ql那个包可以看到那个包的所有文件和路径:
rpm -ql nginx-1.12.1-1.el7.ngx.x86_64
④ find
可以使用find查找文件的所在路径。
find 查找路径 查找参数
如 : 在根目录下查找以.conf结尾的文件
find / -name *.conf
⑤ locate
locate的功能和find类似。
如:查找所有路径下的mysql文件
locate mysql
⑥ ps
可以通过查找进程的方法找到对应的包的路径
ps -ef|grep mysql
可以简写成
pgrep mysql
版权说明 : 本文为转载文章, 版权归原作者所有 版权申明
原文链接 : https://blog.csdn.net/qq_43842093/article/details/121590800
内容来源于网络,如有侵权,请联系作者删除!