La función kickstart le permite automatizar la instalación del sistema operativo. Una instalación kickstart utiliza un archivo de configuración que indica al instalador cómo debe implementar una instalación específica. La función ofrece los siguientes beneficios:
- No se requiere intervención del usuario durante el proceso de instalación.
- Mayor facilidad de instalación en múltiples sistemas.
- El archivo de configuración es útil para solucionar un problema de tiempo de arranque con un sistema instalado.
Puede utilizar kickstart para instalar Linux localmente. Sin embargo, el mejor uso de esta función es la instalación del sistema operativo en múltiples sistemas a través de la red. En instalaciones de red, una operación kickstart incluiría los siguientes componentes:
- Archivo de configuración Kickstart
-
Red configurada que admite instalaciones de red, como proporcionar conectividad para que diferentes sistemas cliente puedan acceder a los archivos de instalación y configuración necesarios específicos para esos clientes.
Para ver un ejemplo de la configuración de una instalación de red, consulte Creación de una configuración de instalación de red .
Personalización del archivo de configuración Kickstart
El archivo de configuración kickstart consta de instrucciones de instalación en forma de opciones y definiciones de parámetros.
Para crear un archivo de configuración kickstart, elija uno de los siguientes métodos:
- tilice el "/root/anaconda-ks.cfg" archivo de un sistema Linux existente.
-
Cada instalación de Linux crea un archivo llamado "/root/anaconda-ks.cfg" . El archivo contiene definiciones de configuración basadas en el sistema en el que está instalado Linux y que pueden leerse mediante kickstart. Por lo tanto, el archivo está listo para usarse tal cual para otras instalaciones o como plantilla para automatizar varios tipos de instalaciones para sistemas de destino específicos.
Como plantilla, el contenido del archivo debe revisarse para que sea aplicable a otras instalaciones de Linux, como qué versiones del sistema operativo instalar en clientes específicos.
Si el sistema contiene el "pykickstart" paquete, las siguientes herramientas útiles pueden ayudarle a revisar el contenido del archivo:
- "ksverdiff" identificar opciones eliminadas u obsoletas.
- "ksvalidator" comprueba que la sintaxis del archivo sea correcta.
-
Instale una versión de Linux manualmente, lo que genera el "/root/anaconda-ks.cfg" archivo. Utilice el archivo para instalar automáticamente la misma versión de Linux en otros clientes. Es posible que deba ajustar algunas de las configuraciones del archivo según las especificaciones que desee aplicar a esos clientes.
Para obtener más información, consulte https://pykickstart.readthedocs.io/en/latest/ .
El archivo de configuración está dividido en partes. Cada parte contiene un grupo de opciones de la siguiente manera:
Opciones de instalación
Las opciones de instalación definen parámetros para el almacenamiento del sistema, definiciones de teclado, configuración de idioma, información de red, etc. En el siguiente ejemplo, la definición de opción en negrita permite que PXE abra la interfaz de red y es importante en las instalaciones de red.
Nota: Para utilizar el sistema de archivos Btrfs compatible con UEK, asegúrese de utilizar los medios de instalación de UEK. Luego puede usar la "autopart" opción kickstart para particionar discos automáticamente usando Btrfs, como se muestra en el siguiente ejemplo en "# Partition Information" .
Si está utilizando repositorios espejo locales, asegúrese de que estén actualizados y de que la configuración kickstart incluya el repositorio UEK necesario para que Btfrs funcione. Utilice el servidor yum de Linux para reflejar los repositorios necesarios; o si no puede acceder al servidor yum de Linux, puede reflejar los repositorios incluidos en la ISO de instalación completa, pero debe usar la ISO de instalación de UEK para iniciar el instalador. En el siguiente ejemplo, se supone que el sistema tiene acceso a Internet y se utilizan directamente los repositorios del servidor yum de Linux disponibles públicamente.
Alternativamente, también puede particionar manualmente los discos para usar Btrfs como se describe en la documentación anterior.
#platform=x86, AMD64, or Intel EM64T
#version=OL8
# Firewall configuration
firewall --enabled --service=ssh
# Install OS instead of upgrade
install
# Use Oracle Linux yum server repositories as installation source
repo --name="ol8_AppStream" --baseurl="https://yum.oracle.com/repo/OracleLinux/OL8/appstream/x86_64/"
repo --name="ol8_UEKR7" --baseurl="https://yum.oracle.com/repo/OracleLinux/OL8/UEKR7/x86_64/"
url --url="https://yum.oracle.com/repo/OracleLinux/OL8/baseos/latest/x86_64"
# Root password
rootpw --iscrypted SHA512_password_hash
# Use graphical install
graphical
firstboot --disable
# Keyboard layouts
keyboard --vckeymap=us --xlayouts='us'
# System language
lang en_US.UTF-8
# SELinux configuration
selinux --enforcing
# Installation logging level
logging --level=info
# System timezone
timezone America/Los_Angeles
# Network information
network --bootproto=dhcp --device=em1 --onboot=yes
--hostname=hostname
# System bootloader configuration
bootloader --location=mbr --boot-drive=sda
# Non-administrative user
user --name=user --homedir=/home/user --password=SHA512_password_hash --iscrypted
# Partition information
clearpart --all --initlabel --drives=sda
autopart --type=btrfs
Paquetes para instalar
Los paquetes que se instalarán se enumeran bajo el encabezado del grupo "%packages" . La lista termina con la "%end" línea.
%packages
@base
@core
@desktop-debugging
@dial-up
@fonts
@gnome-desktop
@guest-agents
@guest-desktop-agents
@input-methods
@internet-browser
@multimedia
@print-client
@print-server
@x11
mtools
pax
python-dmidecode
oddjob
wodim
sgpio
genisoimage
device-mapper-persistent-data
abrt-gui
samba-winbind
certmonger
openldap-clients
pam_krb5
krb5-workstation
ldapjdk
slapi-nis
libXmu
perl-DBD-SQLite
perl-Mozilla-LDAP
%end
La lista incluye grupos de paquetes y paquetes individuales. Los nombres de los grupos de paquetes utilizan el "@" prefijo, como por ejemplo "@base" , para distinguirlos de los paquetes individuales.
Para ayudar a determinar qué paquetes incluir en el archivo, utilice el "dnf group list" comando en un servidor Linux existente. El comando muestra tanto los grupos de paquetes instalados como los grupos de paquetes que están disponibles para instalar.
Para especificar varios paquetes, puede utilizar el carácter comodín ( "*" ). Para excluir un paquete de la instalación, inserte el "-" carácter como prefijo del nombre del paquete.
La "%packages" palabra clave puede tomar opciones, como las siguientes útiles.
"--ignoremissing"
Instala los paquetes disponibles sin preguntar sobre los paquetes faltantes. Sin esta opción, kickstart interrumpiría la instalación y le pediría que continúe o cancele la instalación.
"--multilib"
Establece la "multilib" política en "dnf" la configuración para "all" que se puedan instalar paquetes de 32 bits en el sistema.
En lugar de enumerar paquetes directamente en el archivo de configuración, puede compilar estos nombres en un archivo y almacenarlo en una ubicación accesible, como localmente en el sistema de archivos ramdisk de kickstart, o en un servidor HTTP o un recurso compartido NFS. Luego, en el archivo de configuración, especifique la ruta completa a la lista en una "%include" declaración, por ejemplo:
%packages --ignoremissing
%include /tmp/package-list
%end
Opciones de preinstalación
Las opciones de preinstalación definen las acciones que el instalador debe realizar antes de comenzar el proceso de instalación. Configurar este grupo de opciones es opcional. Las opciones están debajo del "%pre" título y terminan en una "%end" línea.
En el siguiente ejemplo, se le indica al instalador que ejecute el script "config-partitions" almacenado en un servidor HTTP. Además, el instalador también debe descargar una lista de paquetes del servidor web para utilizarlos con una "%include /tmp/package-list" declaración en la "%packages" sección.
%pre
%include http://192.168.1.100/scripts/config-partitions
wget -q -O- http://192.168.1.100/scripts/package-list > /tmp/package-list
%end
En este ejemplo, el "wget" comando guarda la lista de paquetes en el sistema de archivos de kickstart, que existe como un disco RAM en la memoria.
Se debe poder acceder a un script o archivo incluido en la ruta o URL especificada. Si no hay ningún servicio de nombres disponible para identificar los hosts, utilice direcciones IP.
Opciones posteriores a la instalación
Las opciones posteriores a la instalación definen cualquier acción que debe completar el instalador al final de la instalación. Configurar este grupo de opciones es opcional.
Las opciones están debajo del "%post" título y terminan en una "%end" línea.
De forma predeterminada, kickstart ejecuta tareas posteriores a la instalación en un "chroot" entorno basado en el sistema de archivos raíz del sistema recién instalado. Si necesita acceder a algún archivo que esté fuera del "chroot" entorno, especifique la "--nochroot" opción para "%post" alinear. Luego podrá acceder a los archivos en el sistema de archivos kickstart con el sistema de archivos raíz del sistema recién instalado montado en "/mnt/sysimage" .
En el siguiente ejemplo, el script "/tmp/post-config" se ejecuta al final de la instalación.
%post --nochroot
%include /tmp/post-config
%end
Si configura la interfaz de red del sistema instalado para obtener su configuración mediante DHCP, debe usar direcciones IP en lugar de nombres de dominio o configurar un "resolv.conf" archivo temporal, por ejemplo:
%post
wget -q -O- http://192.168.1.100/scripts/resolv.conf > /etc/resolv.conf
%include http://instsvr.mydom.com/scripts/post-config
.
.
.
%end
Inicio de la instalación Kickstart
Para iniciar la instalación kickstart, asegúrese de haber preparado lo siguiente:
-
Acceso a los medios de instalación completos, que pueden estar en una unidad de CD-ROM local o en una unidad USB.
-
Acceso al archivo de configuración kickstart.
Instalación a través de la red
- Inicie el sistema.
- Durante la secuencia de inicio, acceda al BIOS del sistema.
- En la pantalla del BIOS, cambie la configuración del sistema para iniciar desde la red.
- Guarde los cambios y continúe con el proceso de arranque.
- Cuando aparezca el menú de inicio, seleccione una opción de instalación y luego presione "E" (sistemas basados en UEFI) o Tab (sistemas basados en BIOS) para acceder al indicador de inicio.
- Agregue la ubicación del archivo kickstart en la red. La ubicación debe especificar el protocolo del servidor de red y el FQDN o dirección IP. Por ejemplo, si está utilizando un servidor NFS, puede ingresar la siguiente línea:
nfs:options:fqdn/path-to-file
Para obtener ejemplos adicionales para identificar la ubicación de red del archivo de configuración, consulte Fuente de instalación .
Nota: Otra forma de instalar desde la red es mediante un servidor de arranque. En este escenario, la instalación comienza automáticamente cuando enciende el sistema. Consulte Creación de una configuración de instalación de red .
-
Guarde las revisiones de la configuración de inicio y continúe con el proceso de inicio.
Al final del proceso de arranque, la instalación continúa inmediatamente.
Instalación local
-
Inicie el sistema desde el medio de inicio local.
-
Cuando aparezca el menú de inicio, seleccione una opción de instalación y luego presione "E" (sistemas basados en UEFI) o Tab (sistemas basados en BIOS) para acceder al indicador de inicio.
- Agregue la opción adecuada para identificar la ubicación del archivo kickstart, por ejemplo:
inst.ks=cdrom:/dev/sbd1/tmp/ks.cfg
Para obtener más información sobre las opciones de inicio, consulte Personalización de las acciones del cargador de inicio .
-
Guarde las revisiones de la configuración de inicio y continúe con el proceso de inicio.
Al final del proceso de arranque, la instalación continúa inmediatamente.
Basado el el artículo de oracle docs.