准备工作:

      1:准备RHEL5安装光盘(DVD 、CD、ISO文件 )

      2:PC一台,并安装好RHEL5操作系统

      3:至少3G的磁盘剩余空间

 

YUM 仓库配置过程:

      1:把RHEL5的系统光盘放入主机,这里我们使用RHEL5的ISO镜像文件挂载到PC的MNT下disk目录

      步骤如下:

     1:新建目录,并挂载ISO文件

           [root@station11 /]# mkdir /mnt/disk

           [root@station11 /]# mount -o loop /software/rhel-server-5.1-i386-dvd.iso /mnt/disk/

         2:查看是否挂载成功

     

         3: 进入Server目录安装vsftp 包 (输入软件包时按TAB键补齐)

              [root@station11 /]# cd /mnt/disk/Server/

              [root@station11 Server]# rpm -ivh vsftpd-2.0.5-10.el5.i386.rpm


 

        4: 安装createrepo 包

              [root@station11 Server]# rpm -ivh createrepo-0.4.4-2.fc6.noarch.rpm


       5: 安装 yum-utils

              [root@station11 Server]# rpm -ivh yum-utils-1.0.4-3.el5.noarch.rpm

       

      6:查看/var/ftp/pub 是否建立

             [root@server1 /]# ls /var/ftp/pub


       7:将之前挂载在/mnt/disk目录下RHEL5的所有文件copy到/var/ftp/pub目录下,并查看是否copy        完整

                 (/var/ftp/pub 在学完磁盘分区之后建议使用单独分区挂载到此目录)

             [root@station11 /]# cp -a /mnt/disk/* /var/ftp/pub/

             [root@station11 /]# ls /var/ftp/pub/


        8:建立rpm包依赖关系(建立仓库)

           [root@station11 /]# createrepo -g /var/ftp/pub/Server/repodata/comps-rhel5-server-core.xml                                                  /var/ftp/pub/                        (命令过长,使用TAB键自动补齐)

           建立其他仓库(以下绿色部分可略过)

[root@station11 /]# createrepo -g /var/ftp/pub/VT/repodata/comps-rhel5-vt.xml /var/ftp/pub/VT/

           [root@station11 /]# createrepo -g /var/ftp/pub/Cluster/repodata/comps-rhel5-cluster.xml/var/ftp/pub/Cluster/

           [root@station11 /]# createrepo -g /var/ftp/pub/ClusterStorage/repodata/comps-rhel5-cluster-st.xml/var/ftp/pub/ClusterStorage/

     

           如果出现如下错误提示:

           Error was [Errno 39] Directory not empty: '/var/ftp/pub/ClusterStorage/.olddata'

           只需删除相应的目录即可:

           [root@station11 /]# rm -rf /var/ftp/pub/ClusterStorage/.olddata/

       9:建立完毕仓库之后,新建repo    yum源指向文件   

           进入/etc/yum.repos.d 目录新建local.repo 文件也可以复制rhel-debuginfo.repo并改名为local.repo)

           [root@station11 yum.repos.d]# cp -p rhel-debuginfo.repo local.repo

     

      10:编辑local.repo文件,内容如下

           [Server]                                      -------------仓库名称(可自定义)

           name=Red Hat Enterprise Linux Server    -----------仓库说明(方便记忆)

           baseurl=ftp://10.170.0.252/pub/Server   -------------仓库路径(yum服务器地址)

           enabled=1                                -------------是否启用此仓库

           gpgcheck=1                           ------------此仓库是否启用rpm包gpgkey校验

           gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release   

                                     --------gpgkey文件存放位置

以下绿色部分可略过

