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 the Manager repositories.
Register your system with the Content Delivery Network, entering your Customer Portal user name and password when prompted:
# subscription-manager registerNote
If you are using an IPv6 network, use an IPv6 transition mechanism to access the Content Delivery Network and subscription manager.
Red Hat Virtualization Managersubscription pool and record the pool ID:
# subscription-manager list --available
Use the pool ID to attach the subscription to the system:
# subscription-manager attach --pool=pool_idNote
To view currently attached subscriptions:
# subscription-manager list --consumed
To list all enabled repositories:
# yum repolist
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-rpms \ --enable=jb-eap-7.2-for-rhel-7-server-rpms
Configuring the Offline Repository
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
# yum install vsftpd
Start the vsftpd service, and ensure the service starts on boot:
# systemctl start vsftpd.service # systemctl enable vsftpd.service
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
Download packages from all configured software repositories to the
rhvrepodirectory. 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
-loption enables yum plug-in support.
# yum install createrepo
Create repository metadata for each of the sub-directories where packages were downloaded under
# for DIR in $(find /var/ftp/pub/rhvrepo -maxdepth 1 -mindepth 1 -type d); do createrepo $DIR; done
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
baseurlwith the IP address or FQDN of the system hosting the repository:
#!/bin/sh REPOFILE="/etc/yum.repos.d/rhev.repo" echo -e " " > $REPOFILE for DIR in $(find /var/ftp/pub/rhvrepo -maxdepth 1 -mindepth 1 -type d); do 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 done
Return to Section 3.4, “Configuring the Red Hat Virtualization Manager”. Packages are installed from the local repository, instead of from the Content Delivery Network.