在linux下如何判斷是否已經安裝某個軟件?

我的系統是red hat

我用命令rpm查是否安裝了某個軟件(例如: matlab 與 fluent ),得到了如下的結果:

我用rpm -qa (| grep) matlab , 回車後沒有任何顯示
我用rpm -qa fluent , 回車後沒有任何顯示
我用rpm -qa vasp , 回車後沒有任何顯示

但實際上肯定是裝了matlab和fluent , 而我用# rpm -q fluent
顯示的卻是package fluent is not installed
matlab也一樣

另外,命令 # 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目錄。看一看你已經安裝的,應該有所啓發的。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章