YUM 线上升级机制

查询功能:yum [list|info|search|provides|whatprovides] 参数

[root@www ~]# yum [option] [查询工作项目] [相关参数]
选项与参数:
[option]:主要的选项,包括有:
  -y :当 yum 要等待使用者输入时,这个选项可以自动提供 yes 的回应;
  --installroot=/some/path :将该软件安装在 /some/path 而不使用默认路径
[查询工作项目] [相关参数]:这方面的参数有:
  search  :搜寻某个软件名称或者是描述 (description) 的重要关键字;
  list    :列出目前 yum 所管理的所有的软件名称与版本,有点类似 rpm -qa;
  info    :同上,不过有点类似 rpm -qai 的运行结果;
  provides:从文件去搜寻软件!类似 rpm -qf 的功能!

范例一:搜寻磁盘阵列 (raid) 相关的软件有哪些?
[root@www ~]# yum search raid
....(前面省略)....
mdadm.i386 : mdadm controls Linux md devices (software RAID arrays)
lvm2.i386 : Userland logical volume management tools
....(后面省略)....
# 在冒号 (:)  左边的是软件名称,右边的则是在 RPM 内的 name 配置 (软件名)
# 瞧!上面的结果,这不就是与 RAID 有关的软件吗?如果想了解 mdadm 的软件内容呢?

范例二:找出 mdadm 这个软件的功能为何
[root@www ~]# yum info mdadm
Installed Packages      <==这说明该软件是已经安装的了
Name   : mdadm          <==这个软件的名称
Arch   : i386           <==这个软件的编译架构
Version: 2.6.4          <==此软件的版本
Release: 1.el5          <==释出的版本
Size   : 1.7 M          <==此软件的文件总容量
Repo   : installed      <==容器回报说已安装的
Summary: mdadm controls Linux md devices (software RAID arrays)
Description:            <==看到否?这就是 rpm -qi 嘛!
mdadm is used to create, manage, and monitor Linux MD (software RAID)
devices.  As such, it provides similar functionality to the raidtools
package.  However, mdadm is a single program, and it can perform
almost all functions without a configuration file, though a configuration
file can be used to help with some common tasks.
# 不要跟我说,上面说些啥?自己找字典翻一翻吧!拜托拜托!

范例三:列出 yum 服务器上面提供的所有软件名称
[root@www ~]# yum list
Installed Packages <==已安装软件
Deployment_Guide-en-US.noarch            5.2-9.el5.centos       installed
Deployment_Guide-zh-CN.noarch            5.2-9.el5.centos       installed
Deployment_Guide-zh-TW.noarch            5.2-9.el5.centos       installed
....(中间省略)....
Available Packages <==还可以安装的其他软件
Cluster_Administration-as-IN.noarch      5.2-1.el5.centos       base
Cluster_Administration-bn-IN.noarch      5.2-1.el5.centos       base
....(底下省略)....
# 上面提供的意义为:『 软件名称   版本   在那个容器内 』

范例四:列出目前服务器上可供本机进行升级的软件有哪些?
[root@www ~]# yum list updates  <==一定要是 updates 喔!
Updated Packages
Deployment_Guide-en-US.noarch            5.2-11.el5.centos      base
Deployment_Guide-zh-CN.noarch            5.2-11.el5.centos      base
Deployment_Guide-zh-TW.noarch            5.2-11.el5.centos      base
....(底下省略)....
# 上面就列出在那个容器内可以提供升级的软件与版本!

范例五:列出提供 passwd 这个文件的软件有哪些
[root@www ~]# yum provides passwd
passwd.i386 : The passwd utility for setting/changing passwords using PAM
passwd.i386 : The passwd utility for setting/changing passwords using PAM
# 找到啦!就是上面的这个软件提供了 passwd 这个程序!

安装/升级功能:yum [install|update] 软件

安装

[root@www ~]# yum [option] [查询工作项目] [相关参数]
选项与参数:
  install :后面接要安装的软件!
  update  :后面接要升级的软件,若要整个系统都升级,就直接 update 即可

范例一:将前一个练习找到的未安装的 pam-devel 安装起来
[root@www ~]# yum install pam-devel
Setting up Install Process
Parsing package install arguments
Resolving Dependencies  <==先检查软件的属性相依问题
--> Running transaction check
---> Package pam-devel.i386 0:0.99.6.2-4.el5 set to be updated
--> Processing Dependency: pam = 0.99.6.2-4.el5 for package: pam-devel
--> Running transaction check
---> Package pam.i386 0:0.99.6.2-4.el5 set to be updated
filelists.xml.gz          100% |=========================| 1.6 MB    00:05
filelists.xml.gz          100% |=========================| 138 kB    00:00
-> Finished Dependency Resolution

移除

[root@www ~]# yum remove pam-devel
Setting up Remove Process
Resolving Dependencies  <==同样的,先解决属性相依的问题
--> Running transaction check
---> Package pam-devel.i386 0:0.99.6.2-4.el5 set to be erased
--> Finished Dependency Resolution

Dependencies Resolved

yum 的配置档

[root@www ~]# vi /etc/yum.repos.d/CentOS-Base.repo
[base]
name=CentOS-$releasever - Base
mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=os
#baseurl=http://mirror.centos.org/centos/$releasever/os/$basearch/
gpgcheck=1
gpgkey=http://mirror.centos.org/centos/RPM-GPG-KEY-CentOS-5
范例一:列出目前 yum server 所使用的容器有哪些?
[root@www ~]# yum repolist all
repo id         repo name                  status
addons          CentOS-5 - Addons          enabled
base            CentOS-5 - Base            enabled
c5-media        CentOS-5 - Media           disabled
centosplus      CentOS-5 - Plus            disabled
extras          CentOS-5 - Extras          enabled
updates         CentOS-5 - Updates         enabled
# 上面最右边有写 enabled 才是有启动的!由於 /etc/yum.repos.d/
# 有多个配置档,所以你会发现还有其他的容器存在。