创建一个包括了所有安装 Red Hat Enterprise Virtualization 组件所需软件包的离线软件仓库。如果您的系统没有直接连接到 Content Delivery Network,可以使用这个方法。

1、在一个可以访问 Content Delivery Network 的系统上安装 Red Hat Enterprise Linux 6 Server。这个系统被用来下载所有需要的软件,并被这些软件分配到您的离线系统上。


注意:因此这个过程需要下载大量软件包(需要大约 1.5 GB 的存储空间),请确认您的系统有足够的可用磁盘空间。

2、在 Content Delivery Network 中注册您的系统,在出现提示时输入您的 Customer Portal 用户名和密码:

 # subscription-manager register

3、为系统订阅所有需要的频道:

  1. 找到包括安装 Red Hat Enterprise Virtualization Manager 所需仓库的权利池:

    # subscription-manager list --available | grep -A8 "Red Hat Enterprise Linux Server"
    # subscription-manager list --available | grep -A8 "Red Hat Enterprise Virtualization"
  2. 使用在上一步所获得的权利池的 ID 来把 Red Hat Enterprise Linux Server 和 Red Hat Enterprise Virtualization 的权利附加到系统上。运行以下命令:

    # subscription-manager attach --pool=pool_id
  3. 启用所需的仓库:

    # subscription-manager repos --enable=rhel-6-server-rpms
    # subscription-manager repos --enable=rhel-6-server-supplementary-rpms
    # subscription-manager repos --enable=rhel-6-server-rhevm-3.5-rpms
    # subscription-manager repos --enable=jb-eap-6-for-rhel-6-server-rpms

4、没有和互联网相连接的服务器可以通过 File Transfer Protocol(FTP)来访问软件存储仓库。以 root用户身份登录到系统,安装并配置 vsftpd 来创建 FTP 软件存储仓库:

  1. 安装 vsftpd 软件包:

    # yum install vsftpd
  2. 启动 vsftpd 服务,并使它可以在系统启动后自动运行:

    # service vsftpd start
    # chkconfig vsftpd on
  3. 在 /var/ftp/pub/ 目录中创建子目录。下载的软件包将会保存在这里。

    # mkdir /var/ftp/pub/rhevrepo

5、当 FTP 服务器被配置后,您需要使用 reposync 命令来下载被共享的软件包。这个命令会从所有配置的软件仓库中下载软件包(包括这个系统订阅的所有 Content Delivery Network 订阅池的仓库,以及本地配置的软件存储仓库)。

  1. 进入 /var/ftp/pub/rhevrepo 目录:

    # cd /var/ftp/pub/rhevrepo
  2. 运行 reposync 命令:

    # reposync --plugins .

6、使用 createrepo 命令为 /var/ftp/pub/rhevrepo 下的每个子目录创建软件包存储仓库元数据:

  1. # for DIR in `find /var/ftp/pub/rhevrepo -maxdepth 1 -mindepth 1 -type d`; do createrepo $DIR; done;

7、创建 yum 配置文件,把它复制到需要使用这个软件存储仓库的客户端系统的 /etc/yum.repos.d/目录下。请确认软件存储仓库所在系统和需要访问它们的客户端系统处于同一个网络中。

    配置文件可以被手工创建,也可以使用一个脚本来创建。如果使用脚本,您需要把 baseurl 中的 ADDRESS 替换为软件存储仓库所在系统的 IP 地址或 FQDN。这个脚本必须在软件存储仓库所在的系统上运行。如:

#!/bin/shREPOFILE="/etc/yum.repos.d/rhev.repo"for DIR in `find /var/ftp/pub/rhevrepo -maxdepth 1 -mindepth 1 -type d`; do  
    echo -e "[`basename $DIR`]"	> $REPOFILE	
    echo -e "name=`basename $DIR`" >> $REPOFILE	
    echo -e "baseurl=ftp://ADDRESS/pub/rhevrepo/`basename $DIR`" >> $REPOFILE	
    echo -e "enabled=1" >> $REPOFILE	
    echo -e "gpgcheck=0" >> $REPOFILE	
    echo -e "\n" >> $REPOFILEdone;

8、把软件包存储仓库配置文件复制到所有需要使用这个软件包存储仓库的客户端系统的 /etc/yum.repos.d/ 目录下。 例如:Red Hat Enterprise Virtualization Manager 系统、所有的 Red Hat Enterprise Linux 虚拟主机和所有的 Red Hat Enterprise Linux 虚拟机上。

    现在,您的客户端系统已经被配置为使用本地软件仓库。您可以使用它来安装 Manager、虚拟主机和虚拟机。安装所需的软件包将会从您的本地软件仓库中获得,而不再需要使用 Content Delivery Network。

    注意:也可以使用其它的移动存储设备(如 USB 移动硬盘)来为客户端提供您所创建的软件包存储仓库。您需要:

    1)把 /var/ftp/pub/rhevrepo 目录下的所有内容复制到移动设备中。

    2)修改 /etc/yum.repos.d/rhev.repo 文件,把 baseurl 值替换为软件存储仓库所在移动设备的路径。例如:file:///media/disk/rhevrepo/。

    注意:当 Content Delivery Network 中有相应的软件更新时,您需要更新本地的软件仓库。请重复同步和共享频道的操作,在 reposync 命令中添加 --newest-only 参数来只获得每个软件包的最新版本。一旦软件仓库被更新,您还需要在每个客户端上运行 yum update 命令来更新它们。