1. 程式人生 > >軟體的安裝及管理、yum命令與rpm命令

軟體的安裝及管理、yum命令與rpm命令

安裝軟體

yum命令與rpm命令的區別:

rpm是由紅帽公司開發的軟體包管理方式,使用rpm我們可以方便的進行軟體的安裝、查詢、解除安裝、升級等工作。
但是rpm軟體包之間的依賴性問題往往會很繁瑣,尤其是軟體由多個rpm包組成時。但rpm可以解決死迴圈依賴性,這是yum解決不了的

Yum(全稱為 Yellow dog Updater, Modified)是一個在Fedora和RedHat以及SUSE中的Shell前端軟體包管理器。
基於RPM包管理,能夠從指定的伺服器自動下載RPM包並且安裝,可以自動處理依賴性關係,並且一次安裝所有依賴的軟體包,無須繁瑣地一次次下載、安裝。但當yum倉庫裡沒有相應的依賴包時,它將無法解決依賴性就會報錯

軟體包名稱詳解:

wps-office-10.1.0.5672-1.a21.x86_64.rpm 
   [1]         [2]      [3]    [4]  [5]


[1] 軟體名稱

[2] 軟體版本

[3] 適用系統

[4] 適用架構

[5] 適用rpm體系軟體
  注意:做此實驗時,真機已經搭建好了yum源和yum源的共享

(1)yum命令

yum   install    軟體名(softwarename)     #安裝某個軟體
yum   reinstall  軟體名                     #重新安裝某個軟體
yum   repolist                             #列出設定yum源資訊
yum   remove     軟體名                     #解除安裝某個軟體
yum   list       軟體名                     #檢視軟體源中是否有此軟體
yim   list       all                       #列出所有的軟體名
yum   list       installed                 #列出已安裝好的軟體名
yum   list       available                  #列出未安裝但可以用yum安裝的軟體名
yum   search        軟體資訊                 #根據軟體資訊搜尋軟體名稱
yum   whatprovides  檔名/命令              #在yum源中查詢包含filename檔案的軟體包
yum   clean      all                        #清空yum快取
yum   history                               #檢視系統軟體改變歷史(比如install,remove等重要操
作)
yum  update                                 #更新軟體
yum  info        軟體名                      #檢視軟體資訊
yum  groups      list                       #檢視軟體組資訊
yum  groups  info  軟體組名(softwaregroup) #檢視軟體組中包含的軟體
yum  groups      install   軟體組           #安裝元件
yum  groups      remove    軟體組名         #解除安裝元件

實驗:

##列出yum源中所有的軟體名
[[email protected] ~]# yum list

在這裡插入圖片描述

##列出系統中已安裝好的軟體名
[[email protected] ~]# yum list installed

在這裡插入圖片描述

##列出未安裝但可以用yum安裝的軟體名
[[email protected] ~]# yum list available

在這裡插入圖片描述

##檢視軟體源(yum源)中是否有dhcp
[[email protected] ~]# yum list dhcp

在這裡插入圖片描述

[[email protected] ~]# yum list available | wc -l 
3166
[
[email protected]
~]# yum list installed | wc -l 1227

在這裡插入圖片描述

@@如果刪除dhcp服務的配置檔案,只能是重新安裝dhcp服務,才能恢復
[[email protected] ~]# yum  list dhcp

在這裡插入圖片描述

[[email protected] ~]# ll /etc/dhcp

在這裡插入圖片描述

[[email protected] ~]# rm -rf /etc/dhcp
[[email protected] ~]# ll /etc/dhcp

在這裡插入圖片描述

[[email protected] ~]# yum install dhcp

在這裡插入圖片描述

##重新安裝; -y表示直接安裝不提示
[[email protected] ~]# yum reinstall -y dhcp

在這裡插入圖片描述

[[email protected] ~]# ll /etc/dhcp

在這裡插入圖片描述

##解除安裝dhcp
[[email protected] ~]# yum remove dhcp -y
##安裝dhcp
[[email protected] ~]# yum install dhcp -y
##檢視dhcp軟體資訊
[[email protected] ~]# yum info dhcp

在這裡插入圖片描述

##根據軟體資訊搜尋軟體名
[[email protected] ~]# yum search dhcp

在這裡插入圖片描述

##搜尋瀏覽器
[[email protected] ~]# yum search web

在這裡插入圖片描述

