在Linux中需要根據不同的需求安裝不同的軟件服務。在Linux中,軟件包分類兩種源碼包安裝與二進制包安裝。
一、優缺點:
優點:安裝過程簡單快速
缺點:無法查看源代碼、選擇功能不靈活、有依賴性(需要提前一些前置依賴包)
二、依賴性:
1、樹形依賴:若安裝a,則需要提前安裝b,安裝b需要提前安裝c。
解決方法:安裝c→安裝b→安裝a
2、環形依賴:若安裝a,則需要提前安裝b,安裝b需要提前安裝c,安裝c需要提前安裝a。
解決方法:abc一塊安裝
3、模型依賴:安裝a時缺少某些文件(一般是函數庫,so.數字結尾)。
解決方法:http://www.rpmfind.net/ 通過這個網站結合所使用的系統版本可以查詢缺少的文件屬於包的名稱。
三、安裝方法(兩種方法:rpm安裝方式與yum安裝方式)
(三·一、rpm安裝方式)
1、rpm安裝
(a)rpm -ivh 軟件包名 “i”是安裝的意思;“v”是顯示詳細的信息;“h”顯示安裝進度。
(b)service 服務名 start|stop|restart|status 服務的啟動|停止|重啟|狀態
ps:系統中有RPM包的數據庫(/var/lib/rpm/),對於已安裝的軟件包會將其寫入此數據庫。因此在查詢或者卸載軟件時也是極其方便的(前提是安裝時是默認安裝)。且安裝時如下圖所示,一般情況下可以認為是安裝成功。
(c)默認安裝位置
(d)rpm -ivh 軟件包名 --force (將已安裝過的軟件重新安裝一遍,一般用於個別配置文件丟失等情況)
rpm -ivh 軟件包名 --test (不安裝軟件包,只是檢測其依賴性)
2、rpm查詢
rpm -qa (軟件包名) 查詢已安裝的軟件包。
rpm -q | grep abc 查詢軟件包名中含有abc的的軟件包
rpm -qi 軟件包名 查詢此軟件的詳細信息
rpm -qip 軟件包名 查詢未安裝的軟件包的信息
rpm -ql 軟件包名 查詢已安裝的軟件中包含的文件及文件的目錄
rpm -qlp 軟件包名 查詢未安裝的軟件中包含的文件及文件的目錄
rpm -qf 文件名 查詢文件屬於哪個RPM安裝包(必須是RPM包安裝時自動創建的文件,而不是自己手工創建的文件)
3、rpm升級
rpm -Fvh 軟件包名 升級安裝(若安裝過舊版本則升級到新版本;若沒安裝過,則不會進行安裝)
rpm -Uvh 軟件包名 升級安裝(若安裝過舊版本則升級到新版本;若沒有安裝過,則直接安裝)
4、rpm卸載軟件
rpm -e 軟件包名
rpm -e 軟件包名 --nodeps 不檢測依賴性,直接強制卸載
ps:卸載時也需要檢測依賴性,但是卸載依賴包的順序與安裝時順序相反。不建議使用--nodeps選項直接卸載。
5、驗證
rpm -V 已安裝軟件包名 校驗指定的軟件包中的文件
rpm -Vf 系統文件名 校驗某個系統文件是否被修改
若軟件包有過修改,會出現下圖所示(示例)
(a).表示所驗證屬性一致;S表示文件大小被修改;M表示文件的類型或者權限被修改;5表示文件內容被修改;D表示設備的主副碼被修改;L表示路徑被修改;U表示所有被修改;G表示所屬組被修改;T表示文件修改時間被改變;
以上對比中都會存在一個原始值去對比。
(b)c位置也有以下幾個類型:
c表示配置文件;d表示普通文件;g表示鬼文件(意思這個文件不應該在這個軟件包內,出現情況及少);l表示許可證文件;r表示自述文件
(c)最后是被改動的文件的所在路徑
6、數字證書
上面記錄了在軟件包中會有原始值供文件去進行對比,這樣可以發現文件是否被修改從而排查問題。但是如何保證原始值的准確性,這里便用到了數字證書。
(1)數字證書原理:
(a)必須找到原廠的公鑰文件進行安裝
(b)安裝RPM包時,會提取其中的證書信息與安裝的原廠證書進行比對
(c)若通過驗證,則允許安裝軟件包;若不通過,則禁止安裝並警告
(2)證書保存位置:
存在光盤之中
系統之中 /etc/pki/rpm-gpg
(3)導入方法:
rpm --import /etc/pki/rpm-gpg/ RPM-GPG-KEY-CentOS-7
(4)查詢已安裝的數字證書
rpm -qa |grep gpg-pubkey
(三·二、yum安裝)
1、yum的配置文件
yum的配置文件存在/etc/yum.repos.d/目錄中,文件擴展名為.repo的為yum的配置文件。(默認情況下CentOS-Base.repo使用此文件)。使用vim編輯器可以打開查看。
yum中參數有以下幾個
[base] 容器名稱。(注意別忘記[])
name 容器說明(可隨意填寫,但建議寫描述,而不是亂寫)
mirrorlist 鏡像網址
baseurl yum源的服務器地址。默認是CentOS的官方yum源服務器。可以修改為國內的yum源服務器。
enabled 此容器是否啟用。(默認不寫或者enabled=1表示啟用;enabled=0表示不啟用)
gpgcheck 數字證書是否啟用(gpgcheck=1表示啟用數字證書;gpgcheck=0表示不啟用數字證書)
gpgkey 數字證書的公鑰文件保存位置。
2、搭建本地yum源
本地yum源配置文件內容:
3、yum命令
yum list 查詢yum源服務器上可安裝的軟件包
yum list 軟件包名 查詢是否含有某個軟件包
yum search 關鍵字 查詢與關鍵字有關的軟件包
yum info 軟件包名 查詢軟件包的詳細信息
yum -y install 軟件包名 安裝軟件包(-y是自動回答yes的意思)
yum -y update 軟件包名 升級軟件包
yum -y update 升級系統安裝的所有軟件包
yum -y remove 軟件包名 卸載軟件包(卸載軟件包會檢查依賴性,並且將依賴性軟件包一並卸載,但是此依賴包可能被其他軟件使用。慎用)