Linux 安裝軟件方法

最近在學習apache的mod開發,要用到linux ,轉篇文章備用。

在Linux系統中,安裝軟件最常見的有兩種:
一種是軟件的源代碼,您需要自己動手編譯它。這種軟件安裝包通常是用gzip壓縮過的tar包(後綴名爲.tar.gz)。
  另一種是軟件的可執行程序,你只要安裝它就可以了。這種軟件安裝包通常是一個RPM包(RedHat Linux Packet Manager,就是RedHat的軟件包管理器),後綴名是.rpm。當然,也有用RPM格式打包的源代碼、用gzip壓縮過的可執行套裝程序。只要您理解了以下的思路,這兩種形式的安裝包也不在話下了。

源代碼編譯安裝

Linux軟件的源代碼分發是指提供了該軟件所有程序源代碼的發佈形式,需要用戶自己編譯成可執行的二進制碼並進行安裝。其優點是配置靈活,可以隨意去掉或保留某些功能/模塊,適應多種硬件/操作系統平臺及編譯環境;缺點是難度較大,一般不適合初學者使用。

  各個軟件的源代碼包一般都在各個軟件項目的主頁中提供下載,例如:www.apache.org等。

  1.*.src.rpm形式的源代碼軟件包

  安裝:

  rpm -rebuild *.src.rpm

  cd /usr/src/dist/RPMS

  rpm -ivh *.rpm

  卸載:

  rpm -e packgename

  說明:rpm --rebuild *.src.rpm命令將源代碼編譯並在/usr/src/dist/RPMS下生成二進制的RPM軟件包,然後再安裝該二進制包即可。Packgename如前所述。

  2.*.tar.gz/*.tgz/*.bz2形式的源代碼軟件包

  以tar.gz或tgz或tar.bz2等格式結尾的軟件包一般都是以源代碼方式發佈的軟件,安裝這類軟件首先需要對軟件進行解壓:

  # tar zxvf filename.tar.gz

  # tar xvfz filename.tgz

  # tar xvf j filename.tar.bz2

  解壓以後,就可以進入解壓後的目錄:

  # cd filename/

  對於這類文檔,常見的安裝步驟是:配置、編譯和安裝3步,其中最麻煩的就是配置,因爲所有和軟件安裝相關的配置都是在這一步指定的:比如軟件安裝位置等。

  配置:./configure

  編譯:make

  安裝:make install

  卸載:make uninstall 或手動刪除

  說明:建議解壓後先閱讀說明文件(ReadMe和Install),瞭解安裝的需求,有必要時還需改動編譯配置。有些軟件包的源代碼在編譯安裝後可以用make uninstall命令來進行卸載,如果不提供此功能,則軟件的卸載必須手動進行。由於軟件可能將文件分散地安裝在系統的多個目錄中,往往很難把它刪除乾淨,那你應該在編譯前進行配置,指定軟件將要安裝到目標路徑:./configure --prefix=目錄名,這樣可以使用“rm -rf 軟件目錄名”命令來進行乾淨徹底的卸載。與其他安裝方式相比,需要用戶自己編譯安裝是最難的,它適合於使用Linux已有一定經驗的人,一般不推薦初學者使用。

RPM格式軟件包的安裝

RPM是RedHat公司開發的軟件包管理器,使用它可以很容易地對RPM形式的軟件包進行安裝、升級、卸載、驗證、查詢等操作,安裝簡單,而卸載時也可以將軟件安裝在多處目錄中的文件刪除乾淨,因此推薦初學者儘可能使用RPM形式的軟件包。軟件包往往有特定的命令規範,名字是由“文件名+版本號+. rpm”組成的字串,例如apache-3.1.12-i386.rpm和apache-devel-3.1.12-i386.rpm,它們的軟件包名稱分別是apache和apache-devel。各個支持RPM格式的Linux常見軟件的RPM包可以在網站rpmfind.net中找到。

  1.安裝

  命令格式:

  rpm-i(or--install) options file1.rpm ... fileN.rpm

  參數:

  file1.rpm...fileN.rpm指將要安裝的RPM包的文件名。

  詳細選項:

  -h(or—hash)安裝時輸出hash記號;test只對安裝進行測試,並不實際安裝;--percent以百分比的形式輸出安裝的進度;-- excludedocs不安裝軟件包中的文檔;--includedocs安裝文檔;--replacepkgs強制重新安裝已經安裝的軟件包;-- replacefiles替換屬於其他軟件包的文件;--force忽略軟件包及文檔的衝突;--noscripts不運行預安裝和後安裝腳本;-- prefix NEWPATH將軟件包安裝到由NEWPATH指定的路徑下;--ignorearch不校驗軟件包的結構;--ignoreos不檢查軟件包運行的操作系統;--nodeps不檢查依賴性關係;--ftpproxy HOST用HOST作爲FTP代理;--ftpport PORT指定FTP的端口號爲PORT。

  通用選項:

  -v顯示附加信息;-vv顯示調試信息;--root DIRECTORY讓RPM將DIRECTORY指定的路徑作爲根目錄,這樣預安裝程序和後安裝程序都會安裝到這個目錄下;--rcfile FILELIST設置rpmrc文檔爲FILELIST;--dbpath DIRECTORY設置RPM資料庫所在的路徑爲DIRECTORY。

  2.刪除

  命令格式:

  rpm -e(or--erase) options pkg1 ... pkgN

  參數:

  pkg1...pkgN:要刪除的軟件包。

  詳細選項:

  --test只執行刪除的測試;--noscripts不運行預安裝和後安裝腳本程序;--nodeps不檢查依賴性。

  通用選項:

  -vv顯示調試信息;--root DIRECTORY讓RPM將DIRECTORY指定的路徑作爲根目錄,這樣預安裝程序和後安裝程序都會安裝到這個目錄下;--rcfile FILELIST設置rpmrc文檔爲FILELIST;--dbpath DIRECTORY設置RPM資料庫所在的路徑爲DIRECTORY。

  3.升級

  命令格式:

  rpm -U(or--upgrade) options file1.rpm ... fileN.rpm

  參數:

  file1.rpm...fileN.rpm指軟件包的名字。

  詳細選項:

  -h(or—hash)安裝時輸出hash記號;—oldpackage允許一箇舊版本;--test只進行升級測試;--excludedocs不安裝軟件包中的文件;--includedocs安裝文件;--replacepkgs強制重新安裝已經安裝的軟件包;--replacefiles替換屬於其他軟件包的文件;--force忽略軟件包及文件的衝突;--percent以百分比的形式輸出安裝的進度;--noscripts不運行預安裝和後安裝腳本;--prefix NEWPATH將軟件包安裝到由NEWPATH指定的路徑下;--ignorearch不校驗軟件包的結構;--ignoreos不檢查軟件包運行的操作系統;--nodeps不檢查依賴性關係;--ftpproxy HOST用HOST作爲FTP代理;--ftpport HOST指定FTP的埠號爲HOST。

  通用選項:

  -v顯示附加信息;-vv顯示調試信息;--root DIRECTORY讓RPM將DIRECTORY指定的路徑作爲根目錄,這樣預安裝程序和後安裝程序都會安裝到這個目錄下;--rcfile FILELIST設置rpmrc文件爲FILELIST ;--dbpath DIRECTORY設置RPM資料庫所在的路徑爲DIRECTORY。

4.查詢

  命令格式:

  rpm -q(or--query) options

  參數:

  pkg1...pkgN:查詢已安裝的軟件包。

  詳細選項:

  -p PACKAGE_FILE查詢軟件包的文件;-f FILE查詢FILE屬於哪個軟件包;-a查詢所有安裝的軟件包;--whatproVides CAPABILITY查詢提供了CAPABILITY功能的軟件包;-g group查詢屬於group組的軟件包;--whatrequires CAPABILITY查詢所有需要CAPABILITY功能的軟件包。

  選項:

  -i顯示軟件包的概要信息;-l顯示軟件包中的文件列表;-c顯示配置文件列表;-d顯示文件列表;-s顯示軟件包中文檔列表並顯示每個文件的狀態 -;-scripts顯示安裝、卸載、校驗腳本;--queryformat(or--qf)以用戶指定的方式顯示查詢信息;--dump顯示每個文件的所有已校驗信息;--proVides顯示軟件包提供的功能;--requires(or-R)顯示軟件包所需的功能。

  通用選項:

  -v顯示附加信息;-vv顯示調試信息;--root DIRECTORY讓RPM將DIRECTORY指定的路徑作爲根目錄,這樣預安裝程序和後安裝程序都會安裝到這個目錄下;-rcfile FILELIST設置rpmrc文件爲FILELIST;--dbpath DIRECTORY設置RPM資料庫所在的路徑爲DIRECTORY。

  5.校驗已安裝的軟件包

  命令格式:

  rpm -V(or--verify,or-y) options

  參數:

  pkg1...pkgN將要校驗的軟件包名

  軟件包選項:

  -p PACKAGE_FILE校驗PACKAGE_FILE所屬的軟件包;-a校驗所有的軟件包;-g group校驗所有屬於組group的軟件包。

  詳細選項:

  --noscripts不運行校驗腳本;--nodeps不校驗依賴性;--nofiles不校驗文檔屬性。

  通用選項:

  -v顯示附加信息;-vv顯示調試信息;--root PATH讓RPM將PATH指定的路徑做爲根目錄,這樣預安裝程序和後安裝程序都會安裝到這個目錄下;--rcfile FILELIST設置rpmrc文件爲FILELIST;--dbpath DIRECTORY設置RPM資料庫所在的路徑爲DIRECTORY。

  6.校驗軟件包中的文件

  語法:

  rpm -K(or--checksig) options file1.rpm...fileN.rpm

  參數:

  file1.rpm...fileN.rpm軟件包的文件名;Checksig--詳細選項;--nopgp不校驗PGP簽名。

  通用選項:

  -v顯示附加信息;-vv顯示調試信息;--rcfile FILELIST設置rpmrc文件爲FILELIST。

  7.其他RPM選項

  --rebuilddb重建RPM資料庫;--initdb創建一個新的RPM資料庫;--quiet儘可能地減少輸出;--help顯示幫助文件;--version顯示RPM的當前版本。

  如果你不喜歡在字符接口下安裝或卸載這些軟件包,完全可以安裝基於X-Window的圖形接口軟件包管理程序,如glint, xrpm這樣的圖形接口。或使用KDE的KPackage(單擊【開始】→【運行命令】,在其中輸入KPackage即可啓動KPackage)等,這樣對軟件包的安裝、升級、卸載、驗證和查詢就可以通過單擊鼠標來輕鬆完成,如圖所示。

需要注意的是,每個RPM軟件包格式的軟件並不一定是獨立的,各個RPM軟件包之間有一定的依賴關係,刪除某個RPM軟件包可能導致別的軟件不能使用。因此在升級和刪除時應該注意。 

 
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章