- 1.Linux應用程式基礎
- (1)應用程式與系統命令關係
- (2)典型應用程式的目錄結構
- (3)常見的軟體包封裝型別
- 2.RPM軟體包管理工具
- (1)RPM軟體管理器Red-Hat Package Manager
- (2)RPM軟體包
- (3)查詢RPM軟體報資訊
- (1)rpm命令的格式
- (2)查詢已安裝的RPM軟體資訊
- (3)查詢RPM軟體包檔案中的資訊
- (4)安裝、升級、解除安裝RPM軟體包
- (1)安裝或升級RPM軟體
- (2)解除安裝指定的RPM軟體
- (5)維護RPM資料庫
- (6)解決軟體包依賴關係方法
- (1)軟體包管理器-yum
- (1)配置yum本地倉庫源
- (1)軟體包管理器-yum
- 3.原始碼編譯安裝
1.Linux應用程式基礎
(1)應用程式與系統命令關係
角色 | 系統命令 | 應用程式 |
---|---|---|
檔案位置 | 一般在/bin和/sbin目錄中,或為shell內部指令 | /usr/bin、/usr/sbin、/usr/local/bin、/usr/local/sbin |
主要用途 | 完成對系統的基本管理工作,例如:Ip配置工具 | 完成相對獨立的其他輔助任務,例如:網頁瀏覽器 |
適用環境 | 一般只在字元操作介面中執行 | 根據實際需要,有些程式可在入刑介面中執行 |
執行格式 | 一般包括命令字、命令選項和命令引數 | 通常沒有固定的執行格式,有程式開發者自行定義 |
(2)典型應用程式的目錄結構
檔案型別 | 儲存目錄 | 說明 |
---|---|---|
普通的可執行程式檔案 | /usr/bin | 所有使用者可執行 |
伺服器程式、管理程式檔案 | /usr/sbin | 只有管理員能執行 |
應用程式配置檔案 | /etc | 透過rpm或yum方式安裝的應用程式 |
日誌檔案 | /var/log | 系統日誌 |
應用程式參考文件檔案 | /usr/share/doc | 關於應用程式的參考文件等資料 |
應用程式手冊頁檔案 | /usr/share/man | 執行檔案及配置檔案的man手冊頁 |
(3)常見的軟體包封裝型別
RPM軟體包 | DEB軟體包 | 原始碼軟體包 | |
---|---|---|---|
系統支援 | RHEL、CentOS、OpenSUSE等系列 | Ubuntu、Debian等系列 | 包含程式的原始碼,需要編譯安裝 |
軟體包名稱格式 | XXX.rpm | XXX.deb | XXX.tar.gz、XXX.tar.bz2等格式的壓縮包 |
管理命令 | rpm 、 yum | dpkg 、 apt-get |
附帶安裝程式的軟體包:包含二進位制程式檔案,解壓即可直接使用,包含安裝指令碼或程式,解壓執行即可完成自動安裝。
2.RPM軟體包管理工具
(1)RPM軟體管理器Red-Hat Package Manager
由Red Hat公司提出,被眾多Linux發行版所採用;
建立統一的檔案資料庫;
詳細記錄軟體包安裝、解除安裝、升級等變化資訊;
自動分析軟體包依賴關係。
(2)RPM軟體包
軟體素材參考:http://www.rpm.org
一般命名格式:bash-4.2.46-28.el7.x86_64.rpm
軟體名稱:bash
版本號:4.2.46
釋出次數:28.el7
硬體平臺:x86_64
副檔名:rpm
(3)查詢RPM軟體報資訊
(1)rpm命令的格式
rpm命令能夠實現幾乎所有對RPM軟體包的管理功能;
執行“man rpm”命令可以獲得關於rpm命令的詳細幫助資訊;
rpm命令功能:查詢、驗證RPM軟體包的相關資訊;
安裝、升級、解除安裝RPM軟體包;
維護重建RPM資料庫資訊等綜合管理操作。
(2)查詢已安裝的RPM軟體資訊
rpm -q [子選項] [軟體名]
常用選項 | |
---|---|
-qa | 全量檢視已經安裝的所有軟體 |
-qi | 檢視軟體的詳細資訊 |
-ql | 檢視軟體的所有檔案 |
-qc | 檢視軟體的配置檔案 |
-qd | 檢視軟體的文件檔案 |
-qR | 檢視軟體的依賴包和檔案 |
-qf | 檢視檔案/目錄屬於哪個軟體 |
*注:rpm -qa | grep 軟體名 #全量檢視已經安裝的所有軟體,再透過grep過濾
(3)查詢RPM軟體包檔案中的資訊
rpm -qp [子選項] RPM包檔案
常用選項 | |
---|---|
-qpi | 根據軟體包檢視軟體的詳細資訊 |
-qpl | 根據軟體包檢視軟體的所有檔案 |
-qpc | 根據軟體包檢視軟體的配置檔案 |
-qpd | 根據軟體包檢視軟體的文件檔案 |
(4)安裝、升級、解除安裝RPM軟體包
(1)安裝或升級RPM軟體
rpm [選項] RPM包檔案...
常用選項 | |
---|---|
-i | 安裝一個新的 RPM 軟體包 |
-U | 安裝或升級 |
-F | 僅升級 |
*注:rpm -ivh 軟體包 [--nodeps --force] #強制安裝一個新的RPM軟體包,vh顯示安裝進度可省略;[--nodeps --force] 強制安裝
(DEP:dpkg -i XXX.deb)
(2)解除安裝指定的RPM軟體
rpm -e 軟體名
輔助選項 | |
---|---|
-e | 解除安裝指定名稱的軟體包 |
--force | 強制安裝某個軟體包,比如要安裝版本更舊的軟體包 |
--nodeps | 在安裝或升級、解除安裝一個軟體包時,不檢查與其他軟體包的依賴關係 |
*注:rpm -evh 軟體名 [--nodeps --force]
(DEP:dpkg -r XXX.deb)
(5)維護RPM資料庫
重建RPM資料庫
rpm --rebuilddb #重建RPM資料庫
或rpm --initdb
匯入驗證公鑰:
rpm --import 秘鑰 #向RPM資料庫匯入驗證秘鑰檔案
(6)解決軟體包依賴關係方法
安裝有依賴關係的多個軟體時:
被依賴的軟體包需要先安裝;可同時指定多個.rpm包檔案進行安裝。
解除安裝有依賴關係的多個軟體時:
依賴其他程式的軟體包需要先解除安裝;可同時指定多個軟體名進行解除安裝。
忽略依賴關係:
結合“--nodeps”選項,但可能導致軟體異常。
(1)軟體包管理器-yum
能夠自動解決軟體包的依賴關係,實現一鍵安裝軟體包。
(1)配置yum本地倉庫源
(1)掛載光碟映象
mount /dev/sr0 /mnt #把光碟機掛載mnt目錄下
df #驗證掛載情況
(2)進入 yum 倉庫配置目錄,備份原倉庫配置檔案
cd /etc/yum.repos.d/
mkdir repo.bak
mv *.repo repo.bak/
(3)建立 yum 本地倉庫源配置檔案
cd /etc/yum.repos.d/
vim local.repo
[local] ##倉庫類別
name=local ##倉庫名稱
baseurl=file:///mnt ##指定URL 訪問路徑為光碟掛載目錄
enabled=1 ##開啟此yum源,此為預設項,可省略
gpgcheck=0 ##不驗證軟體包的簽名
(gpgcheck=1 #gpgkey=file:///mnt/RPM-GPG-KEY-CentOS-7)
yum clean all && yum makecache ##刪除yum快取並更新
(4)使用 yum 安裝軟體
yum install -y 軟體名
3.原始碼編譯安裝
(1)使用 yum 安裝編譯軟體環境的依賴包 gcc gcc-c++ make ....
(2)官網下載,解壓軟體包
tar xf XXX.tar.gz
(3)進入軟體包目標使用 ./configure 配置軟體的安裝目錄、安裝模組等
cd 軟體包目錄
./configure --prefix=軟體安裝目錄 --XXX #可透過 --help 獲取幫助
(4)make 編譯,將原始碼轉換成可執行的二進位制程式檔案
(5)make install 安裝,複製二進位制程式檔案和軟體配置檔案等到軟體安裝目錄
原始碼編譯安裝軟體的過程。
1)使用yum安裝編譯安裝環境依賴包
2)下載解壓原始碼軟體包
3)進入軟體包目錄使用 ./configure 配置安裝目錄、安裝模組
4)使用 make 編譯
5)使用 make install 安裝
yum remove/erase #解除安裝
yum update #升級
yum list [軟體名] #查詢軟體列表
yum list installed/available/updates
yum info 軟體名 #檢視軟體資訊
yum search all 軟體關鍵詞 #根據關鍵詞搜尋軟體包
yum whatprovides 命令子/命令檔案 #根據命令搜尋軟體包