Ich möchte LXC 2.0 auf Linux Kernel 2.6.38 und init.d ausführen, ob Kernel-Version und Initd obligatorisch sind.Wie aktiviert man Linux Namespace im System basierend auf Kernel 2.6.38 und initd?
Ich habe den Kernel mit Namespace-Unterstützung wie folgt neu kompiliert.
# 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
[[email protected] ~]# 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
Alles läuft erfolgreich, bis ich das folgende Problem auf lxc-start -n ts1 --logfile=ts1.log
getroffen.
lxc_start - start.c:preserve_ns:138 - No such file or directory - Kernel does not support attaching to namespaces.
LXC/start.c: 138 sagt, dass meine Eltern-Prozess nicht /proc/<PID>/ns
Ordner hat und wenn ich überprüfe, es stimmt auch für alle Prozesse im System einschließlich initd.
Ich nehme an, dass initd Namespaces als initialer Prozess nicht berücksichtigt.
Was muss ich tun, um initd mit Namespace verbunden zu bekommen?