On Sat, Aug 25, 2012 at 10:24 PM, Fajar A. Nugraha <[email protected]> wrote:
> Please re-download lxc-centos.in and try again. You need to remove the
> cache first (rm -rf /var/cache/lxc/centos/x86_64/6/rootfs) so that it
> will be recreated.
Hmm. Is UTSNAME supposed to be defined on entry to the template?
It isn't here, leading to /etc/sysconfig/network and
/etc/sysconfig/network-scripts/ifcfg-eth0
containing bad
HOSTNAME=
lines. (The fedora template has same problem.)
I worked around this with:
--- lxc-centos.in 2012-08-27 10:45:56.301880000 -0700
+++ /usr/lib/lxc/templates/lxc-centos 2012-08-27 12:12:30.271501887 -0700
@@ -52,7 +52,7 @@
DEVICE=eth0
BOOTPROTO=dhcp
ONBOOT=yes
-HOSTNAME=${UTSNAME}
+HOSTNAME=${name}
NM_CONTROLLED=no
TYPE=Ethernet
MTU=${MTU}
@@ -61,7 +61,7 @@
# set the hostname
cat <<EOF > ${rootfs_path}/etc/sysconfig/network
NETWORKING=yes
-HOSTNAME=${UTSNAME}
+HOSTNAME=${name}
EOF
# set minimal hosts
The next problem is a bug in lxc-start-ephemeral, which complains
sed: can't read
/var/lib/lxc/demo_centos6-temp-j4G0FcH/rootfs/etc/hostname: No such
file or directory
The error comes from the line
# Update the ephemeral lxc's configuration to reflect the new
container name.
sudo sed -i -e "s/$LXC_BASE/$LXC_NAME/" $LXC_DIR/fstab
$LXC_DIR/config $LXC_DIR/rootfs/etc/hostname $LXC_DIR/rootfs/etc/hosts
I worked around this with
--- lxc-start-ephemeral.orig 2012-08-27 12:19:03.935513119 -0700
+++ lxc-start-ephemeral 2012-08-27 12:19:54.471514479 -0700
@@ -154,7 +154,19 @@
LXC_MOUNTED=1
# Update the ephemeral lxc's configuration to reflect the new
container name.
- sudo sed -i -e "s/$LXC_BASE/$LXC_NAME/" $LXC_DIR/fstab
$LXC_DIR/config $LXC_DIR/rootfs/etc/hostname $LXC_DIR/rootfs/etc/hosts
+ # Check all the places known distros keep hostnames.
+ # FIXME: should we sanity check the hostname to make sure it
contains no bad chars?
+ for file in $LXC_DIR/fstab $LXC_DIR/config \
+ $LXC_DIR/rootfs/etc/hostname \
+ $LXC_DIR/rootfs/etc/hosts \
+ $LXC_DIR/rootfs/etc/sysconfig/network \
+ $LXC_DIR/rootfs/etc/sysconfig/network-scripts/ifcfg-eth0
+ do
+ if test -f "$file"
+ then
+ sudo sed -i -e "s/$LXC_BASE/$LXC_NAME/" $file
+ fi
+ done
# Update the fstab to have all bind mounts be ephemeral.
sudo cp $LXC_DIR/fstab $LXC_DIR/fstab.old
Thanks,
Dan
------------------------------------------------------------------------------
Live Security Virtual Conference
Exclusive live event will cover all the ways today's security and
threat landscape has changed and how IT managers can respond. Discussions
will include endpoint security, mobile security and the latest in malware
threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/
_______________________________________________
Lxc-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/lxc-users