1、Linux應用程序基礎
2、RPM包管理
包管理系統初步:
RPM:RPM Package Manager
http://www.rpm.org
RPM包管理系統:
$ rpm
RPPM包的文件名稱:
bash-3.0-19.2.i386.rpm
bash:軟件名稱。
3.0-19.2:軟件的版本號。
i386:軟件所運行的最低硬件平台。
rpm:文件的擴展名,用來標識當前文件是rpm格式的軟件包。
RPM包管理功能:
rpm命令配合不同的參數可以實現以下的rpm包的管理功能:
查詢已安裝在linux系統中的RPM軟件包的信息。
查詢RPM軟件包安裝文件的信息。
安裝RPM軟件包到當前linux系統。
從當前linux系統中卸載已安裝的RPM軟件包。
從當前linux系統中升級已安裝的RPM軟件包。
使用rpm命令查詢軟件包:
1、查詢系統中安裝的所有RPM包
$ rpm -qa
查詢當前linux系統中已經安裝的軟件包。
例:$ rpm -qa grep -i x11 head -3 察看系統中包含x11字符串的前3行軟件包。
2、查詢軟件包是否安裝
$ rpm –q rpm包名稱 察看系統中指定軟件包是否安。
例: $ rpm -q bash 察看系統中bash軟件包是否安裝。
"rpm -q"命令中指定的軟件包名稱需要准確的拼寫,該命令不會在軟件包的名稱中進行局部匹配的查詢。
3、查詢已安裝軟件包詳細信息
$ rpm –qi RPM包名稱 查詢linux系統中指定名稱軟件包的詳細信息。
例:$ rpm -qi bash 察看bash軟件包的詳細信息。
"rpm -qi"命令的執行結果中包含較詳細的信息,包括:軟件名稱,版本信息,包大小,描述,等。
4、查詢已安裝軟件包中的文件列表
$ rpm –ql RPM包名稱 查詢已安裝軟件包在當前系統中安裝了哪些文件。
例:$ rpm -ql bash head -3 查看bash軟件在系統中已安裝文件的前3行文件列表。
$ rpm -ql bash grep bin 用過濾方式察看bash中包含bin字符串的文件列表。
5、查詢系統中文件所屬的軟件包
$ rpm –qf 文件名稱 查詢linux系統中指定文件所屬的軟件包。
例:$ rpm -qf /bin/bash 察看bash文件所屬的軟件包。
bash-3.0-19.2 顯示結果。
6、查詢RPM安裝包文件中的信息
$ rpm –qpi RPM包文件名 察看RPM包未安裝前的詳細信息。
$ rpm –qpl RPM包文件名 察看RPM包未安裝前的文件列表。
"rpm -qpi和rpm -qpl 這兩條命令可作為在安裝軟件包之前對其的了解。
7、rpm命令查詢實例
$ which mount 獲得mount命令的可執行文件路徑。
$ rpm –qf /bin/mount 查詢/bin/mount所屬的軟件包。
$ rpm –qi util-linux 查詢/bin/mount所屬軟件包的詳細信息。
$ rpm –qf util-linux grep mount 查詢/bin/mount所屬軟件包中包括mount相關所有文件。
使用rpm命令安裝軟件包:
1、rpm軟件包地基本安裝
$ rpm –i rpm安裝包文件名 安裝該軟件包中的文件到當前系統,安裝過程不提示任何信息。
2、在安裝軟件包的同時顯示詳細信息
$ rpm –ivh rpm安裝包文件 安裝該軟件包中的文件到當前系統,安裝過程會以百分比的形式顯示安裝的進度和一些其他信息。
3、RPM軟件包安裝的依賴關系
強制安裝:$ rpm --force –i rpm包文件名
注:要先滿足軟件包的依賴關系後再進行軟件包的安裝,使用強制安裝命令安裝不能保證軟件安裝到系統後一定能
正常運行,因此建議慎重使用。
使用rpm命令卸載軟件包:
1、RPM軟件包的卸載
$ rpm -e 軟件包名稱
軟件包的卸載,在卸載時不顯示任何信息。
注:RPM軟件包的卸載同樣存在依賴關系,只有在沒有依賴關系存在時才能對其進行卸載。
2、rpm軟件包卸載的依賴關系
在使用RPM命令進行卸載時,RPM命令會分析要卸載的軟件包的依賴關系,當存在依賴關系時會自動停止,並顯由
哪個軟件造成的卸載失敗。根據RPM提示的錯誤信息,確定先卸載的軟件包,再卸載被依賴的軟件包。
使用rpm命令升級軟件包:
$ rpm - U rpm安裝包文件名
注:"rpm -u"命令中使用的升級軟件包文件最好使用RED HAT公司針對當前的linux版本官方推出的升級文件,建議不要使用第三方提供的升級包。
應用程序編譯
開放源代碼應用程序的編譯安裝
(下面以多線程下載軟件"prozilla"的源代碼編譯安裝為例來說明源代碼編譯安裝的整個過程)
編譯應用程序前的准備工作:
1、確認系統中已經安裝了編譯環境
$ rpm -qa grep gcc
確定當前系統中安裝了gcc編譯器環境。
2、下載prozilla程序的源代碼安裝包文件
3、釋放已下載的源代碼軟件包文件
$ tar jxf prozilla-2.0.4.tar.bz2
釋放以下載的源代碼軟件包文件到當前目錄。解壓後的文件名:prozilla-2.0.4
擴展:tar的xzvf參數用於釋放以tar.gz格式的壓縮包。
4、進入源代碼目錄
$ cd prozilla-2.0.4 進入目錄。
$ pwd 顯示當前目錄路徑。
/home/teacher/download/prozilla-2.0.4 顯示結果。
編譯軟件安裝的路徑:
$ ./configure --prefix=/home/teacher/proz
在prozilla程序的配置中,使用"--prdfix"選項可以指定應用程序編譯後的安裝路徑,如果不使用"--prefix"
選項指定安裝路徑,configure程序將配置prozilla的默認安裝路徑為"/usr/local/bin"目錄。
5、程序編譯過程
$ make
使用make命令進行程序的二進制編譯。
6、程序安裝過程
$ make install
"make install"命令將按照configuer命令的"--prefix"選項中設定的安裝路徑將已編譯完成的應用程序安裝到目標目錄。
7、驗證編譯安裝的程序
$ ls /home/teacher/proz
察看proz文件夾中的文件。
bin include lib man share
編譯前的配置
$ ./configure - - help
編譯與安裝:
1、程序編譯過程
$ make
2、程序安裝過程
$ make install
3、驗證編譯安裝的程序
使用圖形界面系統工具完成RPM保的安裝