@@如果丟失了軟體所包含的檔案,想要根據檔名搜尋軟體名只能用whatprovides
[[email protected] ~]# rm -rf /etc/dhcp
[[email protected] ~]# yum search /etc/dhcp

在這裡插入圖片描述

##在yum源中查詢包含某個檔案(目錄)或者命令(二進位制檔案)的軟體名
[[email protected] ~]# yum whatprovides /etc/dhcp

在這裡插入圖片描述

@@groups 表示軟體組:多個軟體
##檢視軟體組資訊
[[email protected] ~]# yum groups list

在這裡插入圖片描述

#可用tabble鍵可補齊
[[email protected] ~]# yum groups info

在這裡插入圖片描述

##檢視GNOME軟體組中包含的軟體
[[email protected] ~]# yum groups info GNOME

在這裡插入圖片描述

#可用tabble鍵可補齊
[[email protected] ~]# yum groups install

在這裡插入圖片描述

##安裝Additional Development元件
[[email protected] ~]# yum groups install Additional Development

在這裡插入圖片描述

##解除安裝元件
[[email protected] ~]# yum groups remove Additional Development

2.如何安裝帶有依賴性的軟體

(1).安裝wps

 yum 源可以忽略部分依賴性 ;實際上安裝wps時,安裝了兩個軟體,一個是它的依賴性,由於yum倉庫中有這個包的依賴性。所以就直接解決了依賴性
@1.下載wps
[[email protected] ~]# ls
wps-office-9.1.0.4961-1.a18p1.x86_64.rpm
@2.安裝wps
[[email protected]~ ]# yum install -y wps-office-10.1.0.5672-1.a21.x86_64.rpm

在這裡插入圖片描述
(2).安裝畫圖軟體

   有依賴性並且這些依賴性構成死迴圈(a需要b,b又需要a),此時使用yum源無法解決

方法1:逐步解決依賴性

@1.下載畫圖軟體包(libs為它的依賴包)
[[email protected] ~]# ls
kolourpaint-4.10.5-4.el7.x86_64.rpm
kolourpaint-libs-4.10.5-4.el7.x86_64.rpm
##直接安裝失敗
[[email protected] ~]# yum install -y kolourpaint-4.10.5-4.el7.x86_64.rpm

在這裡插入圖片描述

[[email protected]~ ]# yum install -y kolourpaint-libs-4.10.5-4.el7.x86_64.rpm

在這裡插入圖片描述

此時需要用rpm命令來解決它的依賴性
@2.解決依賴性
[[email protected] ~]# rpm -ivh kolourpaint-4.10.5-4.el7.x86_64.rpm

在這裡插入圖片描述

[[email protected] ~]# yum list kde-runtime 

在這裡插入圖片描述

[[email protected] ~]# yum install -y kde-runtime.x86_64 
## --nodeps 表示忽略依賴性
[[email protected] ~ ]# rpm -ivh kolourpaint-libs-4.10.5-4.el7.x86_64.rpm --nodeps

在這裡插入圖片描述

##此時依舊有依賴性
[[email protected] ~]# rpm -ivh kolourpaint-4.10.5-4.el7.x86_64.rpm 

在這裡插入圖片描述

##用search無法搜尋到相關的軟體包;因為libqimageblitz.so.4是一個檔案
[[email protected] ~]# yum search libqimageblitz.so.4

在這裡插入圖片描述

##此時可以用whatprovides搜尋軟體名
[[email protected] ~]# yum whatprovides */libqimageblitz.so.4

在這裡插入圖片描述

[[email protected] ~]# yum install -y qimageblitz-0.0.6-7.el7.x86_64

在這裡插入圖片描述

@3.重新安裝,成功!
[[email protected] ~]# rpm -ivh kolourpaint-4.10.5-4.el7.x86_64.rpm 

在這裡插入圖片描述

@3測試:
##開啟畫圖軟體報錯,因為連線虛擬機器時未開啟圖形
[[email protected] ~]# kolourpaint

在這裡插入圖片描述

[[email protected] ~]# exit
##以圖形方式連線虛擬機器
[[email protected] ~]# ssh [email protected] -X
##再次開啟畫圖軟體,成功!
[[email protected] ~]# kolourpaint

在這裡插入圖片描述
方法2:下載好軟體包和依賴包後直接一起安裝即可!

 ##先強制解除安裝 kolourpain
 [[email protected] ~]# rpm -e kolourpaint --nodeps
 [[email protected] ~]# ls
 kolourpaint-4.10.5-4.el7.x86_64.rpm
 kolourpaint-libs-4.10.5-4.el7.x86_64.rpm
 [[email protected] ~]# yum install -y kolourpaint-libs-4.10.5-4.el7.x86_64.rpm  kolourpaint-4.10.5-4.el7.x86_64.rpm 

