Configuração do sistema usando systemd-nspawn

0

Posso usar o systemd-nspawn para configurar uma instalação "chroot" (nesse caso, o debian usando o debootstrap) antes de inicializá-lo? Ou seja instalação e configuração autônoma.

Eu preciso definir o mapa de teclado, o nome do host, talvez o fuso horário e a localidade. E eu gostaria de usar ferramentas systemd como hostnamectl, localectl, timedatectl, ...

É possível e a maneira de fazer isso ou devo usar arquivos de configuração? Eles são mesmo reconhecidos pelo systemd? Por exemplo, se eu definir um nome de host em / etc / hostname, ele será reconhecido corretamente? Posso também definir o mapa de teclado assim?

    
por rudib 26.05.2017 / 10:36

1 resposta

1

Is it possible

sim .

Eu executei o Debian em nspawn. Ele funciona ótimo com instalações mínimas.

No outro extremo, se você fizer isso com uma instalação na área de trabalho, espere encontrar um ou dois pequenos problemas para solucionar o problema.

should I use config files? Are they even recogised by systemd? For example if I set a hostname in /etc/hostname is it recignised properly?

/ etc / hostname definitivamente funciona, é suportado pelo systemd, é exatamente o que o hostnamectl iria editar. Em geral, é difícil ver o que você está preocupado aqui. O Debian Jessie é padronizado para systemd, então qualquer documentação escrita para o Debian Jessie sobre como configurar coisas - por exemplo, no apêndice de debootstrap do guia de instalação - deve funcionar para systemd. (Embora esse apêndice seja mais um esboço, e não mostre como você o executaria sem supervisão).

Do que você disse, talvez você também esteja interessado em systemd-firstboot . Eu não tentei usá-lo e minha compreensão é limitada em alguns aspectos, mas pode ser informativa.

Em qualquer caso, acho que você precisaria usar systemd-nspawn --boot , tendo adicionado um arquivo de serviço semelhante ao usado pelo systemd-firstboot. Se você não inicializar o sistema, por exemplo hostnamectl não funciona ... Uma vez que seu script tenha terminado de uma forma ou de outra, também seria necessário desligar o sistema.

Um problema notável é que, se você tiver algum serviço de rede instalado (incluindo avahi, cups, ...), provavelmente desejará executar o nspawn com --net-veth ou equivalente, para evitar conflitos com os serviços de rede do host. Para obter acesso à rede neste momento (por exemplo, para instalar mais pacotes), configure um cliente DHCP na interface host0 .

    
por 26.05.2017 / 10:44