Automatizando la Instalación con Kickstart

Las instalaciones Kickstart ofrecen un medio para automatizar el proceso de instalación, bien parcialmente o totalmente. Los archivos Kickstart contienen respuestas a todas las preguntas que normalmente hace le programa de instalación, como cuál es la zona horaria que desea que el sistema use, como se deberían particionar los dispositivos o que paquetes deberían ser instalados. Suministrando un archivo Kickstart preparado cuando la instalación comienza le permite, por lo tanto, llevar a cabo la instalación automáticamente, sin necesidad de ninguna intervención del usuario. Esto es especialmente útil cuando despliega Fedora sobre un gran número de sistemas a la vez.

Todos los scripts Kickstart y los archivos de registro de su ejecución se almacenan en el directorio /tmp para ayudar con la depuración de problemas de instalación.

Cómo Llevar a Cabo una Instalación Kickstart

Las instalaciones Kickstart se pueden llevar a cabo usando un DVD local, un disco duro local o por medio de NFS, FTP, HTTP o HTTPS.

Para usar Kickstart, debe:

  1. Crear un archivo Kickstart.

  2. Create boot media or configure a network boot (PXE) server which will be used to begin the installation. Note that live media cannot be used for Kickstart installations - use installation media that can boot directly into the installer, such as the standard or netinstall ISO image from the Server edition.

  3. Make the Kickstart file available on removable media, a hard drive, or a network location.

  4. Start the Kickstart installation by booting the installer and using a boot option to tell the installer where to find the Kickstart file.

This chapter explains these steps in detail.

Creating a Kickstart File

The Kickstart file itself is a plain text file, containing keywords listed in Kickstart Syntax Reference, which serve as directions for the installation. Any text editor able to save files as ASCII text (such as Gedit or vim on Linux systems or Notepad on Windows systems) can be used to create and edit Kickstart files.

The recommended approach to creating Kickstart files is to perform a manual installation on one system first. After the installation completes, all choices made during the installation are saved into a file named anaconda-ks.cfg, located in the /root/ directory on the installed system. You can then copy this file, make any changes you need, and use the resulting configuration file in further installations.

When creating a Kickstart file, keep in mind the following:

  • Lines starting with a pound sign (#) are treated as comments and are ignored.

  • Sections must be specified in order. Items within the sections do not have to be in a specific order unless otherwise specified. The correct section order is:

    • The command section which contains actual Kickstart commands and options as listed in Kickstart Syntax Reference. Note that some commands, such as install, are mandatory, but most commands are optional.

    • The %packages section which contains a list of packages and package groups to be installed. See %packages (required) - Package Selection for details.

    • The %pre and %post sections, containing a pre-installation and post-installation scripts. These two sections can be in any order and are not mandatory. See %pre (optional) - Pre-installation Script and %post (optional) - Post-installation Script for details.

      The %packages, %pre and %post sections must end with %end, otherwise the installation program will refuse the Kickstart file. The main command section has no special ending statement.

  • Omitting any required item results in the installation program prompting the user for an answer to the related item, just as the user would be prompted during a typical installation. Once the answer is given, the installation will continue. Note that if the system you are installing has no display, you will not be able to see the prompt, and the installation will appear to have failed.

Verifying the Kickstart File

When creating or customizing your kickstart file, it is useful to verify that it is valid before attempting to use it in an installation. Fedora includes the ksvalidator command line utility which can be used to do this. This tool is a part of the pykickstart package. To install this package, execute the following command:

# dnf install pykickstart

After installing the package, you can validate a Kickstart file using the following command:

$ ksvalidator /path/to/kickstart.ks

Replace /path/to/kickstart.ks with the path to the Kickstart file you want to verify.

For more information about this tool, see the ksvalidator(1) man page.

Keep in mind that the validation tool has its limitations. The Kickstart file can be very complicated; ksvalidator can make sure the syntax is correct and that the file does not include removed options, but it cannot guarantee the installation will be successful. It also does not attempt to validate the %pre, %post and %packages sections of the Kickstart file.

Making the Kickstart File Available

Once you create a Kickstart file, you can place it in one of the following locations:

  • On removable media, such as a DVD or USB flash drive connected to the installation system

  • On a hard drive connected to the installation system

  • On a network share reachable from the installation system

Normally, a Kickstart file is copied to removable media or a hard drive, or made available on the network. Placing the file in a network location complements the usual approach to Kickstart installations, which is also network-based: the system is booted using a PXE server, the Kickstart file is downloaded from a network share, and software packages specified in the file are downloaded from remote repositories.

Setting Up an Installation Server offers some additional information about preparing for a network-based installation.

Starting the Kickstart Installation

Once you have everything ready - you have created a valid Kickstart file and you have either local boot media or a PXE server available, you can start the Kickstart installation. You need to use the inst.ks= boot option either in the boot menu (when booting from local media), or add this option to your PXE server configuration. For information about boot options used in Kickstart installations, see Kickstart Boot Options.