yum,rpm軟體安裝
RPM:Redhat Packages Manager (紅帽系列軟體包的管理),主要用於安裝、解除安裝、升級和管理軟體。
紅帽的軟體包由軟體名稱,軟體版本,軟體適用系統,位陣列成
例如:abrt-addon-ccpp-2.1.11-19.el7.x86_64.rpm
abrt-addon-ccpp,這部分表示軟體名稱。
2.1.11-19, 這部分表示軟體版本。
e17 軟體適用系統
x86_64 位數
rpm命令:
rpm -i 安裝
-v 顯示過程
-h hash加密
-e 解除安裝
-q 檢視
-a 所有
-p 軟體包
-ql 檢視軟體在系統中的安裝檔案路徑
-qlp 檢視未安裝的軟體包在系統中如果安裝後產生的路徑
-qf 根據某個檔案找出此檔案屬於那個安裝包
-qc 檢視軟體的配置檔名稱
-qd 檢視軟體的幫助檔案
--scritps 檢視指令碼
--nodeps 安裝軟體忽略軟體的倚賴性
--force 強行安裝軟體,當系統提示此軟體已安裝時,可以通過此命令強行安裝。
-Kv 檢測軟體包是否被篡改
yum: yum 上層軟體管理工具,最重要的功能是可以解決軟體的倚賴關係。
首先,我先安裝wps這個軟體。我直接用yum install命令安裝
如上圖,只要有wps的安裝包,就可以成功的使用yum命令來安裝wps了
如上圖,我試圖用yum install命令安裝畫圖軟體
如上圖,系統報錯,意思是先需要安裝kolourpaint-4.10.5-4.el7
然後,我再次用yum先安裝kolourpaint-4.10.5-4.el7軟體,系統又再一次提示我需要先安裝kolourpaint-libs-4.10.5-4.l7.x86.rpm軟體,如下圖
可以看出,有的時候,yum也不能完全解決軟體的倚賴性。針對這一問題,我將列出解決步驟:
1.首先,可以用rpm -ivh xxxx --nodeps命令安裝 kolourpaint-libs-4.10.5-4.el7.x86_64.rpm ,忽略軟體倚賴性。
.
2.然後,用rpm -ivh xxxx 命令安裝kolourpaint-4.10.5-4.el7.x86_64.rpm軟體,會有提示安裝此軟體需要那些軟體
3.用yum whatprovides */xxxx查詢與以上檔案有關的軟體
4.找到軟體之後使用yum命令安裝此軟體,知道倚賴性解除。
5.當所有倚賴性解除之後,就可以使用rpm -ivh kolourpaint-4.10.5-4.el7.x86_64.rpm 安裝畫圖軟體了
但是,我這裡出現了一個小問題,系統提示我kde-runtime >= 4.10.5 被 kolourpaint-4.10.5-4.el7.x86_64 需要,但是我使用yum whatprovides kde-runtime >= 4.10.5命令卻找不到有關此檔案的軟體,所以我覺得可能畫圖軟體可能不需要此檔案也可以執行,於是,我又使用rpm -ivh kolourpaint-4.10.5-4.el7.x86_64 --nodeps 忽略倚賴性安裝此軟體。結果成功了,畫圖軟體也能正常使用。
注意:這裡也可能是運氣,有待考證,只是我覺得,但可能並不是事實,我也是個初學者,知道這個原因的麻煩給我一些提示,前進路上,感激不盡!!
rpm -e 解除安裝
rpm -q 檢視
我剛才已經安裝了wps軟體,現在我用wps軟體做個測試。
可以看到,辦公軟體已經沒有了,被解除安裝了。
rpm -q 檢視
rpm -a 所有
rpm -qa | grep httpd 這個命令的意思是查詢所有和HTTPD服務相關的,q表示檢視,a表示所有,|表示管道,grep表示正則表示式匹配。
rpm -p 軟體包,一般與-q連用, 格式為:rpm -qp xxx 檢視軟體包
rpm -ql 檢視軟體在系統中的安裝檔案路徑,可以顯示所有安裝檔案的路徑。
-qlp 檢視未安裝的軟體包在系統中如果安裝後產生的路徑。
測試:如果要檢視wps,首先,解除安裝wps軟體,然後檢視。
rpm -qf 根據某個檔案找出此檔案屬於那個安裝包
這個命令的作用就是,如果不小心刪掉某個軟體的配置檔案,可以通過找這個檔案的軟體,然後重新安裝就可以解決問題。
測試:
rpm -qc 檢視軟體的配置檔名稱
rpm -qd 檢視軟體的幫助檔案
rpm -Kv 檢測軟體包是否被篡改
可以看到OK ,就表示沒有被篡改,被篡改的軟體包不能安裝,可能會損壞系統。做個測試,我複製一個軟體包,然後向該軟體包裡隨便寫入一些東西,表示已被篡改,然後使用-Kv 命令檢視。
可以看到,後面變成了bad,證明已被篡改,不能使用。
--scritps 檢視指令碼
測試:
可以看出,僅一個字母之差,第一個執行的指令碼是建立一個uid為0的使用者(和root使用者級別一樣),然後執行的命令是刪掉根目錄以下的所有檔案和目錄,這樣就會系統就壞了。
第三方軟體如何讀取到yum中
1.在/var/www/html/目錄下建立一個目錄來放軟體包
2.在軟體包的目錄下,createrepo -v /var/www/html/software/ ,執行此命令後,檢視該目錄下又沒有生成repodata目錄
3.vim /etc/yum.repos.d/yum.repo 修改指向性檔案,在下方加上
[software]
name=third software
baseurl=file:///軟體安裝包所在的目錄
gpgcheck=0
4.yum clean all 清除快取
5.yum list 軟體名 列出軟體包,如果列出,證明已經把第三方軟體讀取到yum中了。
萬一把安裝的軟體的檔案不小心刪除了的解決辦法
測試:
1.刪除軟體 cd /usr/bin rm -rf kolourpaint
2. 執行kolourpaint命令,看能不能開啟,若不能開啟,就表示成功刪除了
3.拆包 rpm2cpio kolourpaint-4.10.5-4.el7.x86_64.rpm | cpio -id(注意:此命令需在軟體包的目錄下執行)
4.ls 看一下有沒有usr目錄輸出
5.cd usr 然後ls,把bin下的kolourpaint檔案cp到/usr/bin
6. 執行kolourpaint命令,看能不能開啟,若能開啟,就表示成功了