G.3.3. %post script
El script %post es un script de post-instalación que se ejecuta después de la instalación, pero antes de reiniciar el sistema por primera vez. Puede utilizar esta sección para ejecutar tareas como la suscripción del sistema.
Tiene la opción de añadir comandos para ejecutar en el sistema una vez que la instalación se haya completado, pero antes de que el sistema se reinicie por primera vez. Esta sección debe comenzar con %post
y terminar con %end
.
La sección %post
es útil para funciones como la instalación de software adicional o la configuración de un servidor de nombres adicional. El script de post-instalación se ejecuta en un entorno chroot
, por lo tanto, la realización de tareas como la copia de scripts o paquetes RPM desde el medio de instalación no funcionan por defecto. Puede cambiar este comportamiento utilizando la opción --nochroot
como se describe a continuación. Entonces el script %post
se ejecutará en el entorno de instalación, no en chroot
en el sistema de destino instalado.
Debido a que el script de post-instalación se ejecuta en un entorno chroot
, la mayoría de los comandos de systemctl
se negarán a realizar cualquier acción. Para más información, consulte la sección Comportamiento de systemctl en un entorno chroot del documento Configuring and managing system administration.
Tenga en cuenta que durante la ejecución de la sección %post
, el medio de instalación debe estar todavía insertado.
G.3.3.1. Opciones de la sección de post script Copiar enlaceEnlace copiado en el portapapeles!
Las siguientes opciones pueden utilizarse para cambiar el comportamiento de los scripts de post-instalación. Para utilizar una opción, añádala a la línea %post
al principio del script. Por ejemplo:
%post --interpreter=/usr/libexec/platform-python -- Python script omitted -- %end
%post --interpreter=/usr/libexec/platform-python
-- Python script omitted --
%end
--interpreter=
Permite especificar un lenguaje de scripting diferente, como Python. Por ejemplo:
%post --interpretación=/usr/libexec/plataforma-python
%post --interpretación=/usr/libexec/plataforma-python
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Se puede utilizar cualquier lenguaje de scripting disponible en el sistema; en la mayoría de los casos, se trata de
/usr/bin/sh
,/usr/bin/bash
, y/usr/libexec/platform-python
.Tenga en cuenta que el intérprete
platform-python
utiliza la versión 3.6 de Python. Debes cambiar tus scripts de Python de versiones anteriores de RHEL para la nueva ruta y versión. Además,platform-python
está destinado a las herramientas del sistema: Utilice el paquetepython36
fuera del entorno de instalación. Para más detalles sobre Python en Red Hat Enterprise Linux 8, vea Introducción a Python en Configuring basic system settings.--nochroot
Le permite especificar los comandos que desea ejecutar fuera del entorno chroot.
El siguiente ejemplo copia el archivo /etc/resolv.conf al sistema de archivos que se acaba de instalar.
%post --nochroot cp /etc/resolv.conf /mnt/sysimage/etc/resolv.conf %end
%post --nochroot cp /etc/resolv.conf /mnt/sysimage/etc/resolv.conf %end
Copy to Clipboard Copied! Toggle word wrap Toggle overflow --erroronfail
- Muestra un error y detiene la instalación si el script falla. El mensaje de error le indicará dónde se registra la causa del fallo.
--log=
Registra la salida del script en el archivo de registro especificado. Tenga en cuenta que la ruta del archivo de registro debe tener en cuenta si utiliza o no la opción
--nochroot
. Por ejemplo, sin--nochroot
:%post --log=/root/ks-post.log
%post --log=/root/ks-post.log
Copy to Clipboard Copied! Toggle word wrap Toggle overflow y con
--nochroot
:%post --nochroot --log=/mnt/sysimage/root/ks-post.log
%post --nochroot --log=/mnt/sysimage/root/ks-post.log
Copy to Clipboard Copied! Toggle word wrap Toggle overflow