rpm包管理、yum

博客:http://www.51aixue.cn/2017/05...php

rpm包管理

安裝

用法:rpm -ivh 包名1 包名2 ... 【安裝的時候多個包用空格隔開】html

  • -i:install安裝前端

  • -v:顯示安裝信息node

  • -vv:顯示更詳細的安裝信息python

  • -h: hash,以#的個數顯示安裝進度,一個#表明2%的進度mysql

  • --test:測試是否能安裝linux

  • --replacepkgs:從新安裝【從新安裝或升級,原來的配置文件不會被覆蓋,新安裝的配置文件將會以.rpmnew爲後綴的文件】sql

  • --nodeps:忽略依賴關係安裝shell

  • --force:強制安裝,當該應用的其餘版本已存在,可使用--force強制安裝當前版本數據庫

[root@localhost ~]# rpm -ivh zsh-4.3.10-7.el6.i686.rpm 
warning: zsh-4.3.10-7.el6.i686.rpm: Header V3 RSA/SHA1 Signature, key ID c105b9de: NOKEY【沒有校驗包的合法性】
Preparing...                                                            (########################################### [100%]【準備進度】
   1:zsh                                                                (########################################### [100%]【安裝進度】

【--test進行安裝測試】
[root@localhost ~]# rpm -ivh php-mysql-5.3.3-38.el6.i686.rpm  --test  
warning: php-mysql-5.3.3-38.el6.i686.rpm: Header V3 RSA/SHA1 Signature, key ID c105b9de: NOKEY
error: Failed dependencies:
        php-common(x86-32) = 5.3.3-38.el6 is needed by php-mysql-5.3.3-38.el6.i686【依賴php-mysql-5.3.3-38.el6.i686包】
        php-pdo(x86-32) is needed by php-mysql-5.3.3-38.el6.i686【依賴】
        
【忽略依賴關係安裝】          
[root@localhost ~]# rpm -ivh --nodeps php-mysql-5.3.3-38.el6.i686.rpm 
warning: php-mysql-5.3.3-38.el6.i686.rpm: Header V3 RSA/SHA1 Signature, key ID c105b9de: NOKEY
Preparing...                                                            (########################################### [100%]
   1:php-mysql                                                          (########################################### [100%]

卸載

用法:rpm -e 包名【--erase的縮寫】

  • -e:卸載

  • -nodeps:忽略依賴關係進行卸載

[root@localhost ~]# rpm -e zsh
[root@localhost ~]# rpm -e php-mysql

查詢

rpm -q 包名,查詢某單個包是否安裝

rpm -qa ,查詢全部的安裝包,可使用通配符【如rpm -qa php*】

rpm -qi 包名,查詢包的描述信息

rpm -ql 包名,查詢包安裝以後在當前系統生成的文件列表

rpm -qf 文件名,查詢某文件是那個包安裝生成的

rpm -qd 包名,查詢某個包安裝後生成的幫助文檔

rpm -qc 包名,查詢某個安裝包生成的配置文件

rpm -q --scripts 包名,查詢包安裝過程涉及到的一些腳本【preinstall:安裝前執行的腳本;postinstall:安裝後執行的腳本;preuninstall卸載前執行的腳本;postuninstall卸載後執行的腳本】

查詢還沒有安裝的rpm包文件的信息【注意:未安裝】:

rpm -qpl 包名 ,查詢安裝後生成的文件列表

rpm -qpi 包名 ,查詢該包的描述信息

【rpm -q】
[root@localhost ~]# rpm -q zsh-4.3.10-7.el6.i686.rpm 
package zsh-4.3.10-7.el6.i686.rpm is not installed
【rpm -qa】
[root@localhost ~]# rpm -qa bash*
bash-4.1.2-29.el6.i686
【rpm -qi】
[root@localhost ~]# rpm -qi bash
Name        : bash                         Relocations: (not relocatable)【是否支持用戶自定義安裝路徑】
Version     : 4.1.2                             Vendor: CentOS
Release     : 29.el6                        Build Date: 2014年10月16日 星期四 21時54分23秒
Install Date: 2017年04月16日 星期日 23時18分13秒      Build Host: c6b8.bsys.dev.centos.org
Group       : System Environment/Shells【功能相近的包分組】     Source RPM: bash-4.1.2-29.el6.src.rpm【源碼的rpm包】
Size        : 3107746                          License: GPLv3+
Signature   : RSA/SHA1, 2014年10月18日 星期六 03時56分20秒, Key ID 0946fca2c105b9de
Packager    : CentOS BuildSystem <http://bugs.centos.org>
URL         : http://www.gnu.org/software/bash
Summary     : The GNU Bourne Again shell
Description :
The GNU Bourne Again shell (Bash) is a shell or command language
interpreter that is compatible with the Bourne shell (sh). Bash
incorporates useful features from the Korn shell (ksh) and the C shell
(csh). Most sh scripts can be run by bash without modification.

【查詢未安裝的】
[root@localhost ~]# ls
anaconda-ks.cfg     php-mysql-5.3.3-38.el6.i686.rpm  公共的  圖片  音樂
install.log         read.sh                          模板    文檔  桌面
install.log.syslog  zsh-4.3.10-7.el6.i686.rpm        視頻    下載
[root@localhost ~]# rpm -qpi zsh-4.3.10-7.el6.i686.rpm 【該包還沒安裝】
warning: zsh-4.3.10-7.el6.i686.rpm: Header V3 RSA/SHA1 Signature, key ID c105b9de: NOKEY
Name        : zsh                          Relocations: (not relocatable)
Version     : 4.3.10                            Vendor: CentOS
Release     : 7.el6                         Build Date: 2013年11月25日 星期一 01時37分44秒
Install Date: (not installed)               Build Host: c6b9.bsys.dev.centos.org
Group       : System Environment/Shells     Source RPM: zsh-4.3.10-7.el6.src.rpm
Size        : 4777026                          License: BSD
Signature   : RSA/SHA1, 2013年11月25日 星期一 03時30分40秒, Key ID 0946fca2c105b9de
Packager    : CentOS BuildSystem <http://bugs.centos.org>
URL         : http://zsh.sunsite.dk/
Summary     : A powerful interactive shell
Description :
The zsh shell is a command interpreter usable as an interactive login
shell and as a shell script command processor.  Zsh resembles the ksh
shell (the Korn shell), but includes many enhancements.  Zsh supports
command line editing, built-in spelling correction, programmable
command completion, shell functions (with autoloading), a history
mechanism, and more.
[root@localhost ~]#

升級

rpm -U:升級安裝新版本【rpm -Uvh 包名】

rpm -F:在舊版本的基礎上升級【rpm -Fvh 包名】

--nodeps:升級時忽略依賴關係

校驗

rpm -V 包名,檢查安裝包安裝後是否被改變過

  • S file Size differs

  • M Mode differs (includes permissions and file type)

  • 5 digest (formerly MD5 sum) differs

  • D Device major/minor number mismatch

  • L readLink(2) path mismatch

  • U User ownership differs

  • G Group ownership differs

  • T mTime differs

  • P caPabilities differ

【安裝好後作個小修改】
[root@localhost ~]# vi /usr/share/zsh/4.3.10/functions/_tpconfig
[root@localhost ~]# rpm -V zsh
【注】S.5....T.    /usr/share/zsh/4.3.10/functions/_tpconfig

檢驗來源合法及完整性

檢驗包完整性:經過單向加密機制(md5|sh1)

檢驗來源合法性:經過公鑰加密機制(RSA)

用法:rpm -K 包名【-K的長選項是--checksig】

[root@localhost ~]# rpm -K zsh-4.3.10-7.el6.i686.rpm 
zsh-4.3.10-7.el6.i686.rpm: RSA sha1 ((MD5) PGP) md5 NOT OK (MISSING KEYS: (MD5) PGP#c105b9de) 【md5 NOT OK表明包不完整,緣由是MISSING KEYS表明缺省公鑰】
[root@localhost CentOS_6.6_Final]# ls【進入到光盤的掛載目錄】
CentOS_BuildTag           repodata
EULA                      RPM-GPG-KEY-CentOS-6
GPL                       RPM-GPG-KEY-CentOS-Debug-6
images                    RPM-GPG-KEY-CentOS-Security-6
isolinux                  RPM-GPG-KEY-CentOS-Testing-6
Packages                  TRANS.TBL
RELEASE-NOTES-en-US.html
[root@localhost CentOS_6.6_Final]# rpm --import RPM-GPG-KEY-CentOS-6【導入公鑰】
[root@localhost CentOS_6.6_Final]# cd ~
[root@localhost ~]# rpm -K zsh-4.3.10-7.el6.i686.rpm 
zsh-4.3.10-7.el6.i686.rpm: rsa sha1 (md5) pgp md5 OK【RSA,sha1都OK了】
[root@localhost ~]# rpm -K --nodigest zsh-4.3.10-7.el6.i686.rpm 【不檢查完整性】
zsh-4.3.10-7.el6.i686.rpm: rsa (md5) pgp OK
[root@localhost ~]# rpm -K --nosignature zsh-4.3.10-7.el6.i686.rpm 【不檢查來源合法性】       
zsh-4.3.10-7.el6.i686.rpm: sha1 md5 OK

重建

數據庫路徑:/var/lib/rpm/

rpm --initdb:初始化,若是數據庫不存在新建該數據庫

rpm --rebuilddb:重建,直接重建數據庫覆蓋原有的

[root@localhost ~]# ls -lh /var/lib/rpm
總用量 58M
-rw-r--r--. 1 root root 4.9M 5月   7 18:01 Basenames
-rw-r--r--. 1 root root  12K 4月  16 23:28 Conflictname
-rw-r--r--. 1 root root  24K 5月   7 18:37 __db.001
-rw-r--r--. 1 root root 184K 5月   7 18:37 __db.002
-rw-r--r--. 1 root root 1.3M 5月   7 18:37 __db.003
-rw-r--r--. 1 root root 480K 5月   7 18:37 __db.004
-rw-r--r--. 1 root root 1.1M 5月   7 18:01 Dirnames
-rw-r--r--. 1 root root 5.0M 5月   7 18:01 Filedigests
-rw-r--r--. 1 root root  20K 5月   7 18:29 Group
-rw-r--r--. 1 root root  20K 5月   7 18:29 Installtid
-rw-r--r--. 1 root root  48K 5月   7 18:29 Name
-rw-r--r--. 1 root root  24K 5月   7 14:44 Obsoletename
-rw-r--r--. 1 root root  45M 5月   7 18:29 Packages
-rw-r--r--. 1 root root 1.3M 5月   7 18:29 Providename
-rw-r--r--. 1 root root 668K 5月   7 18:29 Provideversion
-rw-r--r--. 1 root root  12K 5月   7 18:29 Pubkeys
-rw-r--r--. 1 root root 452K 5月   7 18:01 Requirename
-rw-r--r--. 1 root root 268K 5月   7 18:01 Requireversion
-rw-r--r--. 1 root root  92K 5月   7 18:01 Sha1header
-rw-r--r--. 1 root root  84K 5月   7 18:01 Sigmd5
-rw-r--r--. 1 root root  12K 4月  16 23:28 Triggername

yum

簡介

當使用rpm安裝的時候常常出現依賴關係,yum基於對rpm包的管理,它能根據rpm包的依賴關係,把依賴的那些包一同安裝;yum是rpm的前端管理工具,它不能脫離rpm,並非說有了yum就不用rpm了

既然它要安裝依賴的包,因此它須要遠程的服務器倉庫,它基於C/S【客戶端/服務器】架構。須要配置文件去指定一些配置

配置文件

配置文件包含倉庫位置路徑、緩存大小、緩存路徑及相關各類配置信息;每一個yum命令行能夠指向多個倉庫,倉庫間能夠有優先級等相關配置;它分爲[main]公共配置文件和[repo]倉庫配置文件

[mian]

[root@localhost ~]# cat /etc/yum.conf 
[main]
cachedir=/var/cache/yum/$basearch/$releasever【緩存目錄,後面的$basearch、$releasever是變量,不一樣的應用中進行相應的替換】
keepcache=0【刪除緩存中已經安裝的軟件包,1表示不刪除】
debuglevel=2
logfile=/var/log/yum.log
exactarch=1【表示服務器端的版本要和當前版本的rpm徹底一致,0表示不限制】
obsoletes=1
gpgcheck=1【檢驗數據包的完整性及來源合法性】
plugins=1【是否支持yum使用插件】
installonly_limit=5
bugtracker_url=http://bugs.centos.org/set_project.php?project_id=19&ref=http://bugs.centos.org/bug_report_page.php?category=yum
distroverpkg=centos-release

#  This is the default, if you make this bigger yum won't see if the metadata
# is newer on the remote and so you'll "gain" the bandwidth of not having to
# download the new metadata and "pay" for it by yum not having correct
# information.
#  It is esp. important, to have correct metadata, for distributions like
# Fedora which don't keep old packages around. If you don't like this checking
# interupting your command line usage, it's much better to have something
# manually check the metadata once an hour (yum-updatesd will do this).
# metadata_expire=90m

# PUT YOUR REPOS HERE OR IN separate files named file.repo
# in /etc/yum.repos.d【若是要配置你本身的倉庫在下面直接添加配置或者在/etc/yum.repos.d下建立相應的.repo文件去配置】

配置本身的repo

各倉庫的定義: /etc/yum.repos.d/*.repo (必須以repo結尾的文件纔有效,每一個repo文件中能夠配置一至多個倉庫)

  • [repositoryid]【倉庫標識,必須是惟一的】

  • name=string【倉庫名稱,倉庫的描述信息】

  • baseurl=倉庫的訪問路徑【支持ftp,http,nfs,file】【file表明本地file:///】

  • enabled={0|1}【0表示不使用該倉庫】

  • gpgcheck={0|1}【若是不寫該字段,它會繼承main中的配置】

  • gpgkey=公鑰文件【能夠在本地或服務器】

  • cost=1000【定義此倉庫的開銷,默認是1000,開銷越低越被優先使用】

配置本地的yum倉庫

【掛載光盤】

[root@localhost yum.repos.d]# mount /dev/cdrom  /media/CentOS_6.6_Final/
mount: block device /dev/sr0 is write-protected, mounting read-only
[root@localhost yum.repos.d]# ls  /media/CentOS_6.6_Final/  
CentOS_BuildTag           repodata
EULA                      RPM-GPG-KEY-CentOS-6
GPL                       RPM-GPG-KEY-CentOS-Debug-6
images                    RPM-GPG-KEY-CentOS-Security-6
isolinux                  RPM-GPG-KEY-CentOS-Testing-6
Packages                  TRANS.TBL
RELEASE-NOTES-en-US.html

【刪除原有的倉庫,建立一個本身的倉庫】

[root@localhost yum.repos.d]# ls
centos.repo
[root@localhost yum.repos.d]# cat centos.repo 
[base_1]【倉庫名base_1】
name=CentOS6.6 i686 relase
baseurl=file:///media/CentOS_6.6_Final/
enabled=1
gpgcheck=1【啓用校驗,下面必須指定公鑰】
gpgkey=file:///media/CentOS_6.6_Final/RPM-GPG-KEY-CentOS-6【公鑰路徑】

【安裝示例】

[root@localhost yum.repos.d]# yum install zsh
已加載插件:fastestmirror, refresh-packagekit, security
設置安裝進程
Loading mirror speeds from cached hostfile
解決依賴關係
--> 執行事務檢查
---> Package zsh.i686 0:4.3.10-7.el6 will be 安裝
--> 完成依賴關係計算

依賴關係解決

==========================================================================
 軟件包       架構          版本                    倉庫             大小
==========================================================================
正在安裝:
 zsh          i686          4.3.10-7.el6            base_1          2.1 M

事務概要
==========================================================================
Install       1 Package(s)

總下載量:2.1 M
Installed size: 4.6 M
肯定嗎?[y/N]:y
下載軟件包:
運行 rpm_check_debug 
執行事務測試
事務測試成功
執行事務
  正在安裝   : zsh-4.3.10-7.el6.i686                                  1/1 
  Verifying  : zsh-4.3.10-7.el6.i686                                  1/1 

已安裝:
  zsh.i686 0:4.3.10-7.el6                                                 

完畢!

【查看緩存】

[root@localhost yum.repos.d]# 
[root@localhost yum.repos.d]# ls /var/cache/yum
i386
[root@localhost yum.repos.d]# ls /var/cache/yum/i386/
6
[root@localhost yum.repos.d]# ls /var/cache/yum/i386/6
base_1 timedhosts.txt
[root@localhost yum.repos.d]# ls /var/cache/yum/i386/6/base_1
58c6bae3c98b6582453b524f1d75cec03224efbf772fc398cc525f5e1c185e05-primary.sqlite
cachecookie
packages
repomd.xml

【配置本身的倉庫的時候要先查看本身的OS平臺el6,以及cpu架構i686】

[root@localhost yum.repos.d]# uname -a
Linux localhost.localdomain 2.6.32-504.el6.i686 #1 SMP Wed Oct 15 03:02:07 UTC 2014 i686 i686 i386 GNU/Linux

執行流程

看了例子後,執行流程就好理解了:第一次訪問倉庫時請求倉庫服務器的元數據並下載到本地緩存目錄中,而後檢索下載安裝包及其相關依賴包並進行安裝,安裝完成後最後再刪除緩存目錄中的這些安裝包,保留元數據。以後再次下載安裝包會先去倉庫服務器查詢元數據的校驗碼,並和本地元數據校驗碼進行比較,若是校驗碼相同,則直接忽略;若是不一樣就從新下載元數據並對本地緩存目錄中的元數據進行覆蓋,從而完成緩存有效性驗證。【數據:程序包;元數據:repodata(請求的安裝包及依賴包的名稱、大小、版本、依賴關係等屬性)】

yum的命令

倉庫相關

repolist [all|enabled|disabled] 【列出當前yum全部可用倉庫,yum repolist (等價於yum repolist enabled)】

[root@localhost yum.repos.d]# yum repolist
已加載插件:fastestmirror, refresh-packagekit, security
Loading mirror speeds from cached hostfile
倉庫標識                    倉庫名稱                                 狀態
base_1                      CentOS6.6 i686 relase                    4,926【該倉庫包的個數】
repolist: 4,926【總數】

緩存相關

clean [ packages | metadata | expire-cache | rpmdb | plugins | all ]【清理yum緩存,包安裝之後能夠進行清理緩存】

yum makecache【yum緩存建立,makecache自動鏈接至每個可用倉庫,下載其元數據,將其建立爲緩存】

程序包查看相關

yum list [ all | installed | availsble ]【列出rpm包】

yum info 包名 【列出包的描述信息】

yum grouplist【列出全部的包組】

yum groupinfo "包組名" 【顯示該包組的信息】

yum info 包名 【列出包的描述信息】

[root@localhost yum.repos.d]# yum info zsh
已加載插件:fastestmirror, refresh-packagekit, security
Loading mirror speeds from cached hostfile
已安裝的軟件包
Name        : zsh
Arch        : i686
Version     : 4.3.10
Release     : 7.el6
Size        : 4.6 M
Repo        : installed
From repo   : base_1
Summary     : A powerful interactive shell
URL         : http://zsh.sunsite.dk/
License     : BSD
Description : The zsh shell is a command interpreter usable as an
            : interactive login shell and as a shell script command
            : processor.  Zsh resembles the ksh shell (the Korn shell),
            : but includes many enhancements.  Zsh supports command line
            : editing, built-in spelling correction, programmable command
            : completion, shell functions (with autoloading), a history
            : mechanism, and more.

yum grouplist【列出全部的包組】

[root@localhost yum.repos.d]# yum grouplist
已加載插件:fastestmirror, refresh-packagekit, security
設置組進程
Loading mirror speeds from cached hostfile
base_1/group_gz                                    | 214 kB     00:00 ... 
已安裝的組:
   Java 平臺
   NFS 文件服務器
   Perl 支持
   SNMP 支持
....
Installed Language Groups:
   不丹語支持 [dz]
   中文支持 [zh]
   烏爾都語支持 [ur]
   亞美尼亞語支持 [hy]
...

程序包安裝相關

yum install 包名1 [包名2] […],支持多個包同時安裝

yum reinstall 包名1 [包名2] […],程序包從新(覆蓋)安裝

yum update 包名1 [包名2] […],程序包升級【若是指定明確的版本號,就按照該版本號升級,不然就會自動升級到最新版】

yum downgrade 包名1 [包名2] […],程序包降級

yum check-update,檢查程序包有哪些可用升級

卸載安裝包相關

remove | erase 包名1 [包名2] […]【卸載安裝包的依賴包會把安裝包也卸載,但卸載安裝包不會卸載其關聯的依賴包】

[root@localhost yum.repos.d]# yum install php【安裝php主包】
已加載插件:fastestmirror, refresh-packagekit, security
設置安裝進程
Loading mirror speeds from cached hostfile
解決依賴關係
--> 執行事務檢查
---> Package php.i686 0:5.3.3-38.el6 will be 安裝
--> 處理依賴關係 php-common(x86-32) = 5.3.3-38.el6,它被軟件包 php-5.3.3-38.el6.i686 須要
--> 處理依賴關係 php-cli(x86-32) = 5.3.3-38.el6,它被軟件包 php-5.3.3-38.el6.i686 須要
--> 執行事務檢查
---> Package php-cli.i686 0:5.3.3-38.el6 will be 安裝
---> Package php-common.i686 0:5.3.3-38.el6 will be 安裝
--> 完成依賴關係計算

依賴關係解決

==========================================================================
 軟件包            架構        版本                   倉庫           大小
==========================================================================
正在安裝:
 php               i686        5.3.3-38.el6           base_1        1.1 M
爲依賴而安裝:【有兩個依賴包】
 php-cli           i686        5.3.3-38.el6           base_1        2.2 M
 php-common        i686        5.3.3-38.el6           base_1        528 k

事務概要
==========================================================================
Install       3 Package(s)

總下載量:3.9 M
Installed size: 13 M
肯定嗎?[y/N]:y
下載軟件包:
--------------------------------------------------------------------------
總計                                       45 MB/s | 3.9 MB     00:00     
運行 rpm_check_debug 
執行事務測試
事務測試成功
執行事務
  正在安裝   : php-common-5.3.3-38.el6.i686                           1/3 
  正在安裝   : php-cli-5.3.3-38.el6.i686                              2/3 
  正在安裝   : php-5.3.3-38.el6.i686                                  3/3 
  Verifying  : php-common-5.3.3-38.el6.i686                           1/3 
  Verifying  : php-5.3.3-38.el6.i686                                  2/3 
  Verifying  : php-cli-5.3.3-38.el6.i686                              3/3 

已安裝:
  php.i686 0:5.3.3-38.el6                                                 

做爲依賴被安裝:
  php-cli.i686 0:5.3.3-38.el6        php-common.i686 0:5.3.3-38.el6       

完畢!
[root@localhost yum.repos.d]# yum remove php【卸載php主包】
已加載插件:fastestmirror, refresh-packagekit, security
設置移除進程
解決依賴關係
--> 執行事務檢查
---> Package php.i686 0:5.3.3-38.el6 will be 刪除
--> 完成依賴關係計算

依賴關係解決

==========================================================================
 軟件包       架構          版本                   倉庫              大小
==========================================================================
正在刪除:【並無依賴包】
 php          i686          5.3.3-38.el6           @base_1          3.3 M

事務概要
==========================================================================
Remove        1 Package(s)

Installed size: 3.3 M
肯定嗎?[y/N]:N
在用戶的命令下退出
[root@localhost yum.repos.d]# yum remove php-cli【卸載依賴包】
已加載插件:fastestmirror, refresh-packagekit, security
設置移除進程
解決依賴關係
--> 執行事務檢查
---> Package php-cli.i686 0:5.3.3-38.el6 will be 刪除
--> 處理依賴關係 php-cli(x86-32) = 5.3.3-38.el6,它被軟件包 php-5.3.3-38.el6.i686 須要
--> 執行事務檢查
---> Package php.i686 0:5.3.3-38.el6 will be 刪除
--> 完成依賴關係計算

依賴關係解決

==========================================================================
 軟件包          架構         版本                  倉庫             大小
==========================================================================
正在刪除:【php主包也被卸載】
 php-cli         i686         5.3.3-38.el6          @base_1         6.3 M
爲依賴而移除:
 php             i686         5.3.3-38.el6          @base_1         3.3 M

事務概要
==========================================================================
Remove        2 Package(s)

Installed size: 9.6 M
肯定嗎?[y/N]:N
在用戶的命令下退出

程序(包|組)查詢相關

yum search 關鍵字,例如:yum search mysql【搜索結果只要在程序包名稱和描述信息包含mysql關鍵字就會被顯示出來】

yum provides|whatprovides 包名|路徑(/PATH/TO/SOMEFILE) 【查詢指定文件由哪一個程序包安裝生成】

[root@localhost yum.repos.d]# yum provides /etc/passwd
已加載插件:fastestmirror, refresh-packagekit, security
Loading mirror speeds from cached hostfile
setup-2.8.14-20.el6_4.1.noarch : A set of system configuration and setup
                               : files
Repo        : base_1
匹配來自於:
Filename    : /etc/passwd



setup-2.8.14-20.el6_4.1.noarch : A set of system configuration and setup
                               : files
Repo        : installed
匹配來自於:
Other       : 提供依賴知足:/etc/passwd

管理整個包組

列出全部包組:grouplist

顯示指定包組詳情:groupinfo group1 […]

安裝:groupinstall group1 [group2] […]【整個包組的全部rpm包都被安裝,卸載升級同理】

卸載:groupremove group1 [group2] […]

升級:groupupdate group1 [group2] […]

注意:紅帽7不支持groupinstall、groupremove和groupupdate,紅帽6和7均可直接用install、remove或update來管理包組【方法爲: install + @ + 包組名 ,如yum install @"Ruby 支持" 】

安裝本地rpm包

yum install rpm包 【-–nogpgcheck: 禁止作包校驗】

yum --nogpgcheck install rpm包 或者 yum install rpm包 --nogpgcheck,
可是不能 
yum install --nogpgcheck rpm包【這樣被看成包名】

yum配置文件中的四個宏

用於保存當前平臺的相信息;

(1) $raleasever: 當前OS發行版的主版本號;例如,對CentOS 6.6 x86_64,主版本號爲6;

(2) $arch:平臺 如:i386, i486,i586

(3) $basearch: 基礎平臺, 例如i686, i586, i486以及i386的基礎平臺同爲i386;

(4) $YUM0-$YUM9

類比php中的$_SERVER["HTTP_CLIENT_IP"]

[root@localhost yum.repos.d]# cat  /etc/yum.conf
[main]
cachedir=/var/cache/yum/$basearch/$releasever【$_SERVER["HTTP_CLIENT_IP"],根據不一樣的環境進行不一樣的賦值給變量】
keepcache=0
debuglevel=2
logfile=/var/log/yum.log
exactarch=1
obsoletes=1
gpgcheck=1
plugins=1
installonly_limit=5
bugtracker_url=http://bugs.centos.org/set_project.php?project_id=19&ref=http://bugs.centos.org/bug_report_page.php?category=yum
distroverpkg=centos-release

python能夠打印出這幾個變量

[root@localhost yum.repos.d]# python
Python 2.6.6 (r266:84292, Jan 22 2014, 09:37:14) 
[GCC 4.4.7 20120313 (Red Hat 4.4.7-4)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import yum,pprint
>>> yb = yum.YumBase()
>>> pprint.pprint(yb.conf.yumvar,width=1)
{'arch': 'i686',
 'basearch': 'i386',
 'infra': 'stock',
 'releasever': '6',
 'uuid': 'ca2cc53f-9ef1-4927-85b2-f675082a5e2f'}
>>> quit()
相關文章
相關標籤/搜索