博客:http://www.51aixue.cn/2017/05...php
用法: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
當使用rpm安裝的時候常常出現依賴關係,yum基於對rpm包的管理,它能根據rpm包的依賴關係,把依賴的那些包一同安裝;yum是rpm的前端管理工具,它不能脫離rpm,並非說有了yum就不用rpm了
既然它要安裝依賴的包,因此它須要遠程的服務器倉庫,它基於C/S【客戶端/服務器】架構。須要配置文件去指定一些配置
配置文件包含倉庫位置路徑、緩存大小、緩存路徑及相關各類配置信息;每一個yum命令行能夠指向多個倉庫,倉庫間能夠有優先級等相關配置;它分爲[main]公共配置文件和[repo]倉庫配置文件
[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文件去配置】
各倉庫的定義: /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(請求的安裝包及依賴包的名稱、大小、版本、依賴關係等屬性)】
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 支持" 】
yum install rpm包 【-–nogpgcheck: 禁止作包校驗】
yum --nogpgcheck install rpm包 或者 yum install rpm包 --nogpgcheck, 可是不能 yum install --nogpgcheck rpm包【這樣被看成包名】
用於保存當前平臺的相信息;
(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()