Linux 軟件安裝卸載 (源碼、rpm)

Linux下軟件的安裝主要有兩種不一樣的形式。
第一種安裝爲源碼安裝,文件名爲xxx.tar.gz壓縮包爲主;以第一種方式發行的軟件多爲以源碼形式發送的。
第二種方式則是另外一種安裝文件名爲xxx.i386.rpm。直接以二進制形式發送的。
第三種 是在線安裝方法 yum  在另外一篇中詳細介紹。

node

 

 

安裝前先查看是否安裝過,避免重複安裝python

查看有沒有安裝過(以mysql爲例):mysql

          yum list installed mysql*linux

          rpm -qa | grep mysql*sql

         find / -name mysql*shell

 

 

 

對於第一種,源碼安裝方法以下:bash

1 .拷貝 首先,將安裝文件拷貝至你的目錄中。例如,若是你是以root身份登陸上的,就將軟件拷貝至/root中。工具

#cp xxx.tar.gz /root性能

2 .解壓 因爲該文件是被壓縮並打包的,應對其解壓縮。命令爲:測試

#tar zxvf filename.tar.gz 若是是filename.tar.bz2格式的,應該是tar jxvf filename.tar.bz2來解壓

3. 查看 執行該命令後,安裝文件按路徑,解壓縮在當前目錄下。用ls命令能夠看到解壓縮後的文件。一般在解壓縮後產生的文件中,有「Install」的文件。該文件爲純文本文件,詳細講述了該軟件包的安裝方法。

4.configure檢測庫和環境   執行解壓縮後產生的一個名爲configure的可執行腳本程序。它是用於檢查系統是否有編譯時所需的庫,以及庫的版本是否知足編譯的須要等安裝所須要的系統信息。爲隨後的編譯工做作準備
命令爲: #./configure

若是您想把軟件安裝到指定目錄,應該用#./configure --prefix=/您本身指定的目錄,好比我想把一個mlterm安裝到/opt/mlterm目錄中,應該以下輸入

#./configure --prefix=/opt/mlterm

(./configure是用來檢測你的安裝平臺的目標特徵的。好比它會檢測你是否是有CC或GCC,並非須要CC或GCC,它是個shell腳本。根據系統叄數及環境產生合適的Makefile文件或是C的頭文件(header file),讓源程序能夠很方便地在這些不一樣的平臺上被編譯鏈接。)

5.make編譯   檢查經過後,將生成用於編譯的MakeFile文件。此時,能夠開始進行編譯了。編譯的過程視軟件的規模和計算機性能的不一樣,所耗費的時間也不一樣。命令爲: 
#make
(這一步就是編譯,大多數的源代碼包都通過這一步進行編譯)
編譯成功後生成最終軟件(含設置文件與可執行文件)

 

6.安裝 成功編譯後,鍵入以下的命令開始安裝:

#make install

7.安裝完畢,應清除編譯過程當中產生的臨時文件和配置過程當中產生的文件。鍵入以下命令:

#make clean
#make distclean

至此,軟件的安裝結束。

 

 

 

第二種 RPM包安裝

RPM 是 Red Hat Package Manager 的縮寫,原意是Red Hat 軟件包管理
註解:一種用於互聯網下載包的打包及安裝工具,它包含在某些Linux分發版中。它生成具備.RPM擴展名的文件。與Dpkg相似。
經常使用
rpm -q (query)
rpm -i (install)
rpm -e ()
rpm -u (update)


1.查詢已安裝的rpm包

此處軟件名字末尾不要使用  .rpm
rpm -q SoftwareName (查詢指定軟件名)
rpm -qa (查詢全部已安裝)rpm -qa|more rpm -qa|grep
rpm -ql SoftwareName   (查詢此包安裝位置)
rpm -qi SoftwareName  (查詢包安裝信息)
rpm -qc SoftwareName (查詢包的配置文件)
rpm -qf 文件絕對路徑 (已安裝文件屬於那個包)
rpm -qd SoftwareName  ( 已經安裝軟件的文檔安裝位)
rpm -qR SoftwareName(已安裝軟件所依賴的軟件包及文件)


2.查詢存在但未安裝的rpm包
查看的前提是您有一個.rpm 的文件,也就是說對既有軟件file.rpm的查看等;
查看一個軟件包的用途、版本等信息;
rpm -qpi file.rpm (package)
舉例:[root@localhost RPMS]# rpm -qpi lynx-2.8.5-23.i386.rpm

查看一件軟件包所包含的文件;
語法: rpm -qpl file.rpm
舉例:[root@localhost RPMS]# rpm -qpl lynx-2.8.5-23.i386.rpm

查看軟件包的文檔所在的位置;
語法: rpm -qpd file.rpm
舉例:[root@localhost RPMS]# rpm -qpd lynx-2.8.5-23.i386.rpm

查看一個軟件包的配置文件;
語法: rpm -qpc file.rpm
舉例:[root@localhost RPMS]# rpm -qpc lynx-2.8.5-23.i386.rpm


查看一個軟件包的依賴關係
語法: rpm -qpR file.rpm
舉例:
[root@localhost archives]# rpm -qpR yumex_0.42-3.0.fc4_noarch.rpm
/bin/bash
/usr/bin/python
config(yumex) = 0.42-3.0.fc4
pygtk2
pygtk2-libglade
rpmlib(CompressedFileNames) <= 3.0.4-1
rpmlib(PayloadFilesHavePrefix) <= 4.0-1
usermode
yum >= 2.3.2

 


