1. 程式人生 > >yum,rpm軟體安裝

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命令,看能不能開啟,若能開啟,就表示成功了