一、linux應用程式基礎
1、應用程式與系統命的關系
(1)檔案位置
系統指令:一般在/bin和/sbin目錄中,或為 shell内部指令
應用程式:通常在/usr/bin和/usr/sbin目錄中
(2)主要用途
系統指令:完成對系統的基本管理工作,例如p配置工具
應用程式:完成相對獨立的其他輔助任務,例如網頁浏覽器
(3)适用環境
系統指令:一般隻在字元操作界面中運作
應用程式:根據實際需要,有些程式可在圖形界面中運作
(4)運作格式
系統指令:一般包括指令字、指令選項和指令參數
應用程式:通常沒有固定的執行格式
2、典型應用程式的目錄結構
(1)普通的可執行程式檔案。一般儲存在“/usr/in”目錄中,普通使用者即可執行。
(2)伺服器程式、管理程式檔案。一般儲存在“/usr/sbin”目錄中,隻有管理者能執行。
(3)配置檔案。一般儲存在“/etc”目錄中,配置檔案較多時會建立相應的子目錄。
(4)日志檔案。一般儲存在“/var/log”目錄中
(5)關于應用程式的參考文檔等資料。一般儲存在“/usrr/share/doc/”目錄中。
(6)執行檔案及配置檔案的man手冊頁。一般儲存在/usr/share/man/”目錄中。
3、常見的軟體包封裝類型
二、rpm包管理工具
rpm package manager
由red hat公司提出,被衆多 linux發行版所采用
建立統一的資料庫檔案
詳細記錄軟體包安裝、解除安裝等變化資訊
自動分析軟體包依賴關系
rpm軟體包
軟體素材參考 : http://www.rpm.org
一般命名格式:bash-4.1.2-15.el64.x86_64.rpm
三、查詢rpm軟體包資訊
1、查詢已安裝的rpm軟體資訊
常見的幾個子選項:
(1)-qa:顯示目前系統中以rpm方式安裝的所有軟體清單
如圖我們執行“rpm -qa | head-5”指令去檢視軟體清單的前五行。
(2)-qi:檢視指定軟體包的名稱、版本、許可協定、用途描述等詳細資訊(--info)
如圖我們在之前軟體檢視軟體清單的基礎上執行“rpm -qi +任意一個軟體包名稱”的指令去檢視它的詳細資訊。
(3)-q1:顯示指定的軟體包在目前系統中安裝的所有目錄、檔案清單(--list)
如圖我們執行“rpm -ql +軟體包的名稱”的指令來顯示該軟體包在目前系統中安裝的使用目錄資訊。
(4)-qf:檢視指定的檔案或目錄是由哪個軟體包所安裝的(--file)
如圖我們執行“rpm -qf /usr/bin/vim”的指令去檢視vim目錄所有那個軟體包安裝的。
(5)-qc:檢視出軟體包的配置檔案
如圖我們執行“rpm -qc +軟體包的名稱”的指令去檢視此軟體包的配置檔案。
(6)-qd:檢視軟體封包檔手冊
如圖我們執行“rpm -qd +軟體包的名稱”的指令去檢視此軟體封包檔手冊。
2、查詢未安裝的rpm軟體封包件資訊
常用的幾個字選項:“-qpi、-qpl、-qpc、-qpd”,這些子選項的使用方法與上述的方法一樣操作。
四、安裝、更新解除安裝rpm軟體包
1、安裝或更新rpm軟體包
(1)-i:在目前系統中安裝(install)一個新的rpm軟體包。
(2)-e:解除安裝指定名稱的軟體包。
(3)-u:檢查并更新系統中的某個軟體包,若該軟體包原來并未安裝,則等同于“-i”選項。
(4)-f:檢查并更新系統中的某個軟體包,若該軟體包原來并未安裝,則放棄安裝。還有幾個相關的指令選項,可以用于輔助安裝、解除安裝軟體包的過程。
(5)-- force:強制安裝某個軟體包,當需要替換現已安裝的軟體包及檔案,或者安裝一個比目前使用的軟體版本更舊的軟體時,可以使用此選項。
(6)--nodeps:在安裝或更新、解除安裝一個軟體包時,不檢查與其他軟體包的依賴關系。
(7)-h:在安裝或更新軟體包的過程中,以“#”号顯示安裝進度。
(8)-v:顯示軟體安裝過程中的詳細資訊。
五、維護rpm資料庫
1、重建rpm資料庫
用于記錄在 linux系統中安裝、解除安裝、更新應用程式的相關資訊,由rpm包管理系統自動完成維護,一般不需要使用者幹預。當rpm資料庫發生損壞(誤删檔案、非法關機、病毒破壞等導緻),且 linux系統無法自動完成修複時,将導緻無法使用rpm指令正常地安裝、解除安裝及查詢軟體包。這時可以使用rpm指令的“--rebuilddb或“-initdb-”功能對rpm資料庫進行重建。
2、導入驗證公鑰
六、解決軟體包依賴關系方法
1、安裝有依賴關系的多個軟體時
被依賴的軟體包需要先安裝
可同時指定多個rpm封包件進行安裝
2、解除安裝有依賴關系的多個軟體時
依賴其他程式的軟體包需要先解除安裝
可同時指定多個軟體名進行解除安裝
3、忽略依賴關系
結合nodeps”選項,但可能導緻軟體異常
七、源代碼編譯
使用源代碼安裝軟體的優點
獲得最新的軟體版本,及時修複bug
根據使用者需要,靈活定制軟體功能
應用場合舉例
安裝較新版本的應用程式時
目前安裝的程式無法滿足需要時
需要為應用程式添加新的功能時
八、編譯安裝源代碼包
九、編譯安裝過程
後期會出一些手工編譯的文檔,屆時請來捧場噢,謝謝!