在這裡插入圖片描述

[[email protected] ~]# kolourpaint 

在這裡插入圖片描述
3.rpm命令

rpm -ivh name.rpm             # -i安裝,-v顯示過程 -h指定加密方式為hash加密
rpm -ivh name.rpm  --force    #強制安裝,但不能忽略依賴性
rpm -ivh name.rpm  --nodeps  --force    #強制安裝並且忽略依賴性
rpm -e   name           #解除安裝
rpm -ql  name           #查詢軟體生成檔案
rpm -qc  name           #查詢軟體的配置檔名稱
rpm -qd  name           #查詢軟體的說明檔名稱
rpm -qlp name.rpm       #查詢軟體安裝後會生成什麼檔案
rpm -qa                 #查詢系統中安裝的所有軟體名稱
rpm -qa |grep name      #查詢軟體是否安裝
rpm -q   name           #查詢軟體是否安裝
rpm -qp  name.rpm       #查詢軟體安裝包安裝後的名字(p #pack 安裝包)
rpm -qf filename        #檢視filename屬於那個安裝包
rpm -qi  name           #檢視軟體資訊
rpm -Kv  name.rpm       #檢測軟體包是否被篡改
rpm -qp  name.rpm  --scripts     #檢測軟體在安裝或者解除安裝過程中執行的動作

注意:name.rpm           #安裝包的名稱 
     name               #軟體的名稱   
     -qa |grep          後邊跟的名字是模糊指定 
     -q                 後邊跟的名字是精確指定的
解決依賴性的方法:(1)先下載所需軟體依賴的軟體,再下載所需軟體
                (2)--nodeps  它的主要作用是解決依賴性的死迴圈

補充:xml是可擴充套件語言,用於資料封裝

實驗:

[[email protected] ~]# ls
kolourpaint-4.10.5-4.el7.x86_64.rpm       wps-office-10.1.0.5672-1.a21.x86_64.rpm
kolourpaint-libs-4.10.5-4.el7.x86_64.rpm
##解除安裝wps軟體
[[email protected] ~]# yum remove -y wps-office
##-h表示指定加密方式為hash加密
[[email protected] ~]# rpm -ih wps-office-10.1.0.5672-1.a21.x86_64.rpm 

在這裡插入圖片描述

##-e表示解除安裝
[[email protected] ~]# rpm -e wps-office
####-v表示顯示安裝過程的詳細資訊
[[email protected] ~]# rpm -ivh wps-office-10.1.0.5672-1.a21.x86_64.rpm 

在這裡插入圖片描述

[[email protected] ~]# rpm -e wps-office
##無法解除安裝,因為有依賴性
[[email protected] ~]# rpm -e kolourpaint

在這裡插入圖片描述

##--nodeps表示忽略依賴性,此時便可以解除安裝掉
[[email protected] ~]# rpm -e kolourpaint --nodeps
##-q表示該軟體是否安裝
[[email protected] ~]# rpm -q kolourpaint
package kolourpaint is not installed
[[email protected] ~]# rpm -q httpd
httpd-2.4.6-40.el7.x86_64
[[email protected] ~]# rpm -q wps-office
package wps-office is not installed

在這裡插入圖片描述

##查詢系統中是否安裝了httpd
[[email protected] ~]# rpm -qa | grep httpd

在這裡插入圖片描述

##安裝wps
[[email protected] ~]# rpm -ivh wps-office-9.1.0.4961-1.a18p1.x86_64.rpm 
##-qp表示查詢軟體安裝包安裝後的名字(p 表是pack安裝包)
[[email protected] ~]# rpm -qp httpd
error: open of httpd failed: No such file or directory
##必須是以.rpm結尾的安裝包
[[email protected] ~]# rpm -qp wps-office-9.1.0.4961-1.a18p1.x86_64.rpm
wps-office-9.1.0.4961-1.a18p1.x86_64

在這裡插入圖片描述

[[email protected] ~]# rpm -qp kolourpaint-libs-4.10.5-4.el7.x86_64.rpm 

在這裡插入圖片描述

##查詢軟體生成的檔案
[[email protected] ~]# rpm -ql httpd 

在這裡插入圖片描述

