17 Setting up a network installation source #
This chapter describes how to create a server that provides the data required for installing SUSE Linux Enterprise Server over the network.
Depending on the operating system of the machine used as the network installation source for SUSE Linux Enterprise Server, there are several options for the server configuration. The easiest way to set up an installation server is to use YaST.
You can even use a Microsoft Windows machine as the installation server for your Linux deployment. See Section 17.5, “Managing an SMB repository” for details.
17.1 Setting up an installation server using YaST #
YaST offers a graphical tool for creating network repositories. It supports HTTP, FTP, and NFS network installation servers.
Log in to the machine that should act as installation server.
Install the package yast2-instserver:
>
sudo
zypper in yast2-instserverStart
› › .Select the repository type (HTTP, FTP, or NFS). The selected service is started automatically every time the system starts. If a service of the selected type is already running on your system and you want to configure it manually for the server, deactivate the automatic configuration of the server service with
. In both cases, define the directory in which the installation data should be made available on the server.Configure the required repository type. This step relates to the automatic configuration of server services. It is skipped when automatic configuration is deactivated.
Define an alias for the root directory of the FTP or HTTP server on which the installation data should be found. The repository will later be located under
ftp://Server-IP/Alias/Name
(FTP) or underhttp://Server-IP/Alias/Name
(HTTP). Name stands for the name of the repository, which is defined in the following step. If you selected NFS in the previous step, define wild cards and export options. The NFS server will be accessible undernfs://Server-IP/Name
. Details of NFS and exports can be found in Chapter 19, Sharing file systems with NFS.Tip: Firewall settingsMake sure that the firewall settings of your server system allow traffic on ports for HTTP, NFS, and FTP. If they currently do not, enable
or check first.Configure the repository. Before the installation media are copied to their destination, define the name of the repository (ideally, an easily remembered abbreviation of the product and version). YaST allows providing ISO images of the media instead of copies of the installation DVDs. If you want this, activate the relevant check box and specify the directory path under which the ISO files can be found locally. Depending on the product to distribute using this installation server, it might be necessary to add media, such as service pack DVDs as extra repositories. To announce the installation server on the network via OpenSLP, activate the appropriate option.
Tip: Announcing the repositoryConsider announcing your repository via OpenSLP if your network setup supports this option. This saves you from entering the network installation path on every target machine. The target systems are booted using the SLP boot parameter and find the network repository without any further configuration. For details on this option, refer to Chapter 8, Boot parameters.
Configuring extra repositories. YaST follows a specific naming convention to configure add-on CD or service pack CD repositories. Configuration is accepted only if the repository name of the add-on CDs starts with the repository name of the installation media. In other words, if you chose
SLES12SP1
as repository name for DVD1 then you should selectSLES12SP1addon
as repository name for DVD2.Upload the installation data. The most lengthy step in configuring an installation server is copying the actual installation media. Insert the media in the sequence requested by YaST and wait for the copying procedure to end. When the sources have been fully copied, return to the overview of existing repositories and close the configuration by selecting
.Your installation server is now fully configured and ready for service. It is automatically started every time the system is started. No further intervention is required. You only need to configure and start this service correctly manually if you deactivated the automatic configuration of the selected network service with YaST as an initial step.
To deactivate a repository, select the repository to remove then select
. The installation data are removed from the system. To deactivate the network service, use the respective YaST module.If your installation server needs to provide the installation data for more than one product of the product version, start the YaST installation server module. Then select
in the overview of existing repositories to configure the new repository.Configuring a server to be an installation server with YaST automatically installs and configures the Apache Web server, listening on port 80.
However, configuring a machine to be an RMT server (Repository Mirroring Tool) automatically installs the NGINX Web server and configures it to listen on port 80.
Do not try to enable both these functions on the same server. It is not possible for a single server to host both simultaneously.
17.2 Setting up an NFS repository manually #
Setting up an NFS source for installation is done in two main steps. First, create the directory structure holding the installation data and copy the installation media over to this structure. Second, export the directory holding the installation data to the network.
To create a directory to hold the installation data, proceed as follows:
Log in as
root
.Create a directory that will hold all installation data and change into this directory. For example:
#
mkdir -p /srv/install/PRODUCT/PRODUCTVERSION#
cd /srv/install/PRODUCT/PRODUCTVERSIONReplace PRODUCT with an abbreviation of the product name and PRODUCTVERSION with a string that contains the product name and version (for example,
/srv/install/SLES/15.1
).For each installation medium contained in the media kit, execute the following commands:
Copy the entire content of the installation medium into the installation server directory:
#
cp -a /media/PATH_TO_YOUR_MEDIA_DRIVE .Replace PATH_TO_YOUR_MEDIA_DRIVE with the actual mount point of the installation medium.
Rename the directory to the medium number:
#
mv PATH_TO_YOUR_MEDIA_DRIVE DVDXReplace X with the actual number of the installation medium.
On SUSE Linux Enterprise Server, you can export the repository with NFS using YaST. Proceed as follows:
Log in as
root
.Start
› › .Select
and and click .Select
and browse for the directory containing the installation sources, in this case,PRODUCTVERSION
.Select
and enter the host names of the machines to which to export the installation data. Instead of specifying host names here, you could also use wild cards, ranges of network addresses, or the domain name of your network. Enter the appropriate export options or leave the default, which works fine in most setups. For more information about the syntax used in exporting NFS shares, read theexports
man page.Click SUSE Linux Enterprise Server repository is automatically started and integrated into the boot process.
. The NFS server holding the
To export the repository manually via NFS instead of using the YaST NFS Server module, proceed as follows:
Log in as
root
.Open the file
/etc/exports
and enter the following line:/PRODUCTVERSION *(ro,root_squash,sync)
This exports the directory
/PRODUCTVERSION
to any host that is part of this network or to any host that can connect to this server. To limit the access to this server, use netmasks or domain names instead of the general wild card*
. Refer to theexport
man page for details. Save and exit this configuration file.To add the NFS service to the list of servers started during system boot, execute the following commands:
#
systemctl enable nfsserverStart the NFS server with
systemctl start nfsserver
. If you need to change the configuration of your NFS server later, modify the configuration file and restart the NFS daemon withsystemctl restart nfsserver
.
Announcing the NFS server via OpenSLP makes its address known to all clients in your network.
Log in as
root
.Create the
/etc/slp.reg.d/install.suse.nfs.reg
configuration file with the following lines:# Register the NFS Installation Server service:install.suse:nfs://$HOSTNAME/PATH_TO_REPOSITORY/DVD1,en,65535 description=NFS Repository
Replace PATH_TO_REPOSITORY with the actual path to the installation source on your server.
Start the OpenSLP daemon with
systemctl start slpd
.
For more information about OpenSLP, refer to the package documentation
located under /usr/share/doc/packages/openslp/
or refer
to Chapter 41, SLP. For more information about NFS, refer to
Chapter 19, Sharing file systems with NFS.
17.3 Setting up an FTP repository manually #
Creating an FTP repository is very similar to creating an NFS repository. An FTP repository can be announced over the network using OpenSLP as well.
Create a directory holding the installation sources as described in Section 17.2, “Setting up an NFS repository manually”.
Configure the FTP server to distribute the contents of your installation directory:
Log in as
root
and install the packagevsftpd
using the YaST software management.Enter the FTP server root directory:
#
cd/srv/ftp
Create a subdirectory holding the installation sources in the FTP root directory:
#
mkdir REPOSITORYReplace REPOSITORY with the product name.
Mount the contents of the installation repository into the change root environment of the FTP server:
#
mount --bind PATH_TO_REPOSITORY /srv/ftp/REPOSITORYReplace PATH_TO_REPOSITORY and REPOSITORY with values matching your setup. If you need to make this permanent, add it to
/etc/fstab
.Start vsftpd with
vsftpd
.
Announce the repository via OpenSLP, if this is supported by your network setup:
Create the
/etc/slp.reg.d/install.suse.ftp.reg
configuration file with the following lines:# Register the FTP Installation Server service:install.suse:ftp://$HOSTNAME/REPOSITORY/DVD1,en,65535 description=FTP Repository
Replace REPOSITORY with the actual name of the repository directory on your server. The
service:
line should be entered as one continuous line.Start the OpenSLP daemon with
systemctl start slpd
.
If you prefer to use YaST rather than manually configuring the FTP installation server, refer to Chapter 43, Setting up an FTP server with YaST.
17.4 Setting up an HTTP repository manually #
Creating an HTTP repository is very similar to creating an NFS repository. An HTTP repository can be announced over the network using OpenSLP as well.
Create a directory holding the installation sources as described in Section 17.2, “Setting up an NFS repository manually”.
Configure the HTTP server to distribute the contents of your installation directory:
Install the Web server Apache as described in Section 42.1.2, “Installation”.
Enter the root directory of the HTTP server (
/srv/www/htdocs
) and create the subdirectory that will hold the installation sources:#
mkdir REPOSITORYReplace REPOSITORY with the product name.
Create a symbolic link from the location of the installation sources to the root directory of the Web server (
/srv/www/htdocs
):#
ln -s /PATH_TO_REPOSITORY/srv/www/htdocs/REPOSITORYModify the configuration file of the HTTP server (
/etc/apache2/default-server.conf
) to make it follow symbolic links. Replace the following line:Options None
with
Options Indexes FollowSymLinks
Reload the HTTP server configuration using
systemctl reload apache2
.
Announce the repository via OpenSLP, if this is supported by your network setup:
Create the
/etc/slp.reg.d/install.suse.http.reg
configuration file with the following lines:# Register the HTTP Installation Server service:install.suse:http://$HOSTNAME/REPOSITORY/DVD1/,en,65535 description=HTTP Repository
Replace REPOSITORY with the actual path to the repository on your server. The
service:
line should be entered as one continuous line.Start the OpenSLP daemon using
systemctl start slpd
.
17.5 Managing an SMB repository #
Using SMB, you can import the installation sources from a Microsoft Windows server and start your Linux deployment even with no Linux machine around.
To set up an exported Windows Share holding your SUSE Linux Enterprise Server repository, proceed as follows:
Log in to your Windows machine.
Create a new directory that will hold the entire installation tree and name it
INSTALL
, for example.Export this share according to the procedure outlined in your Windows documentation.
Enter this share and create a subdirectory, called
PRODUCT
. Replace PRODUCT with the actual product name.Enter the
INSTALL/PRODUCT
directory and copy each medium to a separate directory, such asDVD1
andDVD2
.
To use an SMB mounted share as a repository, proceed as follows:
Boot the installation target.
Select
.Press F4 for a selection of the repository.
Choose SMB and enter the Windows machine's name or IP address, the share name (
INSTALL/PRODUCT/DVD1
, in this example), user name, and password. The syntax looks like this:smb://workdomain;user:password@server/INSTALL/DVD1
After you press Enter, YaST starts and you can perform the installation.
17.6 Using ISO images of the installation media on the server #
Instead of copying physical media into your server directory manually, you can also mount the ISO images of the installation media into your installation server and use them as a repository. To set up an HTTP, NFS or FTP server that uses ISO images instead of media copies, proceed as follows:
Download the ISO images and save them to the machine to use as the installation server.
Log in as
root
.Choose and create an appropriate location for the installation data, as described in Section 17.2, “Setting up an NFS repository manually”, Section 17.3, “Setting up an FTP repository manually”, or Section 17.4, “Setting up an HTTP repository manually”.
Create subdirectories for each installation medium.
To mount and unpack each ISO image to the final location, issue the following command:
#
mount -o loop PATH_TO_ISO PATH_TO_REPOSITORY/PRODUCT/MEDIUMXReplace PATH_TO_ISO with the path to your local copy of the ISO image. Replace PATH_TO_REPOSITORY with the source directory of your server. Replace PRODUCT with the product name and replace MEDIUMX with the type (CD or DVD) and number of media you are using.
Repeat the previous step to mount all ISO images needed for your product.
Start your installation server as usual, as described in Section 17.2, “Setting up an NFS repository manually”, Section 17.3, “Setting up an FTP repository manually”, or Section 17.4, “Setting up an HTTP repository manually”.
To automatically mount the ISO images at boot time, add the respective mount
entries to /etc/fstab
. An entry according to the
previous example would look like the following:
PATH_TO_ISO PATH_TO_REPOSITORY/PRODUCTMEDIUM auto loop