Você precisa instalar um sistema init dentro do seu contêiner, por exemplo systemd:
chroot /var/lib/machines/yakkety
apt-get install systemd
(eu tive o mesmo problema no debian e resolvi o problema)
Eu gostaria de systemd-nspawn
uma imagem do Ubuntu (yakkety, o host está no yakkety também). Isso costumava funcionar sem problemas, então acho que algo mudou nos últimos 6 meses.
Eu criei uma imagem via debootstrap
:
# debootstrap --variant=minbase --include=nano,dbus,isc-dhcp-client,iputils-ping,iproute2,python3 yakkety yakkety http://fr.archive.ubuntu.com/ubuntu
Eu então tentei iniciá-lo:
# machinectl start yakkety
Não houve mensagem de erro, mas o contêiner não foi iniciado. journalctl -xe
expôs o erro:
Feb 27 13:24:27 srv systemd-nspawn[27348]: execv(/usr/lib/systemd/systemd, /lib/systemd/systemd, /sbin/init) failed: No such file or directory
Parece que não há nada para inicializar? Como isso é possível com uma imagem criada por meio de debootstrap
? A imagem parece normal de outra forma (contém pastas e binários comuns - exceto os acima que não puderam ser iniciados porque estão ausentes)
Uma chamada direta para systemd-nspawn
produz o mesmo erro:
# systemd-nspawn -b -D yakkety -n
Spawning container yakkety on /var/lib/machines/yakkety.
Press ^] three times within 1s to kill container.
execv(/usr/lib/systemd/systemd, /lib/systemd/systemd, /sbin/init) failed: No such file or directory
Container yakkety failed with error code 1.
Eu tentei recriar a imagem adicionando os pacotes systemd
e init
ao volume de pacotes a serem pré-instalados (depois de python3
no meu exemplo acima), mas isso não ordenou nada.
Qual é o problema? Existem pacotes extras que eu preciso instalar? (Eu não instalei nada de especial anteriormente para xenial
e, se não me engano, nem para yakkety
).
Todos os pacotes estão em sua versão mais recente, incluindo systemd
(233).
Você precisa instalar um sistema init dentro do seu contêiner, por exemplo systemd:
chroot /var/lib/machines/yakkety
apt-get install systemd
(eu tive o mesmo problema no debian e resolvi o problema)