##-ql後邊跟的軟體名而不是軟體包
[[email protected] ~]# rpm -ql wps-office-10.1.0.5672-1.a21.x86_64.rpm 

在這裡插入圖片描述

[[email protected] ~]# rpm -ql wps-office

在這裡插入圖片描述

##查詢軟體的配置檔名稱
[[email protected] ~]# rpm -qc httpd

在這裡插入圖片描述

[[email protected] ~]# rpm -qc chrony

在這裡插入圖片描述

[[email protected] ~]# rpm -qc openssh-server

在這裡插入圖片描述

##檢視軟體資訊
[[email protected] ~]# rpm -qi httpd

在這裡插入圖片描述

##查詢軟體的說明檔名稱
[[email protected] ~]# rpm -qd dhcp

在這裡插入圖片描述

##檢視某個檔案屬於哪個安裝包
[[email protected] ~]# rpm -qf /etc/httpd/

在這裡插入圖片描述

[[email protected] ~]# rm -rf /bin/ls
[[email protected] ~]# ls
-bash: /usr/bin/ls: No such file or directory
[[email protected] ~]# rpm -qf /bin/ls

在這裡插入圖片描述

[[email protected] ~]# yum reinstall -y coreutils-8.22-11.el7.x86_64
[[email protected] ~]# ls
kolourpaint-4.10.5-4.el7.x86_64.rpm
kolourpaint-libs-4.10.5-4.el7.x86_64.rpm
wps-office-9.1.0.4961-1.a18p1.x86_64.rpm
##安裝畫圖軟體
[[email protected] ~]# yum install -y kolourpaint-4.10.5-4.el7.x86_64.rpm  kolourpaint-libs-4.10.5-4.el7.x86_64.rpm
##解除安裝,發現有依賴性 
[[email protected] ~]# rpm -e kolourpaint

在這裡插入圖片描述

## --force表示強制安裝,但不能忽略依賴性
[[email protected] ~]# rpm -e kolourpaint --force
rpm: only installation and upgrading may be forced
## --nodeps表示忽略依賴性
[[email protected] ~]# rpm -e kolourpaint --nodeps
[[email protected] ~]# rpm -q kolourpaint
package kolourpaint is not installed

在這裡插入圖片描述

[[email protected] ~]# ls
kolourpaint-4.10.5-4.el7.x86_64.rpm
kolourpaint-libs-4.10.5-4.el7.x86_64.rpm
wps-office-9.1.0.4961-1.a18p1.x86_64.rpm
##備份
[[email protected] ~]# cp kolourpaint-4.10.5-4.el7.x86_64.rpm kolourpaint-4.10.5-4.el7.x86_6411.rpm
[[email protected] ~]# rpm -Kv kolourpaint-4.10.5-4.el7.x86_6411.rpm 

在這裡插入圖片描述

##模擬篡改軟體資訊
[[email protected] ~]# echo hello >> kolourpaint-4.10.5-4.el7.x86_6411.rpm 
##檢測軟體包是否被篡改
[[email protected] ~]# rpm -Kv kolourpaint-4.10.5-4.el7.x86_6411.rpm 

在這裡插入圖片描述

[[email protected] ~]# rm -rf kolourpaint-4.10.5-4.el7.x86_6411.rpm

@@在網站上下載好的軟體包,並非直接安裝。在安裝之前需要注意檢視軟體是否被惡意竄改,或者是否在安裝或者解除安裝過程中會執行破壞性動作
##這是我下載的兩個軟體包
[[email protected] ~]# ls
FluffyMcAwesome-A-6.4.0-11.r19335.x86_64.rpm
FluffyMcAwesome-B-6.4.0-11.r19335.x86_64.rpm

@1.檢測軟體包是否被篡改;發現兩個軟體包都沒有被篡改過
[[email protected] ~]# rpm -Kv FluffyMcAwesome-A-6.4.0-11.r19335.x86_64.rpm
[[email protected] ~]# rpm -Kv FluffyMcAwesome-B-6.4.0-11.r19335.x86_64.rpm

在這裡插入圖片描述

@2.檢測軟體在安裝或者解除安裝過程中執行的動作
[[email protected] ~]# rpm -qp FluffyMcAwesome-A-6.4.0-11.r19335.x86_64.rpm --scripts
[[email protected] ~]# rpm -qp FluffyMcAwesome-B-6.4.0-11.r19335.x86_64.rpm --scripts

在這裡插入圖片描述