3.安裝和升級一個rpm 包;
rpm -ivh file.rpm      注:這個是用來安裝一個新的rpm 包;
rpm -Uvh file.rpm    注:這是用來升級一個rpm 包;

 

若是有依賴關係的,請解決依賴關係,其實軟件包管理器能很好的解決依賴關係,請看前面的軟件包管理器的介紹;若是您在軟件包管理器中也找不到依賴關係的包;那隻能經過編譯他所依賴的包來解決依賴關係,或者強制安裝;

語法結構:
rpm -ivh file.rpm --nodeps --force
rpm -Uvh file.rpm --nodeps --force

更多的參數,請查看 man rpm

 

舉例應用:

[root@localhost RPMS]# rpm -ivh lynx-2.8.5-23.i386.rpm

Preparing... ########################################### [100%]
1:lynx ########################################### [100%]

 


[root@localhost RPMS]# rpm -ivh --replacepkgs lynx-2.8.5-23.i386.rpm
Preparing... ########################################### [100%]
1:lynx ########################################### [100%]

注: --replacepkgs 參數是以已安裝的軟件再安裝一次;有時沒有太大的必要;

 

 

測試安裝參數 --test ,用來檢查依賴關係;並非真正的安裝;

[root@localhost RPMS]# rpm -ivh --test gaim-1.3.0-1.fc4.i386.rpm
Preparing... ########################################### [100%]

 

由新版本降級爲舊版本,要加 --oldpackage 參數;
[root@localhost RPMS]# rpm -qa gaim-1.5.0-1.fc4
[root@localhost RPMS]# rpm -Uvh --oldpackage gaim-1.3.0-1.fc4.i386.rpm
Preparing... ########################################### [100%]
1:gaim ########################################### [100%]
[root@localhost RPMS]# rpm -qa gaim
gaim-1.3.0-1.fc4

 

爲軟件包指定安裝目錄:要加 -relocate 參數;下面的舉例是把
gaim-1.3.0-1.fc4.i386.rpm指定安裝在 /opt/gaim 目錄中;

[root@localhost RPMS]# rpm -ivh --relocate /=/opt/gaim gaim-1.3.0-1.fc4.i386.rpm
Preparing... ########################################### [100%]
1:gaim ########################################### [100%]
[root@localhost RPMS]# ls /opt/
gaim

爲軟件包指定安裝目錄:要加 -relocate 參數;下面的舉例是把lynx-2.8.5-23.i386.rpm 指定安裝在 /opt/lynx 目錄中;

[root@localhost RPMS]# rpm -ivh --relocate /=/opt/lynx --badreloc lynx-2.8.5-23.i386.rpm
Preparing... ########################################### [100%]
1:lynx ########################################### [100%]

 

 

咱們安裝在指定目錄中的程序如何調用呢?通常執行程序,都放在安裝目錄的bin或者sbin目錄中;看下面的例子;若是有錯誤輸出,就作相應的連接,用 ln -s ;

[root@localhost RPMS]# /opt/lynx/usr/bin/lynx
Configuration file /etc/lynx.cfg is not available.
[root@localhost RPMS]# ln -s /opt/lynx/etc/lynx.cfg /etc/lynx.cfg
[root@localhost RPMS]# /opt/lynx/usr/bin/lynx www.linuxsir.org

 

 

 

 

 

軟件的卸載

對於第二種rpm  redhat packet manager

1.軟件的卸載主要是使用rpm來進行的。卸載軟件首先要知道軟件包在系統中註冊的名稱。鍵入命令:

#rpm -q -a

便可查詢到當前系統中安裝的全部的軟件包。

2. 肯定了要卸載的軟件的名稱,就能夠開始實際卸載該軟件了。鍵入命令:

#rpm -e [package name]

便可卸載軟件。參數e的做用是使rpm進入卸載模式。對名爲[package name]的軟件包進行卸載。因爲系統中各個軟件包之間相互有依賴關係。若是因存在依賴關係而不能卸載,rpm將給予提示並中止卸載。你能夠使用以下的命令來忽略依賴關係,直接開始卸載:

#rpm -e [package name] -nodeps
忽略依賴關係的卸載可能會致使系統中其它的一些軟件沒法使用

若是想知道rpm包安裝到哪裏了呢?

應該用 #rpm -ql [package name]

 

對於第一種源碼

如何卸載用源碼包安裝的軟件?

最好是看README和INSTALL ;通常的狀況下都有說,但大多軟件沒有提供源碼包的卸載方法;咱們能夠找到軟件的安裝點刪除。主要看你把它安裝在哪了。

好比:

若是安裝軟件時,指定個目錄。這個問題也不會難;

好比用源碼包安裝gaim 的

#./configure --prefix=/opt/gaim

#make

#make install

若是安裝mlterm

#./configure --prefix=/opt/mlterm

#make

#make install

把源碼包安裝的軟件,都指定安裝在 /opt目錄中,這樣不就知道了??

若是刪除,就刪除相應的軟件目錄;

有些軟件要在解壓安裝目錄中執行 make uninstall ,這樣就卸載掉了

相關文章
相關標籤/搜索