Specifying Which OS Package Repository to Use for Virtual Appliances

InstallAnywhere 2021

The virtual appliance creation process requires that the build system be connected to the Internet. However, in some cases, because of security reasons or low Internet bandwidth, such a connection might not be possible. In these cases, you can choose to set up an OS (Ubuntu or Centos) repository of OS packages and OS-related components on the build machine, and have InstallAnywhere use this repository at build time. The VM Configuration tab in the Build Appliances view on the Build page is where you specify whether you want to use Internet-based repositories or local repositories. Note that the repositories need to be accessible to the virtual appliance build system in order to be able to resolve the IP addresses and install the OS packages.

To specify which repository you want to use:

1. In the Advanced Designer, on the Build page, click Build Appliances. The Build Appliances view opens.
2. Click the Appliance Configuration tab.
3. In the Select Appliance Configuration list, select the appliance configuration that you want to customize.
4. Click the VM Configuration tab.
5. For VMware vSphere appliances: In the Select VM Tier list, select the VM tier that you want to configure.
6. Click the Repository Settings subtab.
7. Select the repository type that you want to use.

If you select the Local Repositories option, use the Location of Local Repository Specification File setting to specify the appropriate path. Note the following information:

As part of the specification, you can point to multiple repositories, and include repositories that list your proprietary packages in the specification file.
For baseline VM creation, the repository settings serve as an advanced option that can be pointed to by using the Baseline.vm.local.repository.location inside the appropriate property files.

Note:The only reason a specification file is recommended instead of a pointer to a single server is to give you the ability to point to multiple repository servers. In a distributed development system, each contributing team may publish their OS packages on a custom repository server, and the appliance author might need to consolidate all of these custom repository servers in a single file.

About Using Ubuntu OS Packages in the Repository

On Ubuntu, while OS packages are being installed, the Package Manager of Ubuntu tries to fix any pre-existing problems with the packages that are installed on the machine. Therefore, problems may occur when a package installation has failed before the appliance build runs.

For example, if prior to the appliance build and deployment, the end user installed a package named Package_A, and within the appliance the appliance author has bundled another package named Package_X, the installation of OS packages on Ubuntu causes the Ubuntu Package Manager to retry the installation of Package_A before it tries to install Package_X. If Package_A continues to have problems with installation, these errors cause the installation of Package_X to fail, causing the entire appliance build and deployment to fail.

In order to avoid such errors, you are advised to run the following command and ensure that all errors are resolved:

dpkg-reconfigure -a