Linux應用程式基礎與RPM軟體包管理工具以及原始碼編譯安裝

tanwenlong01發表於2020-11-04

1.應用程式與系統命令的關係:

角色系統命令應用程式
檔案位置一般在/bin和/sbin目錄中,或為Shell內部命令通常在/usr/bin和/usr/sbin目錄中
主要用途完成對系統的基本管理工作,例如ip配置工具完成相對獨立的其他輔助任務,錄入可瀏覽網頁瀏覽器
適用環境一般只在字元操作介面中執行根據實際需要,有些程式可在圖形介面中執行
執行格式一般包括命令字,命令選項和命令引數通常沒有固定的執行格式

2.典型應用程式的目錄結構

檔案型別儲存目錄
普通執行程式檔案/usr/bin
伺服器執行程式檔案和管理程式檔案/usr/sbin
應用程式配置檔案/etc
日誌檔案/var/log
應用程式參考文件檔案/usr/share/doc
應用程式手冊頁檔案/usr/share/man

3.常見的軟體包封裝型別:

檔案型別儲存目錄
RPM軟體包副檔名為:“.rpm”
DEB軟體包副檔名為“.deb”
原始碼軟體包一般為“tar.gz”,“tar.bz2”等格式的壓縮包
綠色免安裝的軟體包軟體包的副檔名不一,以TarBall格式的居多在壓縮包內提供以編譯好的執行程式檔案 解開壓縮包後的檔案即可直接使用

4.RPM包管理工具

Red-Hat Package Manager
	由Red Hat 公司提出,被眾多LINUX發行版本採用
	建立統一的資料庫檔案
	詳細記錄軟體安裝包,解除安裝等變化資訊
	自動分析軟體包依賴關係
RPM軟體包
	軟體素材參考:http://www.rpm.org
	一般命名格式:bash-4.1.2-15.el6_4.X86_64.rpm
rpm命令的格式
	rpm命令能夠實現幾乎所有對RPM軟體包的管理功能
	執行 “man rpm" 命令可以獲取得關於rpm命令的詳細幫助資訊
rpm命令功能
	查詢,驗證RPM軟體包的相關資訊
	安裝,升級,解除安裝RPM軟體包
	維護rpm資料庫資訊等綜合管理操作
查詢RPM軟體包資訊
	查詢已安裝的RPM的軟體資訊
	格式:rpm -q [子選項] [軟體名}
		常用選項
		-qa -qi -ql -qf -qc -qd
	查詢未安裝的RPM軟體包中文資訊
	格式 rpm -qp[子選項] RPM包檔案
		常用選項
		-qpi -qpl -qpc -qpd

下表為軟體包命令查詢選項具體作用:

命令作用
rpm -qa顯示所有已安裝的程式名
rpm -qi +程式名顯示已安裝的程式的詳細資訊
rpm -ql +程式名顯示已安裝的的程式的檔案列表
rpm -qf +程式名查詢已安裝的程式屬於哪個安裝包
rpm -qc +程式名列出已安裝程式的配置檔案
rpm-qd +程式名列出已安裝程式的軟體包文件所在位置
rpm -qR+程式名列出已安裝程式的依賴的軟體包及檔案
rpm -qpi +程式名顯示未安裝的程式的詳細資訊
rpm-qpl +程式名顯示未安裝的程式的檔案列表
rpm -qpf +程式名顯示未安裝的程式屬於哪個程式
rpm -qpc +程式名顯示未安裝的程式的配置檔案
rpm -qpd +程式名顯示未安裝的程式的軟體包文件的位置
字元功能
-q使用詢問模式,當遇到任何問題時,rpm指令會先詢問使用者
-R顯示套件的關聯性資訊
- S顯示檔案莊濤,本引數需配合“-1”引數使用
-U<套件檔> 或–upgrade,<套件檔>:升級指定的套建檔
-v顯示指令執行過程
-vv詳細顯示指令執行過程,便於排錯

查詢rpm軟體包資訊的命令選項及含義:

命令選項作用
rpm-q +程式名查詢軟體包是否安裝
rpm-qa查詢xxx是否被安裝過
rpm-i安裝
rpm-e解除安裝
rpm-U升級(不管程式是否安裝過,都給它升級)
rpm–force強制
rpm–nodeps不檢查與其他軟體包的依賴關係
rpm-v顯示過程資訊
rpm-h在安裝或升級過程中以#顯示進度

如何安裝無簽名認證的rpm包

rpm的簽名機制是為了驗證rpm包來源的有效性和正當性,通過這個認證可以防止rpm包被惡意更改和確認包的來源,更加安全可靠
下面一條命令就是解決本地安裝rpm包,yum解決依賴關係但不是官方rpm包,缺乏簽名認證時的一種方法
yum --nogpgcheck .rpm (安裝.rpm包)

維護RPM資料庫

重建RPM資料庫 rpm --rebuilddb 或 rpm --initdb
-匯入驗證公鑰 rpm --import /media/cdrom/RPM-GPG-KEY-CentOS-7(在官網上下載相應金鑰)

解決軟體包依賴關係方法

安裝有依賴關係的多個軟體時
    被依賴的軟體包需要先安裝
    可同時指定多個.rpm包檔案進行安裝
解除安裝有依賴關係的多個軟體時
    依賴其他程式的軟體包需要先解除安裝
    可同時指定多個軟體名進行解除安裝
忽略依賴關係
    結合 “--nodeps”選項,但可能導致軟體異常

5.原始碼編譯概述

使用原始碼安裝軟體的優點
	獲得最新軟體版本,及時修復bug
	根據使用者需要,靈活定製軟體功能
應用場合舉例
	安裝較新版本的應用程式時
	當前安裝的程式無法滿足需要時
	需要為應用程式新增新的功能時
Tarball封包
	.tar.gz和.tar.bz2格式據多
	軟體素材參考:http://sourceforge.net
完整性校驗
	md5sum校驗工具
確認原始碼編譯環境
	需安裝支援C/C++程式語言編譯器
	gcc, gcc-c++, make, ...

編譯安裝的基本過程

1,tar 解包
tar zvxf/jxvf xxx.tar.gz/xxx.tar.bz2 -C 目標路徑
2,配置
./configure --prefix=目標路徑(此軟體安裝到哪裡去)
3,編譯
make && make install

相關文章