[VT]

           name=Red Hat Enterprise Linux VT

           baseurl=ftp://10.170.0.252/pub/VT

           enabled=1

           gpgcheck=1

           gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release

           [Cluster]

           name=Red Hat Enterprise Linux Cluster

           baseurl=ftp://10.170.0.252/pub/Cluster

           enabled=1

           gpgcheck=1

           gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release

           [ClusterStorage]

           name=Red Hat Enterprise Linux ClusterStorage

           baseurl=ftp://10.170.0.252/pub/ClusterStorage

           enabled=1

           gpgcheck=1

           gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release

 

      11:启动vsftpd服务并测试yum服务器

           [root@station11 yum.repos.d]# chkconfig vsftpd on

           [root@station11 yum.repos.d]# service vsftpd start


 

           *******如果系统启动了SELinux 请使用如下命令开启vsftp的SELinux权限*******

           ******** [root@station11 yum.repos.d]# setsebool -P ftpd_disable_trans=1 ***********

                 ********** [root@station11 yum.repos.d]# service vsftpd restart **********

          

测试yum服务器

           [root@station11 yum.repos.d]# yum list

          

YUM常用命令介绍

1.列出所有可更新的软件清单
命令:yum check-update

2.安装所有更新软件
命令:yum update

3.仅安装指定的软件
命令:yum install <package_name>

4.仅更新指定的软件
命令:yum update <package_name>

5.列出所有可安裝的软件清单
命令:yum list

用YUM安装删除软件
装了系统添加删除软件是常事,yum同样可以胜任这一任务,只要软件是rpm安装的。 
安装的命令是,yum install xxx,yum会查询数据库,有无这一软件包,如果有,则检查其依赖冲突关系,如果没有依赖冲突,那么最好,下载安装;如果有,则会给出提示,询问是否要同时安装依赖,或删除冲突的包,你可以自己作出判断。 
删除的命令是,yum remove xxx,同安装一样,yum也会查询数据库,给出解决依赖关系的提示。 

1.用YUM安装软件包
命令:yum install <package_name>

2.用YUM删除软件包
命令:yum remove <package_name>

用YUM查询软件信息
我们常会碰到这样的情况,想要安装一个软件,只知道它和某方面有关,但又不能确切知道它的名字。这时yum的查询功能就起作用了。你可以用 yum search keyword这样的命令来进行搜索,比如我们要则安装一个Instant Messenger,但又不知到底有哪些,这时不妨用 yum search messenger这样的指令进行搜索,yum会搜索所有可用rpm的描述,列出所有描述中和messeger有关的rpm包,于是我们可能得到gaim,kopete等等,并从中选择。 
有时我们还会碰到安装了一个包,但又不知道其用途,我们可以用yum info packagename这个指令来获取信息。 

1.使用YUM查找软件包
命令:yum search <keyword>

2.列出所有可安装的软件包
命令:yum list

3.列出所有可更新的软件包
命令:yum list updates

4.列出所有已安装的软件包
命令:yum list installed

5.列出所有已安装但不在 Yum Repository 內的软件包
命令:yum list extras

6.列出所指定的软件包
命令:yum list <package_name>

7.使用YUM获取软件包信息
命令:yum info <package_name>

8.列出所有软件包的信息
命令:yum info

9.列出所有可更新的软件包信息
命令:yum info updates

10.列出所有已安裝的软件包信息
命令:yum info installed

11.列出所有已安裝但不在 Yum Repository 內的软件包信息
命令:yum info extras

12.列出软件包提供哪些文件
命令:yum provides <package_name>

清除YUM缓存
yum 会把下载的软件包和header存储在cache中,而不会自动删除。如果我们觉得它们占用了磁盘空间,可以使用yum clean指令进行清除,更精确的用法是yum clean headers清除header,yum clean packages清除下载的rpm包,yum clean all一股脑儿端 

1.清除缓存目录(/var/cache/yum)下的软件包
命令:yum clean packages

2.清除缓存目录(/var/cache/yum)下的 headers
命令:yum clean headers

3.清除缓存目录(/var/cache/yum)下旧的 headers
命令:yum clean oldheaders

4.清除缓存目录(/var/cache/yum)下的软件包及旧的headers
命令:yum clean, yum clean all (= yum clean packages; yum clean oldheaders)