1. 程式人生 > >Linux常用命令(四)程序的安裝與管理

Linux常用命令(四)程序的安裝與管理

rpm 編譯安裝 侯良金 linux 安裝軟件

Linux常用命令(四)程序的安裝與管理


一、Linux應用程序基礎


1Linux應用程序的組成

■普通的可執行程序文件。一般保存在“/usr/bin”目錄中,普通用戶即可執行。

■服務器程序、管理程序文件。一般保存在“/usr/sbin”目錄下,只有管理員能執行。

■配置文件。一般保存在“/etc”目錄中,配置文件較多時會建立相應的子目錄。

■日誌文件。一般保存在“/var/log”目錄中。

■關於應用程序的參考文檔等數據。一般保存在“/usr/share/doc/”目錄中。

■執行文件及配置文件的man手冊頁。一般保存在“/usr/share/man/”目錄中。

2、軟件包的封裝類型

RPM軟件包:文件的擴展名為“.rpm”,只能在

RPM機制的Linux操作系統中安裝。RPM軟件包一般針對特定版本的系統量身定制,因此依賴性比較強。安裝RPM包需要使用系統中的rpm命令。


DEB軟件包:文件的擴展名為“.deb”,只能在使用DPKG機制的Linux操作系統中進行安裝,如DebianUbuntu等。安裝DEB軟件包需要使用系統中的dpkg命令。


■源代碼軟件包:這種軟件包是程序員開發完成的原始代碼,一般被制作成“.tar.gz”、“.tar.bz2”等格式的壓縮包文件,因多數使用tar命令打包而成,所以經常被稱為“TarBall”。安裝源碼軟件包需要使用相應的編譯工具,如Linux中的C語言編譯器gcc


■附帶安裝程序的軟件包:軟件包中會提供用於安裝的可執行程序或腳本文件,如

install.shsetup等,有時候會以“.bin”格式的單個安裝文件形式出現。只需運行安裝文件就可以根據向導程序的提示完成安裝操作。


■綠色免裝程序:此類軟件已經配置安裝完畢,可以直接打開使用。


二、使用RPM包管理工具

1RPM概述

RPM軟件的官方下載站點為http://www.rpm.org

使用RPM機制封裝的軟件包文件擁有約定俗成的命名格式,一般使用

軟件名一軟件版本一發布次數.操作系統類型.硬件架構類型.rpm

2、使用RPM包管理命令——rpm

rpm命令具有相當復雜的命令格式,結合不同的命令選項及子選項主要可以實現以下三類功能。


■查詢、驗證rpm軟件包的相關信息。

■安裝、升級、卸載RPM

軟件包。

■維護RPM數據庫信息等綜合管理操作。

2.1)、查詢RPM軟件包信息

不帶選項的“-q”選項可用於查詢已知名稱的軟件包是否已經安裝,需要使用準確的軟件名作為參數(可以是多個)。結合不同的子選項使用時,可以實現更具體的查詢。

–qa:顯示當前系統中以RPM方式安裝的所有軟件列表。

–qi:查看指定軟件包的名稱、版本、許可協議、用途描述等詳細信息。

–ql:顯示指定的軟件包在當前系統中安裝的所有目錄、文件列表。

–qf:查看指定的文件或目錄時由哪個軟件包所安裝的。

使用RPM命令只能查詢通過rpm方式安裝的軟件包信息。

2.2)、查詢RPM包文件中的相關信息

使用“-qp”選項時,必須以RPM包文件的路徑作為參數(可以有多個),而不是軟件包的名字。

–qpi:查看指定軟件包的名稱、版本、許可協議、用途描述等詳細信息。

–qpl:查看該軟件包貯備要安裝的所有目標目錄、文件列表。

2.3)、安裝、升級、卸載RPM軟件包

–i:在當前系統中安裝一個新的RPM軟件包。

–e:卸載指定名稱的軟件包。

–U:檢查並升級系統中的某個軟件包,若該軟件包原來並未安裝,則等同於“-i”選項。

–F:檢查並更新系統中的某個軟件包,若該軟件包原來並未安裝,則放棄安裝。

--force:強制安裝某個軟件包,當需要替換現已安裝的軟件包及文件,或者安裝一個比當前使 用的軟件版本更舊的軟件時,可以使用此選。(一般不建議使用)

--nodeps:在安裝或升級、卸載一個軟件包時,不檢查與其他軟件包的依賴關系。

