Configuración del sistema usando systemd-nspawn

Configuración del sistema usando systemd-nspawn

¿Puedo usar systemd-nspawn para configurar una instalación "chroot" (en ese caso, Debian usando debootstrap) antes de iniciarlo? Es decir, instalación y configuración desatendidas.

Necesito configurar el mapa de teclas, el nombre de host, tal vez la zona horaria y la configuración regional. Y me gustaría utilizar herramientas systemd como hostnamectl, localectl, timedatectl,...

¿Es posible y la forma de hacerlo o debería usar archivos de configuración? ¿Son siquiera reconocidos por systemd? Por ejemplo, si configuro un nombre de host en /etc/hostname, ¿se reconoce correctamente? ¿Puedo también configurar el mapa de teclas de esa manera?

Respuesta1

Es posible

.

He ejecutado Debian en nspawn. Funcionaexcelentecon instalaciones mínimas.

En el otro extremo, si hace esto con una instalación de escritorio, debería esperar encontrar uno o dos pequeños problemas que solucionar.

¿Debería usar archivos de configuración? ¿Son siquiera reconocidos por systemd? Por ejemplo, si configuro un nombre de host en /etc/hostname, ¿se reconoce correctamente?

/etc/hostname definitivamente funciona, es compatible con systemd, es exactamente lo que hostnamectleditaría. En general, es difícil ver qué es lo que le preocupa aquí. Debian Jessie tiene por defecto systemd, por lo que se supone que cualquier documentación escrita para Debian Jessie sobre cómo configurar cosas (por ejemplo, en el apéndice debootstrap de la guía de instalación) funciona para systemd. (Aunque ese apéndice es más bien un boceto y no muestra cómo ejecutarlo sin supervisión).


Por lo que has dicho, es posible que también te interese systemd-firstboot. No he intentado usarlo y tengo entendido que es limitado en algunos aspectos, pero podría ser informativo.

En cualquier caso, creo que necesitarías usar systemd-nspawn --boot, habiendo agregado un archivo de servicio similar al usado por systemd-firstboot. Si no inicia el sistema, por ejemplo, hostnamectlno funcionará... Una vez que su script haya terminado de una forma u otra, también necesitará apagar el sistema.

Un problema notable es que si tiene algún servicio de red instalado (incluidos avahi, cups, ...), probablemente desee ejecutar nspawn con --net-vetho equivalente, para evitar conflictos con los servicios de red del host. Para obtener acceso a la red en este punto (por ejemplo, para instalar más paquetes), configure un cliente DHCP en la interfaz host0.

información relacionada