首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为什么一个ubuntu图像的子代会失败呢?

为什么一个ubuntu图像的子代会失败呢?
EN

Unix & Linux用户
提问于 2017-02-27 12:33:01
回答 1查看 1.9K关注 0票数 2

我想systemd-nspawn一个Ubuntu映像( yakkety,主机也在yakkety上)。这过去是没有问题的,所以我想在过去的6个月里发生了一些变化。

我通过debootstrap创建了一个图像:

代码语言:javascript
复制
# debootstrap --variant=minbase --include=nano,dbus,isc-dhcp-client,iputils-ping,iproute2,python3 yakkety yakkety http://fr.archive.ubuntu.com/ubuntu

然后我试着启动它:

代码语言:javascript
复制
# machinectl start yakkety

没有错误消息,但容器没有启动。journalctl -xe公开了错误:

代码语言:javascript
复制
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

好像没什么好初始化的?通过debootstrap创建的图像如何做到这一点?图像看起来正常,否则(它包含通常的文件夹和二进制文件-除了上面无法启动的文件夹和二进制文件之外)。

systemd-nspawn的直接调用会产生相同的错误:

代码语言:javascript
复制
# 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.

我试图通过将systemdinit包添加到要预装的软件包的列表中来重新创建映像(在上面的示例中,在python3之后),但这并没有涉及任何内容。

有什么问题吗?我需要安装额外的软件包吗?(我以前没有为xenial安装任何特殊的东西,如果我没有弄错的话,也没有安装yakkety)。

所有软件包都是最新版本,包括systemd (233)。

EN

回答 1

Unix & Linux用户

发布于 2017-05-10 15:30:54

您需要在容器中安装init系统,例如:

代码语言:javascript
复制
chroot /var/lib/machines/yakkety
apt-get install systemd

我在Debian上也有同样的问题,这个解决了问题。

票数 1
EN
页面原文内容由Unix & Linux提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://unix.stackexchange.com/questions/347881

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档