Tabla de Contenidos
En el artículo te voy a compartir la lista de RHEL/CentOS 8 kickstart de comandos de ejemplo que puede utilizar para automatizar la instalación de Red Hat y CentOS. No he cubierto la etapa de instalación de %pre
y %post
en este artículo, ya que eso puede alargar este artículo ya largo. Aunque intentaré cubrir los comandos kickstart más utilizados en el entorno de producción en tiempo real.
Generador Kickstart
Puede utilizar la herramienta de generador Kickstart oficial de Red Hat para crear su archivo kickstart y automatizar la instalación.
Simplemente siga las opciones en pantalla y obtendrá un archivo kickstart de muestra basado en su elección.
Validador Kickstart
Antes de iniciar la instalación con el archivo kickstart, se recomienda validar el contenido del archivo de configuración de Kickstart. Install pykickstart
para instalar la herramienta ksvalidator
# dnf -y install pykickstart
Para validar el archivo kickstart, proporcione la ruta absoluta y el archivo kickstart con ksvalidator
:
# ksvalidator kickstart.conf
A continuación se muestra la lista de comandos Kickstart que puede agregar manualmente y crear su propio archivo Kickstart para automatizar todo el proceso de instalación de Red Hat/CentOS. Al final del artículo he adjuntado un archivo de configuración kickstart de ejemplo que he utilizado para instalar la Máquina Virtual en Oracle VirtualBox
Agregar comentario (Opcional)
Puede optar por agregar algún comentario para identificar Arranca como he añadido para la identificación. Esto es opcional y puede elegir ignorar:
# version=RHEL8# RHEL/CentOS 8 Kickstart Example
Realizar comprobación de medios
Puede comprobar los medios antes de iniciar la instalación
Comando Kickstart – mediacheck
Este comando fuerza al programa de instalación a realizar una comprobación de medios antes de iniciar la instalación.
Este comando requiere que las instalaciones sean atendidas, por lo que está deshabilitado de forma predeterminada.
Sintaxis:
mediacheck
Modo de instalación
Para una instalación automática, debe especificar uno de los modos disponibles en el archivo Kickstart:
comando Kickstart – gráfica
- realiza la instalación Kickstart en modo gráfico.
- También puede combinarlo con
--non-interactive
que realiza la instalación en un modo completamente no interactivo. - Este modo terminará la instalación cuando se requiera la interacción del usuario.
Comando Kickstart-text
- Realiza la instalación Kickstart en modo texto.
- También puede combinarlo con
--non-interactive
que realiza la instalación en un modo completamente no interactivo. - Este modo terminará la instalación cuando se requiera la interacción del usuario.
Comando Kickstart-cmdline
- Realiza la instalación en un modo de línea de comandos completamente no interactivo.
- Cualquier solicitud de interacción detiene la instalación.
- Este comando no tiene opciones.
En mi ejemplo kickstart de RHEL/CentOS 8, elijo text
como método de instalación preferido
# Install in text modetext
Crear repositorio adicional
Puede configurar repositorios yum adicionales que se pueden usar como fuentes para la instalación de paquetes.
comando Kickstart – repo
- Por defecto, todos los repos son automáticamente creado y montado en el
/run/install/repo/<repo_name>
- Usted puede agregar múltiples
repo
líneas.Sintaxis
:
repo --name=repoid
Here,
-
--baseurl=
The URL to the repository. -
--mirrorlist=
The URL pointing at a list of mirrors for the repository. -
--metalink=
The URL with metalink for the repository.
Para ver la lista completa de opciones compatibles, consulte la Guía de Red Hat para la instalación avanzada
En mi ejemplo de inicio de RHEL/CentOS 8, también crearé AppStream
repositorio que forma parte de la imagen ISO.
# Create additional repo during installationrepo --name="AppStream" --baseurl=file:///run/install/repo/AppStream
Método de Instalación
Existen diferentes métodos de instalación para elegir, tales como cdrom
harddrive
hmc
nfs
liveimg
o url
.
Utilizamos principalmente url
cdrom
y nfs
en el entorno de producción, por lo que explicaré estos métodos de instalación:
Comando Kickstart – nfs
Realiza la instalación desde un servidor NFS especificado.
Sintaxis:
nfs OPTIONS
las Opciones:
-
--server=
Servidor desde el que instalar (IP o nombre del host). -
--dir=
Directorio que contiene el directorio de variantes del árbol de instalación. -
--opts=
Opciones de montaje para montar la exportación NFS. (opcional)
Comando Kickstart – url
Realiza la instalación desde una imagen de árbol de instalación en un servidor remoto mediante FTP, HTTP o HTTPS.
Sintaxis:
url --url=FROM
Obligatorio opciones:
-
--url=
La ubicación para instalar desde. Los protocolos compatibles son HTTP, HTTPS, FTP y file.
Opciones opcionales:
-
--proxy=
Especifique un proxy HTTP, HTTPS o FTP para usar durante la instalación.
Para obtener una lista completa de opciones compatibles, consulte la Guía de instalación avanzada de Red Hat
Comando Kickstart – cdrom
- Realiza la instalación desde la primera unidad óptica del sistema.
- Este comando no tiene opciones.
En mi ejemplo RHEL/CentOS 8 kickstart usaré NFS como método de instalación
# Installation medianfs --server=10.10.10.12 --dir=/images/
Distribuciones de teclado
- Establece una o más distribuciones de teclado disponibles para el sistema.
- Todos los diseños disponibles se pueden ver en la página de manual de xkeyboard-config(7) en Diseños.
Sintaxis:
keyboard --vckeymap|--xlayouts OPTIONS
las Opciones:
-
--vckeymap=
Especificar un VConsole mapa de teclado que debe ser utilizado. Los nombres válidos corresponden a la lista de archivos del directorio/usr/lib/kbd/keymaps/xkb/
, sin la extensión.map.gz
. -
--xlayouts=
Especifique una lista de diseños X que se deben usar como una lista separada por comas sin espacios. Acepta valores en el mismo formato que setxkbmap(1), ya sea en el formato de maquetación (como cz), o en el formato de maquetación (variante) (como cz (qwerty)).
En mi ejemplo de kickstart de RHEL/CentOS 8 usaré English US
como Distribución de teclado
# Keyboard layoutskeyboard --vckeymap=us --xlayouts='us'
Establecer el idioma del sistema
Comando Kickstart – lang
- Establece el idioma que se utilizará durante la instalación y el idioma predeterminado que se utilizará en el sistema instalado.
- puedes usar
locale -a | grep _
olocalectl list-locales
para obtener la lista de configuraciones regionales.Sintaxis
:
lang language
En mi ejemplo kickstart de RHEL/CentOS 8 usaré en_US.UTF-8
# System languagelang en_US.UTF-8
Información de red
Comando Kickstart – red
- Configura la información de red para el sistema de destino y activa los dispositivos de red en el entorno de instalación.
- El dispositivo especificado en el primer comando de red se activa automáticamente.
- La opción activate activate también puede requerir explícitamente la activación del dispositivo.
Syntax:
network OPTIONS
Options:
-
--activate
activate this device in the installation environment. -
--no-activate
do not activate this device in the installation environment. -
--nodefroute
prevent the device from using the default route. -
--bootproto=
One of dhcp, bootp, ibft, or static. The default option is dhcp; -
--noipv4
Deshabilitar IPv4 en este dispositivo. -
--noipv6
Deshabilitar IPv6 en este dispositivo.
En mi ejemplo kickstart de RHEL / CentOS 8 asignaré red a 2 interfaces eth0
y eth1
# Network informationnetwork --bootproto=static --ip=10.10.10.15 --netmask=255.255.255.0 --gateway=10.10.10.1 --nameserver=8.8.8.8 --device=eth0 network --bootproto=dhcp --device=eth0 --activatenetwork --bootproto=dhcp --device=eth1 --onboot=off --activatenetwork --hostname=centos8-4.example.com
Asignar contraseña de root
- establece la contraseña de root para el argumento de la contraseña.
- Puede proporcionar una contraseña de root en texto plano o cifrada
- Para crear una contraseña cifrada, puede usar python:
$ python3 -c 'import crypt,getpass;pw=getpass.getpass();print(crypt.crypt(pw) if (pw==getpass.getpass("Confirm: ")) else exit())'
- Esto genera un hash compatible con criptas sha512 de su contraseña utilizando una sal aleatoria.
Sintaxis:
rootpw password
Opciones:
-
--iscrypted
Si esta opción está presente, se asume que el argumento de contraseña ya está cifrado. -
--plaintext
Si esta opción está presente, se asume que el argumento de contraseña está en texto plano. -
--lock
Si esta opción está presente, la cuenta raíz está bloqueada de forma predeterminada. Esto significa que el usuario root no podrá iniciar sesión desde la consola.
En mi ejemplo de kickstart de RHEL/CentOS 8 ya he creado y asignado una contraseña de root
# Root passwordrootpw --iscrypted $6$w7El/FYx9mbTG6x9$Te.Yg6dq0TsQwGpdSjeDGSw4J9ZBAkLXzT9ODMV7I7lHvX3n5.9PCS4jIkS2GbVLZOpVRLvrua3wwbwA.cfWX.
Ejecute el agente de configuración en el primer arranque
Comando Kickstart – firstboot
- Determina si la aplicación de configuración inicial inicia hora de arrancar el sistema.
- Si está habilitado, el paquete de configuración inicial debe estar instalado.
- Si no se especifica, esta opción está deshabilitada de forma predeterminada.
Sintaxis:
firstboot OPTIONS
Opciones:
-
--enable
o--enabled
:Inicial se inicia la Instalación de la primera vez que el sistema arranca. -
--disable
o--disabled
:Configuración Inicial no se ha iniciado la primera vez que el sistema arranca. -
--reconfig
: Habilite la configuración inicial para que se inicie en el momento del arranque en el modo de reconfiguración.
En mi ejemplo de kickstart de RHEL/CentOS 8, habilitaré firstboot
# Run the Setup Agent on first bootfirstboot --enable
Configurar el sistema X Window
Puede elegir instalar y configurar el sistema X Window o deshabilitarlo
Comando Kickstart – xconfig
- Si instala un gestor de pantalla entre las opciones de selección de paquetes, este paquete crea una configuración X, y el sistema instalado por defecto es
graphical.target
. - Que anula el efecto de la etiqueta
skipx
opción. - Para configurar el Sistema X Window use «
xconfig
«
Comando Kickstart – skipx
Para evitar configurar el sistema X Window use skipx
En mi RHEL/CentOS 8 kickstart ejemplo Deshabilitaré X Sistema Windows
# Do not configure the X Window Systemskipx
Habilitar o Deshabilitar servicios del sistema
Servicios de comando Kickstart
- Modifica el conjunto predeterminado de servicios que se ejecutarán bajo el destino predeterminado systemd.
- La lista de servicios deshabilitados se procesa antes de la lista de servicios habilitados.
- Por lo tanto, si aparece un servicio en ambas listas, se habilitará.
Sintaxis:
services
En mi RHEL/CentOS 8 kickstart ejemplo voy a permitir chronyd
servicio
# System servicesservices --enabled="chronyd"
Configurar zona horaria
comando Kickstart – la zona horaria
- Establece la zona horaria del sistema.
- Puede usar
timedatectl list-timezones
para obtener la lista de valores de zona horaria admitidos
Sintaxis:
timezone timezone
Opciones opcionales:
-
--utc
Si está presente, el sistema asume que el reloj de hardware está configurado en hora UTC (Greenwich Mean). -
--nontp
Deshabilite el inicio automático del servicio NTP. -
--ntpservers=
Especifica una lista de servidores NTP para ser utilizado como una lista separada por comas sin espacios.
En mi ejemplo de kickstart de RHEL/CentOS 8 usaré Asia/Kolkata
como zona horaria
# System timezonetimezone Asia/Kolkata --isUtc
Manejar el reinicio del nodo
Comando Kickstart – reinicio
- El «
reboot
» indica al programa de instalación que se reinicie después de que la instalación se haya completado correctamente (sin argumentos). - Normalmente, Kickstart muestra un mensaje y espera a que el usuario presione una tecla antes de reiniciar.
- Especificar reinicio para automatizar la instalación
En mi ejemplo kickstart de RHEL/CentOS 8 usaré reinicio mientras planeo automatizar toda la instalación
# Reboot the nodereboot
Crear partición de disco
Puede usar diferentes variables para configurar el diseño de su disco
Comando Kickstart – ignoredisk
- Hace que el programa de instalación ignore los discos especificados.
- Esto es útil si utiliza particiones automáticas y desea asegurarse de que algunos discos se ignoran.
En mi RHEL/CentOS 8 kickstart ejemplo solo quiero usar sda
disco de instalación
# Choose the disks to be usedignoredisk --only-use=sda
comando Kickstart – clearpart
- elimina las particiones del sistema, antes de la creación de nuevas particiones.
- De forma predeterminada, no se eliminan particiones.
En mi ejemplo kickstart de CentOS/RHEL 8 eliminaré todas las particiones existentes:
# Partition clearing informationclearpart --all
comando Kickstart o partición
- crea una partición en el sistema.
- Este tema es muy extenso y planeo dar diferentes ejemplos de diseño de particiones para instalar Linux
En mi ejemplo de ejemplo de kickstart instalaré CentOS 8 usando el Administrador de volúmenes lógicos. Aquí crearé
- volumen lógico raíz
- partición de intercambio
- partición de arranque
# Disk partitioning informationpart pv.409 --fstype="lvmpv" --ondisk=sda --size=14847part /boot --fstype="ext4" --ondisk=sda --size=512volgroup rhel --pesize=4096 pv.409logvol swap --fstype="swap" --size=953 --name=swap --vgname=rhellogvol / --fstype="ext4" --size=13887 --name=root --vgname=rhel
Crear nuevo usuario (permanente)
También puede crear un nuevo usuario utilizando kickstart, que también estará presente después de la instalación
Comando Kickstart – usuario
Use user
para crear un nuevo usuario utilizando la sintaxis kickstart
:
user --name=username
En mi RHEL/CentOS 8 kickstart ejemplo voy a crear un usuario deepak
# Create useruser --name=deepak --shell=/bin/bash --homedir=/home/deepak --iscrypted --password=$6$uSejt/TeWMJVQ/F8$/oFsIanDHS/5b9ssy7gZbQwNkORgRjsQIw4JyFjlTWDh9TVsEXWEy2APpCUNTHipOOEe..ubg3qBZOwpaPtsB.
Crear Usuario (sólo para la instalación)
Usted puede crear usuario sólo para supervisar el proceso de instalación. Una vez finalizada la instalación, este usuario se eliminará del nodo
Comando Kickstart – sshpw
- Durante la instalación, puede interactuar con el programa de instalación y supervisar su progreso a través de una conexión SSH
- Utilice el comando sshpw para crear cuentas temporales a través de las cuales iniciar sesión.
- Cada instancia del comando crea una cuenta separada que solo existe en el entorno de instalación.
- Estas cuentas no se transfieren al sistema instalado.
Sintaxis:
sshpw --username=name password
En mi ejemplo kickstart de CentOS/RHEL 8 estoy creando un usuario admin
para supervisar la instalación:
sshpw --username=admin --iscrypted --password=$6$PMLcSXd.w5pBvC.u$D06Ip60h/iWExxQ09gMi5aAbFaDK.NtLOgOZ56uU6kw.uUy/9/Mmw6vYBjs8Hw50y0Rx4m0yMdH0Vt5EUEsRI.
Crear un nuevo grupo
También puede crear un nuevo grupo usando el comando kickstart
Kickstart – group
- Si ya existe un grupo con el nombre dado o GID, este comando falla.
- El comando user se puede usar para crear un nuevo grupo para el usuario recién creado.
- crea un nuevo grupo de usuarios en el sistema.
Sintaxis:
group --name=name
Obligatorio opciones
-
--name=
Proporciona el nombre del grupo.
Activar o Desactivar el firewall
Puede activar o desactivar el firewall durante la etapa de instalación
Comando Kickstart – firewall
Especifica la configuración del firewall para el sistema instalado.Sintaxis
:
firewall --enabled|--disabled
Aquí
-
--enabled
o--enable
Rechazar las conexiones entrantes que no sean en respuesta a las peticiones salientes, tales como respuestas DNS o de las solicitudes de DHCP. -
--disabled
o--disable
– no se configura ninguna de reglas iptables.
Habilitar un módulo
También puede habilitar un módulo usando kickstart
Módulo de comando Kickstart
Use este comando para habilitar una transmisión de módulo de paquete dentro del script kickstart.
Sintaxis:
module --name=NAME
Obligatorio opciones
-
--name=
Especifica el nombre del módulo a habilitar. Reemplace el NOMBRE con el nombre real.
Activar o Desactivar SELinux
También puede activar o desactivar selinux usando kickstart
Comando Kickstart-selinux
- Establece el estado de SELinux en el sistema instalado.
- La política predeterminada de SELinux se aplica.
Sintaxis:
selinux
Opciones:
-
--enforcing
Permite SELinux con el defecto de política objetivo de hacer cumplir. -
--permissive
Salidas advertencias basadas en la política de SELinux, pero en realidad no cumplir la política. -
--disabled
Desactiva SELinux completamente en el sistema.
Selección de paquetes
Kickstart utiliza secciones iniciadas por el comando % packages para seleccionar paquetes a instalar.
Comando Kickstart – %packages
- Puede instalar paquetes, grupos, entornos, flujos de módulos y perfiles de módulos de esta manera.
- Use el comando %packages para comenzar una sección de arranque que describe los paquetes de software que se instalarán.
- La sección % packages debe terminar con el comando %end.
Especificar grupos
- Especificar grupos, una entrada a una línea, comenzando con un símbolo@, y luego el nombre completo del grupo o id de grupo
- Puede obtener la lista de opciones compatibles de la lista de «
dnf grouplist
«
%packages@X Window System@Desktop@Sound and Video%end
Especificar paquetes individuales
- Especificar paquetes individuales por nombre, una entrada a una línea. Puede usar el carácter asterisco ( * ) como comodín en los nombres de paquetes. Por ejemplo:
%packagessqlitecurlaspelldocbook*%end
In my RHEL/CentOS 8 kickstart example I have used «Virtualization Host
«
%packages@^Virtualization Hostkexec-tools%end
Enable or Disable Kdump
Kickstart command – %addon com_redhat_kdump
This command configures the kdump kernel crash dumping mechanism.
Syntax:
%addon com_redhat_kdump %end
Options:
-
--enable
Enable kdump on the installed system. -
--disable
Disable kdump on the installed system. -
--reserve-mb=
La cantidad de memoria que desea reservar para kdump, en MiB
En mi RHEL/CentOS 8 kickstart ejemplo he utilizado auto
automáticamente reserva la memoria necesaria para kdump:
%addon com_redhat_kdump --enable --reserve-mb='auto'%end
Aplicar la Política de Contraseña
comando Kickstart – pwpolicy
- Utilice este comando para exigir una contraseña personalizada política durante la instalación.
- La directiva requiere que cree contraseñas para las cuentas de usuario root, usuarios o luks.
- Los factores como la longitud y la fuerza de la contraseña deciden la validez de una contraseña.
Para ver una lista de opciones compatibles, consulte la Guía de Red Hat para la instalación avanzada
En mi ejemplo de inicio de RHEL / CentOS 8 He utilizado la siguiente política de contraseñas:
%anacondapwpolicy root --minlen=6 --minquality=1 --notstrict --nochanges --notemptypwpolicy user --minlen=6 --minquality=1 --notstrict --nochanges --emptyokpwpolicy luks --minlen=6 --minquality=1 --notstrict --nochanges --notempty%end
RHEL/CentOS 8 Kickstart Example File
Below is one sample kickstart file example from my server which I use to install Virtual Machine on Oracle VirtualBox
Red_Hat_CentOS_8_Kickstart_Example