0 Linux 軟體安裝管理概述
一、軟體包管理簡介
二、rpm命令管理
三、yum線上管理
四、原始碼包管理
五、指令碼安裝包
1 軟體包管理簡介
軟體包的分類
- 原始碼包
- 二進位制包
原始碼包的特點
- 開源,如果有足夠能力,可以修改原始碼
- 可以自由選擇所需的功能
- 軟體四編譯安裝,更加適合自己的系統,更加穩定也效率更高
- 解除安裝方便
原始碼包的缺點
- 安裝過程步驟較多,尤其安裝較大的軟體集合,容易出現錯誤
- 編譯過程時間較長,安裝比二進位制安裝時間長
- 因為是編譯安裝,安裝過程中一旦報錯新手很難解決
二進位制包的優點
- 包管理系統簡單,只通過幾個命令就可以實現包的安裝、升級、查詢和解除安裝
- 安裝速度比原始碼包安裝快得多
二進位制包的缺點
- 經過變異,不再可以看到原始碼
- 功能選擇不如原始碼包靈活
- 依賴性
指令碼安裝包
所謂的指令碼安裝包,就是把複雜的軟體包安裝過程寫成了程式指令碼,使用者可以自信程式指令碼實現一鍵安裝。單司機安裝的還是原始碼包和二進位制包
- 優點:安裝簡單、快捷
- 缺點:完全喪失了自定義性
2 rpm命令管理
- RPM包命名規則
- 安裝命令
- 升級與解除安裝
- RPM包查詢
- RPM包校驗
RPM包命名規則
httpd-2.2.15-15.el6.centos.1.i686.rpm
- httpd 軟體包名
- 2.2.15 軟體版本
- 15 軟體釋出次數
- el6.centos 適合的Linux平臺
- i686適合的硬體平臺
- rpm rpm包副檔名
RPM包依賴性
- 樹形依賴:a ➡️ b ➡️c
- 環形依賴: a ➡️ b ➡️c ➡️ a
- 模組依賴:模組依賴,查詢網站 www.rpmfind.net
包全名與包名
- 包全名: 操作的包是沒有安裝的軟體包時,使用包全名。而且要注意路徑
- 包名:操作已經安裝的軟體包時,使用包名,是搜尋
/var/lib/rpm/
中的資料庫
RPM安裝命令
rpm [選項] 包全名複製程式碼
選項:
- -i (install)安裝
- -v (verbose) 顯示資訊資訊
- -h (hash) 顯示進度
- nodeps 不檢測依賴性
RPM包升級
rpm -Uvh 包全名複製程式碼
選項:
- -U (upgrade) 升級
RPM包解除安裝
rpm -e 包名複製程式碼
選項:
- -e (erase) 解除安裝
RPM包查詢(是否安裝)
rpm -qa 包名複製程式碼
選項:
- -q (query) 查詢
- -a (all) 全部
常用
rpm -qa | grep 包名複製程式碼
查詢軟體包詳細資訊
rpm -qip 包名複製程式碼
選項:
- -i (information) 查詢軟體資訊
- -p (package) 查詢未安裝包資訊
查詢軟體包安裝位置
rpm -ql 包名複製程式碼
選項:
- -l (list) 列表
- -p (package) 查詢未安裝包資訊
查詢系統檔案屬於哪個RPM包
rpm -qf 系統檔名複製程式碼
選項:
- -f (file) 檔案
查詢軟體包的依賴性
rpm -qR 包名複製程式碼
選項:
- -R (requires) 查詢軟體包的依賴性
- -p (package) 查詢未安裝包資訊
RPM包校驗
rpm -V 已安裝包名複製程式碼
選項:
- -V (verify) 校驗制定的RPM包中的檔案
驗證內容中的8個資訊
- S 檔案大小是否改變
- M 檔案的型別或者許可權(rwx)是否被改變
- 5 檔案MD5校驗是否改變
- D 裝置的主從程式碼是否改變
- L檔案路徑是否改變
- U 檔案的屬主是否改變
- G 檔案的屬組是否改變
- T 檔案的修改司機安是否改變
3 yum線上管理
好處:將所有軟體包放到官方伺服器上,當警醒yum線上安裝時,可以自動解決依賴性問題
yum原始檔
yum命令
yum list
#查詢所有可用的軟體包列表
yum search 關鍵字
#搜尋伺服器上所有和關鍵字相關的包
yum -y install 包名
#安裝包 -y 自動回答yes
yum -y update 包名
#升級包
yum -y remove 包名
#解除安裝包複製程式碼
⚠️ 伺服器使用最小化安裝,用什麼軟體安裝什麼,儘量不解除安裝
yum軟體組管理命令
yum grouplist
#列出所有可用額度軟體組列表
yum groupinstall 軟體組名
#安裝指定軟體組,組名可以由grouplist查詢出來
yum groupremove 軟體組
#解除安裝指定軟體組複製程式碼