第5章-安裝及管理程式
一,Linux應用程式基礎
(1),Linux指令與應用程式的關系
1,Linux指令
#執行檔案大多比較小,通常放在/bin和/sbin目錄中
#如果是内部指令,常內建在Bash程式内,而不是獨立的執行檔案
#指令大多适用于“指令字選項參數”的格式
2,應用程式
#執行檔案放在:/usr/bin /usr/sbin /usr/local/bin /usr/local/sbin
#應用程式一般需要在作業系統之外在另行安裝,等同于“軟體”的概念
#應用程式一般沒有固定的執行格式,運作方式由程式開發者自行定義
#應用程式可能會使用到圖形界面,形式多樣化
#有些應用程式提供的執行檔案,能夠使用像Linux指令一樣的運作格式,也稱“程式指令”
(2),Linux應用程式的組成
#普通的可執行程式檔案:/usr/bin ,普通使用者即可執行
#伺服器程式、管理程式檔案:/usr/sbin ,隻有管理者能執行
#配置檔案:儲存在/etc目錄中,配置檔案較多時會建立相應的子目錄
#日志檔案:/var/log
#關于應用程式的參考文檔等資料:/usr/share/doc/
#執行檔案及配置檔案的man手冊頁:/usr/share/man/
(3),軟體包的類型
1,RPM軟體包
#擴充名.rpm ,隻能在使用RPM(RPM Package Manger)機制的Linux作業系統安裝
#安裝RPM包需要使用Linux系統中的“rpm”指令
2,DEB軟體包
#擴充名.deb ,隻能在使用DPKG(Debian Package)機制的Linux作業系統安裝
#安裝DEB軟體包需要使用Linux系統中的“dpkg”指令
3,源代碼軟體包
#一般制作成 .tar.gz 和 .tar.bz2 格式的壓縮封包件,是以叫“TarBall”包
#安裝源碼軟體包需要使用相應的編譯工具,如Linux中的C語言編譯器 gcc
4,附帶安裝程式的軟體包
#擴充名不一,但以“TarBall”格式的居多
#會提供用于安裝的可執行程式或腳本檔案,如 install sh setup 等
5,綠色免安裝的軟體包
#已經安裝完成的包,成了一個目錄了,打開來就能用

二,使用RPM包管理工具
(1),RPM概述
#RPM包管理器通過建立統一的檔案資料庫,對在Linux系統中安裝、解除安裝、更新的各種.rpm軟體包進行詳細的記錄,并能夠自動分析軟體包之間的依賴關系
#命名格式:軟體名-軟體版本-釋出次數.作業系統類型.硬體架構類型.rpm
如:bash-3.2-24.e15.i386.rpm
#硬體平台通常為“i386、i586、i686”,表示适用于Inetr公司的處理器
(2),使用RPM包管理指令
1,RPM指令實作的功能
#查詢、驗證RPM軟體包的相關資訊 #安裝、更新、解除安裝RPM軟體包
#維護RPM資料庫資訊等綜合管理操作
2,查詢RPM軟體包資訊
rpm –q 軟體名:精确查詢軟體名(不能輸錯一個字元)
rpm –ql 軟體名:查詢安裝好的軟體在哪
rpm –qa | grep 軟體名:模糊查詢,常用的查找方式
rpm –qf 目錄名或檔案名:絕對路徑、精确查詢檔案或目錄由哪個軟體包安裝
3,安裝、更新、解除安裝RPM軟體包
-i:安裝一個新的RPM軟體
-e:解除安裝指定名稱的軟體包
-U:檢查并更新軟體包,若發現未安裝,則等同于“-i”選項
-F:檢查并更新軟體包,若發現未安裝,則放棄安裝
- -force:強制安裝某個軟體包
- -nodeps:在安裝或更新、解除安裝一個軟體包時,不檢查與其他軟體的依賴關系
-h:在安裝或更新軟體包的過程中,以“#”号顯示安裝進度
-v:顯示軟體安裝過程中的詳細資訊
-ivh:常用組合鍵
4,解決依賴關系包-Yum
Yum -y install 軟體名:可以解決安裝有依賴關系的軟體
Yum -y remove 軟體名:解除安裝有多個依賴關系的軟體包件包
5,維護RPM資料庫
重建RPM資料庫:rpm --rebuilddb 或 rpm --inittdb
導入驗證公鑰:rpm --import /media/cdrom/RPM-GPG-KEY-….
三,從源代碼編譯安裝程式
(1),源代碼編譯概述
[安裝較新版本的應用程式時]
可以在程式功能、安全更新檔方面得到及時更新
[目前安裝的程式無法滿足應用需求時]
#對于RPM格式封裝的應用程式,一般隻包含了該軟體所能實作一小部分功能
#使用者可自行修改、定制,通過對程式的源代碼進行重新配置并編譯安裝後,可以定制更錄活、更豐富的功能
[為應用程式添加新的功能時]
#當你用現有的程式源代碼進行适當的修改,并增加了新的功能時,你也就必
須釋放出該軟體的源代碼,修改後在重新編譯安裝
注意:
gcc和make是最佳的編譯工具
gcc--version和make --version檢視版本資訊
(2),編譯安裝的基本過程