linux下安裝程式

來源:互聯網
上載者:User
最近要在apache下裝一個fastcgi的支援模組,費了挺多功夫,還沒搞定:(。先看看基礎的,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軟體包可能導致別的軟體不能使用。因此在升級和刪除時應該注意。最近要在apache下裝一個fastcgi的支援模組,費了挺多功夫,還沒搞定:(。先看看基礎的,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軟體包可能導致別的軟體不能使用。因此在升級和刪除時應該注意。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.