Appendix A. Configuring a Local Repository for Offline Red Hat Virtualization Manager Installation

To install Red Hat Virtualization Manager on a system that does not have a direct connection to the Content Delivery Network, download the required packages on a system that has Internet access, then create a repository that can be shared with the offline Manager machine. The system hosting the repository must be connected to the same network as the client systems where the packages are to be installed.


  • A Red Hat Enterprise Linux 7 Server installed on a system that has access to the Content Delivery Network. This system downloads all the required packages, and distributes them to your offline system(s).
  • A large amount of free disk space available. This procedure downloads a large number of packages, and requires up to 50GB of free disk space.

Enable the Red Hat Virtualization Manager repositories on the online system:

Enabling the Red Hat Virtualization Manager Repositories

Register the system with Red Hat Subscription Manager, attach the Red Hat Virtualization Manager subscription, and enable Manager repositories.


  1. Register your system with the Content Delivery Network, entering your Customer Portal user name and password when prompted:

    # subscription-manager register

    If you are using an IPv6 network, use an IPv6 transition mechanism to access the Content Delivery Network and subscription manager.

  2. Find the Red Hat Virtualization Manager subscription pool and record the pool ID:

    # subscription-manager list --available
  3. Use the pool ID to attach the subscription to the system:

    # subscription-manager attach --pool=pool_id

    To view currently attached subscriptions:

    # subscription-manager list --consumed

    To list all enabled repositories:

    # yum repolist
  4. Configure the repositories:

    # subscription-manager repos \
        --disable='*' \
        --enable=rhel-7-server-rpms \
        --enable=rhel-7-server-supplementary-rpms \
        --enable=rhel-7-server-rhv-4.3-manager-rpms \
        --enable=rhel-7-server-rhv-4-manager-tools-rpms \
        --enable=rhel-7-server-ansible-2.9-rpms \

Configuring the Offline Repository

  1. Servers that are not connected to the Internet can access software repositories on other systems using File Transfer Protocol (FTP). To create the FTP repository, install and configure vsftpd:

    1. Install the vsftpd package:

      # yum install vsftpd
    2. Start the vsftpd service, and ensure the service starts on boot:

      # systemctl start vsftpd.service
      # systemctl enable vsftpd.service
    3. Create a sub-directory inside the /var/ftp/pub/ directory. This is where the downloaded packages will be made available:

      # mkdir /var/ftp/pub/rhvrepo
  2. Download packages from all configured software repositories to the rhvrepo directory. This includes repositories for all Content Delivery Network subscription pools attached to the system, and any locally configured repositories:

    # reposync -l -p /var/ftp/pub/rhvrepo

    This command downloads a large number of packages, and takes a long time to complete. The -l option enables yum plug-in support.

  3. Install the createrepo package:

    # yum install createrepo
  4. Create repository metadata for each of the sub-directories where packages were downloaded under /var/ftp/pub/rhvrepo:

    # for DIR in $(find /var/ftp/pub/rhvrepo -maxdepth 1 -mindepth 1 -type d); do createrepo $DIR; done
  5. Create a repository file, and copy it to the /etc/yum.repos.d/ directory on the offline machine on which you will install the Manager.

    The configuration file can be created manually or with a script. Run the script below on the system hosting the repository, replacing ADDRESS in the baseurl with the IP address or FQDN of the system hosting the repository:

    echo -e " " > $REPOFILE
    for DIR in $(find /var/ftp/pub/rhvrepo -maxdepth 1 -mindepth 1 -type d);
        echo -e "[$(basename $DIR)]"	>> $REPOFILE
        echo -e "name=$(basename $DIR)" >> $REPOFILE
        echo -e "baseurl=ftp://_ADDRESS_/pub/rhvrepo/`basename $DIR`" >> $REPOFILE
        echo -e "enabled=1" >> $REPOFILE
        echo -e "gpgcheck=0" >> $REPOFILE
        echo -e "\n" >> $REPOFILE

Return to Section 3.3, “Installing and Configuring the Red Hat Virtualization Manager”. Packages are installed from the local repository, instead of from the Content Delivery Network.