rpm 更新/升級 軟件包(libGL-devel手動安裝過程)


 rpm參數解釋

  -i  安裝
  -h  解壓rpm的時候打印50個斜條 (#)
  -v  顯示詳細信息

升級命令
rpm -Uvh rpm文件名

參數解釋
  -U  升級
  -h  解壓rpm的時候打印50個斜條 (#)
  -v  顯示詳細信息

 

  -q  在系統中查詢軟件或查詢指定rpm包的內容信息
  -i  在系統中安裝軟件
  -U  在系統中升級軟件
  -e  在系統中卸載軟件
  -h  用#(hash)符顯示rpm安裝過程
  -v  詳述安裝過程
  -p  表明對RPM包進行查詢,通常和其它參數同時使用,如:
  -qlp  查詢某個RPM包中的所有文件列表
  -qip  查詢某個RPM包的內容信息

 

  i 表示info,獲得軟件包的信息; 
  l 表示list,獲得文件列表; 
  a 表示all,在所有包中執行查詢; 
  f 表示file,根據文件進行相關的查詢; 
  p 表示package,根據軟件包進行查詢 

 

// *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***

 

例子:

  手動安裝 libGL-devel

 

1、

命令安裝"yum install libGL-devel",顯示信息:

 

[root@CentOS6 ~]# yum install libGL-devel
Loaded plugins: fastestmirror, refresh-packagekit, security
base                                                     | 3.7 kB     00:00     
base/primary_db                                          | 3.6 MB     00:25     
extras                                                   | 3.4 kB     00:00     
extras/primary_db                                        |  30 kB     00:00     
updates                                                  | 3.4 kB     00:00     
updates/primary_db                                       | 3.7 MB     00:42     
Setting up Install Process
Resolving Dependencies
--> Running transaction check
---> Package mesa-libGL-devel.i686 0:10.4.3-1.el6 will be installed
--> Processing Dependency: mesa-libGL = 10.4.3-1.el6 for package: mesa-libGL-devel-10.4.3-1.el6.i686
--> Processing Dependency: pkgconfig(libdrm) >= 2.4.38 for package: mesa-libGL-devel-10.4.3-1.el6.i686
--> Processing Dependency: pkgconfig(xxf86vm) for package: mesa-libGL-devel-10.4.3-1.el6.i686
--> Processing Dependency: pkgconfig(xdamage) for package: mesa-libGL-devel-10.4.3-1.el6.i686
--> Running transaction check
---> Package libXdamage-devel.i686 0:1.1.3-4.el6 will be installed
---> Package libXxf86vm-devel.i686 0:1.1.3-2.1.el6 will be installed
--> Processing Dependency: libXxf86vm = 1.1.3-2.1.el6 for package: libXxf86vm-devel-1.1.3-2.1.el6.i686
---> Package libdrm-devel.i686 0:2.4.59-2.el6 will be installed
--> Processing Dependency: libdrm = 2.4.59-2.el6 for package: libdrm-devel-2.4.59-2.el6.i686
---> Package mesa-libGL.i686 0:9.0-0.7.el6 will be updated
---> Package mesa-libGL.i686 0:10.4.3-1.el6 will be an update
--> Processing Dependency: mesa-dri-drivers(x86-32) = 10.4.3-1.el6 for package: mesa-libGL-10.4.3-1.el6.i686
--> Processing Dependency: libX11 > 1.6 for package: mesa-libGL-10.4.3-1.el6.i686
--> Running transaction check
---> Package libX11.i686 0:1.5.0-4.el6 will be updated
--> Processing Dependency: libX11 = 1.5.0-4.el6 for package: libX11-devel-1.5.0-4.el6.i686
---> Package libX11.i686 0:1.6.0-6.el6 will be an update
--> Processing Dependency: libX11-common = 1.6.0-6.el6 for package: libX11-1.6.0-6.el6.i686
---> Package libXxf86vm.i686 0:1.1.2-2.el6 will be updated
---> Package libXxf86vm.i686 0:1.1.3-2.1.el6 will be an update
---> Package libdrm.i686 0:2.4.39-1.el6 will be updated
---> Package libdrm.i686 0:2.4.59-2.el6 will be an update
---> Package mesa-dri-drivers.i686 0:9.0-0.7.el6 will be updated
---> Package mesa-dri-drivers.i686 0:10.4.3-1.el6 will be an update
--> Processing Dependency: libLLVM-3.4-mesa.so(libLLVM-3.4-mesa.so) for package: mesa-dri-drivers-10.4.3-1.el6.i686
--> Processing Dependency: libLLVM-3.4-mesa.so for package: mesa-dri-drivers-10.4.3-1.el6.i686
--> Running transaction check
---> Package libX11-common.noarch 0:1.5.0-4.el6 will be updated
---> Package libX11-common.noarch 0:1.6.0-6.el6 will be an update
---> Package libX11-devel.i686 0:1.5.0-4.el6 will be updated
---> Package libX11-devel.i686 0:1.6.0-6.el6 will be an update
---> Package mesa-private-llvm.i686 0:3.4-3.el6 will be installed
--> Processing Conflict: libX11-1.6.0-6.el6.i686 conflicts libxcb < 1.9.1-3
--> Restarting Dependency Resolution with new changes.
--> Running transaction check
---> Package libxcb.i686 0:1.8.1-1.el6 will be updated
--> Processing Dependency: libxcb = 1.8.1-1.el6 for package: libxcb-devel-1.8.1-1.el6.i686
---> Package libxcb.i686 0:1.9.1-3.el6 will be an update
--> Running transaction check
---> Package libxcb-devel.i686 0:1.8.1-1.el6 will be updated
---> Package libxcb-devel.i686 0:1.9.1-3.el6 will be an update
--> Finished Dependency Resolution

Dependencies Resolved

================================================================================
 Package                  Arch          Version               Repository   Size
================================================================================
Installing:
 mesa-libGL-devel         i686          10.4.3-1.el6          base        495 k
Updating:
 libxcb                   i686          1.9.1-3.el6           base        115 k
Installing for dependencies:
 libXdamage-devel         i686          1.1.3-4.el6           base        9.3 k
 libXxf86vm-devel         i686          1.1.3-2.1.el6         base         18 k
 libdrm-devel             i686          2.4.59-2.el6          base         88 k
 mesa-private-llvm        i686          3.4-3.el6             base        5.9 M
Updating for dependencies:
 libX11                   i686          1.6.0-6.el6           base        593 k
 libX11-common            noarch        1.6.0-6.el6           base        192 k
 libX11-devel             i686          1.6.0-6.el6           base        983 k
 libXxf86vm               i686          1.1.3-2.1.el6         base         16 k
 libdrm                   i686          2.4.59-2.el6          base        127 k
 libxcb-devel             i686          1.9.1-3.el6           base        1.0 M
 mesa-dri-drivers         i686          10.4.3-1.el6          base         14 M
 mesa-libGL               i686          10.4.3-1.el6          base        164 k

Transaction Summary
================================================================================
Install       5 Package(s)
Upgrade       9 Package(s)

Total download size: 23 M
Is this ok [y/N]: y
Downloading Packages:
(1/14): libX11-1.6.0-6.el6.i686.rpm                      | 593 kB     00:04     
(2/14): libX11-common-1.6.0-6.el6.noarch.rpm             | 192 kB     00:01     
(3/14): libX11-devel-1.6.0-6.el6.i686.rpm                | 983 kB     00:06     
(4/14): libXdamage-devel-1.1.3-4.el6.i686.rpm            | 9.3 kB     00:00     
(5/14): libXxf86vm-1.1.3-2.1.el6.i686.rpm                |  16 kB     00:00     
(6/14): libXxf86vm-devel-1.1.3-2.1.el6.i686.rpm          |  18 kB     00:00     
(7/14): libdrm-2.4.59-2.el6.i686.rpm                     | 127 kB     00:01     
(8/14): libdrm-devel-2.4.59-2.el6.i686.rpm               |  88 kB     00:00     
(9/14): libxcb-1.9.1-3.el6.i686.rpm                      | 115 kB     00:00     
(10/14): libxcb-devel-1.9.1-3.el6.i686.rpm               | 1.0 MB     00:07     
(11/14): mesa-dri-drivers-10.4.3-1.el6.i686.rpm          |  14 MB     01:38     
(12/14): mesa-libGL-10.4.3-1.el6.i686.rpm                | 164 kB     00:01     
(13/14): mesa-libGL-devel-10.4.3-1.el6.i686.rpm          | 495 kB     00:03     
(14/14): mesa-private-llvm-3.4-3.el6.i686.rpm            | 5.9 MB     00:41     
--------------------------------------------------------------------------------
Total                                           138 kB/s |  23 MB     02:54     
warning: rpmts_HdrFromFdno: Header V3 RSA/SHA1 Signature, key ID c105b9de: NOKEY
Retrieving key from file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6
Importing GPG key 0xC105B9DE:
 Userid : CentOS-6 Key (CentOS 6 Official Signing Key) <centos-6-key@centos.org>
 Package: centos-release-6-4.el6.centos.10.i686 (@anaconda-CentOS-201303020136.i386/6.4)
 From   : /etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6
Is this ok [y/N]: y
Running rpm_check_debug
Running Transaction Test
Transaction Test Succeeded
Running Transaction
  Updating   : libdrm-2.4.59-2.el6.i686                                    1/23 
  Updating   : libxcb-1.9.1-3.el6.i686                                     2/23 
  Updating   : libxcb-devel-1.9.1-3.el6.i686                               3/23 
  Installing : libdrm-devel-2.4.59-2.el6.i686                              4/23 
  Updating   : libX11-common-1.6.0-6.el6.noarch                            5/23 
  Updating   : libX11-1.6.0-6.el6.i686                                     6/23 
  Updating   : libX11-devel-1.6.0-6.el6.i686                               7/23 
  Updating   : libXxf86vm-1.1.3-2.1.el6.i686                               8/23 
  Installing : libXxf86vm-devel-1.1.3-2.1.el6.i686                         9/23 
  Installing : libXdamage-devel-1.1.3-4.el6.i686                          10/23 
  Installing : mesa-private-llvm-3.4-3.el6.i686                           11/23 
  Updating   : mesa-dri-drivers-10.4.3-1.el6.i686                         12/23 
  Updating   : mesa-libGL-10.4.3-1.el6.i686                               13/23 
  Installing : mesa-libGL-devel-10.4.3-1.el6.i686                         14/23 
  Cleanup    : mesa-libGL-9.0-0.7.el6.i686                                15/23 
  Cleanup    : libX11-devel-1.5.0-4.el6.i686                              16/23 
  Cleanup    : libxcb-devel-1.8.1-1.el6.i686                              17/23 
  Cleanup    : libXxf86vm-1.1.2-2.el6.i686                                18/23 
  Cleanup    : libX11-1.5.0-4.el6.i686                                    19/23 
  Cleanup    : mesa-dri-drivers-9.0-0.7.el6.i686                          20/23 
  Cleanup    : libdrm-2.4.39-1.el6.i686                                   21/23 
  Cleanup    : libX11-common-1.5.0-4.el6.noarch                           22/23 
  Cleanup    : libxcb-1.8.1-1.el6.i686                                    23/23 
  Verifying  : libXxf86vm-1.1.3-2.1.el6.i686                               1/23 
  Verifying  : libxcb-1.9.1-3.el6.i686                                     2/23 
  Verifying  : libXxf86vm-devel-1.1.3-2.1.el6.i686                         3/23 
  Verifying  : mesa-dri-drivers-10.4.3-1.el6.i686                          4/23 
  Verifying  : mesa-private-llvm-3.4-3.el6.i686                            5/23 
  Verifying  : libX11-1.6.0-6.el6.i686                                     6/23 
  Verifying  : libXdamage-devel-1.1.3-4.el6.i686                           7/23 
  Verifying  : libX11-common-1.6.0-6.el6.noarch                            8/23 
  Verifying  : mesa-libGL-devel-10.4.3-1.el6.i686                          9/23 
  Verifying  : libX11-devel-1.6.0-6.el6.i686                              10/23 
  Verifying  : libxcb-devel-1.9.1-3.el6.i686                              11/23 
  Verifying  : mesa-libGL-10.4.3-1.el6.i686                               12/23 
  Verifying  : libdrm-devel-2.4.59-2.el6.i686                             13/23 
  Verifying  : libdrm-2.4.59-2.el6.i686                                   14/23 
  Verifying  : mesa-dri-drivers-9.0-0.7.el6.i686                          15/23 
  Verifying  : libxcb-1.8.1-1.el6.i686                                    16/23 
  Verifying  : libXxf86vm-1.1.2-2.el6.i686                                17/23 
  Verifying  : libdrm-2.4.39-1.el6.i686                                   18/23 
  Verifying  : mesa-libGL-9.0-0.7.el6.i686                                19/23 
  Verifying  : libX11-devel-1.5.0-4.el6.i686                              20/23 
  Verifying  : libX11-common-1.5.0-4.el6.noarch                           21/23 
  Verifying  : libX11-1.5.0-4.el6.i686                                    22/23 
  Verifying  : libxcb-devel-1.8.1-1.el6.i686                              23/23 

Installed:
  mesa-libGL-devel.i686 0:10.4.3-1.el6                                          

Dependency Installed:
  libXdamage-devel.i686 0:1.1.3-4.el6   libXxf86vm-devel.i686 0:1.1.3-2.1.el6  
  libdrm-devel.i686 0:2.4.59-2.el6      mesa-private-llvm.i686 0:3.4-3.el6     

Updated:
  libxcb.i686 0:1.9.1-3.el6                                                     

Dependency Updated:
  libX11.i686 0:1.6.0-6.el6               libX11-common.noarch 0:1.6.0-6.el6   
  libX11-devel.i686 0:1.6.0-6.el6         libXxf86vm.i686 0:1.1.3-2.1.el6      
  libdrm.i686 0:2.4.59-2.el6              libxcb-devel.i686 0:1.9.1-3.el6      
  mesa-dri-drivers.i686 0:10.4.3-1.el6    mesa-libGL.i686 0:10.4.3-1.el6       

Complete!
[root@CentOS6 ~]# 

 

ZC:可以看到,需要安裝的軟件 確實是 mesa-libGL-devel,然后還有一些需要安裝/升級的軟件。

ZC: 還有軟件安裝的順序。

ZC:我在軟件下載之后,保留了yum下載的相關軟件(共14個,具體名字上面的過程中都有顯示)。

ZC:在 yum安裝 libGL-devel 的時候,在安裝下載的軟件之前,有一個 詢問檢索key 的過程,這個時候我正好用來復制yum下載的軟件,然后yum安裝完畢之后 會自動刪掉下載的軟件。我不知道是否所有的"yum install ???"在下載完畢之后都有一個詢問的過程,如果沒有的話,需要配置yum不自動刪除下載的軟件 以便我們復制下載的軟件。

 

2、

手動安裝 libGL-devel :

 

按照 yum的安裝順序來安裝相關軟件。遇到問題:

  (1)、"rpm -Uvh libdrm-2.4.59-2.el6.i686.rpm" ==> 這個軟件,順利安裝,沒有問題。

  (2)、"rpm -Uvh libxcb-1.9.1-3.el6.i686.rpm" ==> 這個安裝的時候有錯誤信息,如下:

[root@CentOS6 packages]# rpm -qa|grep libdrm
libdrm-2.4.59-2.el6.i686

[root@CentOS6 packages]# rpm -Uvh libxcb-1.9.1-3.el6.i686.rpm
warning: libxcb-1.9.1-3.el6.i686.rpm: Header V3 RSA/SHA1 Signature, key ID c105b9de: NOKEY
error: Failed dependencies:
    libxcb = 1.8.1-1.el6 is needed by (installed) libxcb-devel-1.8.1-1.el6.i686

[root@CentOS6 packages]# rpm -qa|grep libxcb
libxcb-1.8.1-1.el6.i686
libxcb-devel-1.8.1-1.el6.i686

[root@CentOS6 packages]#

  ZC:上面信息可見:

    (A)、libdrm-2.4.59-2.el6.i686.rpm 安裝成功

    (B)、原來系統中 libxcb 和 libxcb-devel 的版本 已經是 1.8.1-1 了。

    (C)、libxcb-1.9.1-3.el6.i686.rpm 安裝報錯,說 “libxcb-1.8.1-1.el6.i686.rpm(已安裝) 被 libxcb-devel-1.8.1-1.el6.i686.rpm 需要”。思考:libxcb 和 libxcb-devel 的版本 已經是 1.8.1-1,應該不是哪個軟件沒裝的原因了,難道是 ∵ libxcb-devel-1.8.1-1.el6.i686.rpm 正在使用 libxcb-1.8.1-1.el6.i686.rpm 而使得libxcb-1.8.1-1.el6.i686.rpm無法更新?(就像是一個進程獨占一個文件的時候,其它進程無法操作該文件,一樣的道理?)  於是就像嘗試 libxcb-1.9.1-3.el6.i686.rpm 和 libxcb-devel-1.9.1-3.el6.i686.rpm 一起升級,於是有了嘗試了這條語句"rpm -Uvh libxcb-1.9.1-3.el6.i686.rpm libxcb-devel-1.9.1-3.el6.i686.rpm",一試果然OK。

 

於是,上面的14個軟件的安裝語句變成下面這樣(注意,這里的U是大寫的):

  rpm -Uvh libdrm-2.4.59-2.el6.i686.rpm

  rpm -Uvh libxcb-1.9.1-3.el6.i686.rpm libxcb-devel-1.9.1-3.el6.i686.rpm

  rpm -Uvh libdrm-devel-2.4.59-2.el6.i686.rpm

  rpm -Uvh libX11-common-1.6.0-6.el6.noarch.rpm libX11-1.6.0-6.el6.i686.rpm libX11-devel-1.6.0-6.el6.i686.rpm

  rpm -Uvh libXxf86vm-1.1.3-2.1.el6.i686.rpm

  rpm -Uvh libXxf86vm-devel-1.1.3-2.1.el6.i686.rpm

  rpm -Uvh libXdamage-devel-1.1.3-4.el6.i686.rpm

  rpm -Uvh mesa-private-llvm-3.4-3.el6.i686.rpm

  rpm -Uvh mesa-dri-drivers-10.4.3-1.el6.i686.rpm mesa-libGL-10.4.3-1.el6.i686.rpm

  rpm -Uvh mesa-libGL-devel-10.4.3-1.el6.i686.rpm

這樣,libGL-devel 順利的手動安裝好了:

[root@CentOS6 packages]# rpm -qa|grep libGL-devel
mesa-libGL-devel-10.4.3-1.el6.i686
[root@CentOS6 packages]#

 

ZC:感覺到 "rpm -Uvh ???" 不僅可以升級軟件,還可以安裝軟件。

 

 

 

 

 

C

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM