gpt4 book ai didi

linux - 如何在基于内核 2.6.38 和 initd 的系统中启用 Linux 命名空间?

转载 作者:太空宇宙 更新时间:2023-11-04 12:20:20 25 4
gpt4 key购买 nike

我想在 linux 内核 2.6.38 和 init.d 上运行 LXC 2.0,内核版本和 initd 是否都是必需的。

我已经重新编译了带有命名空间支持的内核,如下所示。

# Kernel parameters
CONFIG_NAMESPACES=y
CONFIG_CGROUP_NS=y
CONFIG_UTS_NS=y
CONFIG_IPC_NS=y
CONFIG_USER_NS=y
CONFIG_PID_NS=y
CONFIG_NET_NS=y


[root@ts ~]# CONFIG=$(pwd)/.config lxc-checkconfig
--- Namespaces ---
Namespaces: enabled
Utsname namespace: enabled
Ipc namespace: enabled
Pid namespace: enabled
User namespace: enabled
newuidmap is not installed
newgidmap is not installed
Network namespace: enabled
Multiple /dev/pts instances: enabled
--- Control groups ---
Cgroup: enabled
Cgroup clone_children flag: enabled
Cgroup device: missing
Cgroup sched: enabled
Cgroup cpu account: enabled
Cgroup memory controller: enabled
Cgroup cpuset: enabled

一切都运行成功,直到我在 lxc-start -n ts1 --logfile=ts1.log 上遇到以下问题.

lxc_start - start.c:preserve_ns:138 - No such file or directory - Kernel does not support attaching to namespaces.

LXC/start.c:138 说我的父进程没有/proc/<PID>/ns文件夹,当我检查它时,即使对于系统中的所有进程(包括 initd)也是如此。

我假设 initd 不将命名空间作为初始进程考虑在内。

What I need to do in order to get initd attached with namespace?

最佳答案

编辑:误读问题,更正:

它似乎有 - https://cateee.net/lkddb/web-lkddb/PID_NS.html还不够,可能还需要另一个选项。 (CONFIG_EXPERIMENTAL?)

我确实记得在某处看到过带有 lxc 容器的 Debian Squeeze(6、2.6 内核行)的 howto,所以它应该是可行的,也许可以尝试从那里获取 Kconfig 并进行比较。

我也找到了这个补丁集,尝试比较一下: http://lxc.sourceforge.net/patches/linux/2.6.38/2.6.38.2-lxc1/patches/

此外,考虑旧的 lxc (v1),我不认为与 ~2009 年内核的兼容性会是高优先级(如果有的话) - 所以 lxd 与如此古老的内核可能会有更多的警告和陷阱.

关于linux - 如何在基于内核 2.6.38 和 initd 的系统中启用 Linux 命名空间?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46207658/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com