標籤:

CentOS下tar包(源碼包)和rpm包(二進位包)的安裝

CentOS下tar包(源碼包)和rpm包(二進位包)的安裝

1 人贊了文章

在CentOS系統中,軟體安裝程序比較紛繁複雜,不過最常見的有兩種:

1)一種是軟體的源代碼,您需要自己動手編譯它。這種軟體安裝包通常是用gzip壓縮過的tar包(後綴為.tar.gz)。

2)另一種是軟體的可執行程序,你只要安裝它就可以了。這種軟體安裝包通常被是一個RPM包(Redhat Linux Packet Manager,就是Redhat的包管理器),後綴是.rpm。

  當然,也有用rpm格式打包的源代碼,用gzip壓縮過的可執行程序包。只要您理解了以下的思路,這兩種形式的安裝包也不在話下了。

下面,我們就分成兩個部分來說明軟體安裝思路:

第一部分:搞定.tar.gz

首先,將安裝文件拷貝至你的目錄中。例如,如果你是以root身份登錄上的,就將軟體拷貝至/root中。

  ---- #cp filename.tar.gz /root

  ---- 由於該文件是被壓縮並打包的,所以,應對其解壓縮。命令為:

  ---- #tar xvzf filename.tar.gz

  ---- 執行該命令後,安裝文件按路徑被解壓縮在當前目錄下。用ls命令可以看到解壓縮後的文件。通常在解壓縮後產生的文件中,有名為"INSTALL"的文件。該文件為純文本文件,詳細講述了該軟體包的安裝方法。

  ---- 對於多數需要編譯的軟體,其安裝的方法大體相同。執行解壓縮後產生的一個名為configure的可執行腳本程序。它是用於檢查系統是否有編譯時所需的庫,以及庫的版本是否滿足編譯的需要等安裝所需要的系統信息。為隨後的編譯工作做準備。命令為:

  ---- #./configure

  ---- 如果檢查過程中,發現有錯誤,configure將給予提示,並停止檢查。你可以跟據提示對系統進行配置。再重新執行該程序。檢查通過後,將生成用於編譯的MakeFile文件。此時,可以開始進行編譯了。編譯的過程視軟體的規模和計算機的性能的不同,所耗費的時間也不同。命令為:

  ---- #make

  ---- 成功編譯後,鍵入如下的命令開始安裝:

  ---- #make install

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

  #make clean

  #make distclean

  至此,軟體的安裝結束

例如:

1.首先,使用tar -xzvf來解開這個包,如:

   #tar -xzvf apache_1_3_6_tar.gz

   這樣就會在當前目錄中創建了一個新目錄(目錄名與.tar.gz包的文件名類似),用來存放解壓了的內容。如本例中就是apache_1.3.6

2.進入這個目錄,再用ls命令查看一下所包含的文件,如:

   #cd apache_1.3.6

   #ls

   你觀察一下這個目錄中包含了以下哪一個文件:configure、Makefile還是Imake。

1)如果是configure文件,就執行:

   #./configure

   #make

   #make install

2)如果是Makefile文件,就執行:

   #make

   #make install

3)如果是Imake文件,就執行:

   #xmkmf

   #make

   #make install

make原理是執行一個叫(所生成的)Makefile文件里的指令,make的基本用處是自動根據makefile里的指令來編譯源文件。它還可以用來做比如安裝軟體,卸載軟體等事情,但前提是作者在makefile里寫了。比如makefile里有這麼些內容:

install : < commands >

然後用make install的話,make程序就會按照上面install:後面的指令< commands >執行安裝,uninstall也是一樣的道理,大部分的作者會寫有卸載的部分,這時只要簡單地執行make unistall就可以,如果作者懶沒有寫,那就只有根據make install中的步驟,看它把什麼文件拷到哪去了,然後分別手動刪除。

還有關鍵的一點是,編譯安裝完成後,不要刪除源代碼,不然就算作者寫了unnistall目標,你也沒有makefile可以執行了。

3.如果沒有出現什麼錯誤提示的話,就搞定了。至於軟體安裝到什麼地方,通常會在安裝時出現。否則就只能查閱一下README。

執行命令查看安裝目錄: rpm -ql apache

如果遇到錯誤提示,也別急,通常是十分簡單的問題:

1)沒有安裝C或C++編譯器:

  確診方法:執行命令gcc(C++則為g++),提示找不到這個命令。

  解決方法:將Linux安裝光碟mount上來,然後進入RPMS目錄,執行命令:

   #rpm -ivh gcc* (哈哈,我們用到了第二種安裝方式)

2)沒有安裝make工具:

  確診方法:執行命令make,提示找不到這個命令。

  解決方法:將Linux安裝光碟mount上來,然後進入RPMS目錄,執行命令:

   #rpm -ivh make*

3)沒有安裝autoconf工具:

  確診方法:執行命令make,提示找不到這個命令。

  解決方法:將Linux安裝光碟mount上來,然後進入RPMS目錄,執行命令:

   #rpm -ivh autoconf*

4)缺少某些鏈接庫;

  確診方法:在make時,提示需要某些文件。

  解決方法:安裝包含這個文件的包,這就需要積累了。

第二部分:搞定.rpm

  RPM是Red Hat公司隨Redhat Linux推出了一個軟體包管理器,通過它能夠更加輕鬆容易地實現軟體的安裝。

將安裝文件拷貝至你的目錄中/usr/src。然後使用rpm來安裝該文件。命令如下:

  ---- #rpm -ivh filename.i386.rpm

  ---- rpm將自動將安裝文件解包,並將軟體安裝到預設的目錄下。並將軟體的安裝信息註冊到rpm的資料庫中。

  1.安裝軟體:執行rpm -ivh rpm包名,如:

   #rpm -ivh apache-1.3.6.i386.rpm

  2.升級軟體:執行rpm -Uvh rpm包名。

  3.反安裝:執行rpm -e rpm包名。

  4.查詢軟體包的詳細信息:執行rpm -qpi rpm包名

  5.查詢某個文件是屬於那個rpm包的:執行rpm -qf rpm包名

  6.查該軟體包會向系統裡面寫入哪些文件:執行 rpm -qpl rpm包名

推薦閱讀:

Linux是否會取代Unix?
Windows 用戶如何反擊 Linux 用戶?
Linux下代碼直播用啥軟體好?
linux系統哪個版本好?
龔神給微軟 Linux 子系統寫的支持 DirectX 9、11的代碼到底屬不屬於「驅動」?

TAG:Linux |