–h:在安裝或升級軟件包的過程中,以“#”號顯示安裝進度。

–v:顯示軟件安裝過程中的詳細信息。

一般安裝軟件時使用“rpm -ivh

2.4)、維護RPM數據庫

■重建RPM數據庫

[[email protected] ~]# rpm --rebuilddb


或者

[[email protected] ~]#rpm --initdb


2.5)、導入驗證公鑰

Linux/UNIX應用領域,相當一部分軟件廠商會對發布的軟件包進行數字簽名,以確保軟件的完整性、合法性。對於用戶來說,可以利用軟件官方提供的公鑰文件,自動對下載的軟件包進行驗證,若在安裝軟件時出現驗證失敗的提示,則表示該軟件包可能已經被非法篡改了。

先把系統光盤掛載到/media中,執行命令:

[[email protected]~]#rpm --import /media/cdrom/RPM-GPG-KEY-redhat-release


三、從源代碼編譯安裝程序

1、解包

開源軟件的源代碼一般為TarBall形式,擴展名為“.tar.gz”或“.tar.bz2”,都可以使用tar命令進行解壓釋放。對於只有“.gz”擴展名的源代碼包,表示只經過壓縮而並未使用tar歸檔,直接使用gzip進行解壓縮。解壓時通常將各種軟件的源代碼目錄保存到“/usr/src/”目錄中,以便於集中管理。釋放後的軟件包目錄一般都會包括軟件名和版本信息。解包前先安裝編譯環境和依賴包。(安裝apache之前需要將系統上裝好的apache服務先卸掉。

httpd……tar.gz文件解包到/usr/src/目錄中。

[[email protected]~]#tar zxf httpd-2.2.15.tar.gz –C /usr/src/
[[email protected]~]#ls /usr/src/
debug  httpd-2.2.15 kernels


2、配置

配置需要進入源代碼目錄,對軟件的安裝目錄、功能選擇等參數進行預先配置。

配置工作通常由源代碼目錄中的“configure”腳本文件來完成,可用的各種配置參數可以通過在源代碼目錄中執行“./configure --help”進行查看。對不同的軟件程序來說,配置參數會存在區別,但是有一個“--prefix”形式的參數,卻是大多數開源軟件通用的,該配置參數用於指定軟件包安裝的目標文件夾。如果沒有指定任何配置參數,“configure”腳本將采用軟件默認的值進行配置。

[[email protected]~]#cd /usr/src/httpd-2.2.15/
[[email protected] httpd-2.2.15]#./configure  --prefix=/usr/local/apache/


3、編譯

編譯的過程主要是根據Makefile文件內(因此,若上一步的配置操作失敗,將無法進行編譯)的配置信息,將源代碼文件進行編譯而生成二進制的程序模塊、動態鏈接庫、可執行文件等。配置完成之後,只要在源代碼目錄中執行“make”命令即可執行編譯操作。編譯的過程比配置需要更長的時間,期間會顯示大量的執行過程信息。(還要註意軟件支持的系統級別時32位的還是64位的。)

[[email protected] httpd-2.2.15]#make


4、安裝

編譯完成後,就可以執行“make install”命令將軟件的執行程序、配置文件、幫助文檔等相關文件復制到Linux系統中了,即應用程序的最後“安裝”過程。安裝過程需要的時間相對要短些。

[[email protected] httpd-2.2.15]#make install


有時候為了便捷,上述的編譯、安裝步驟可以寫成一行命令執行,中間使用“&&”符號分隔即可。例如:

[[email protected] httpd-2.2.15]#make && make install


表示“make”命令執行成功以後再執行“make install”命令,否則將忽略“make install”命令

5、使用

安裝後使用需先配置文件。

[[email protected] httpd-2.2.15]#vim/usr/local/apache/conf/httpd.conf


修改配置文件httpd.conf的第97行,將前邊的“#”號去掉,保存退出。

然後啟動Apache

[[email protected] httpd-2.2.15]#/usr/local/apache/bin/apachectl start


裝了lynx的運行(沒裝lynx需要插上系統光盤安裝lynx)

[[email protected] httpd-2.2.15]#lynx 127.0.0.1


查看本機Apache運行狀態,如果看到“It works!”字樣表明Apache已經工作正常了。

本文出自 “侯良金” 博客,請務必保留此出處http://houliangjin.blog.51cto.com/13112910/1963299

Linux常用命令(四)程序的安裝與管理