diff options
author | 2012-02-16 14:01:20 -0600 | |
---|---|---|
committer | 2012-02-26 10:44:41 +0100 | |
commit | f6144f0cba9850dad8db6ccf7cd5f63a5477af93 (patch) | |
tree | e34a9e8b872b34e6709eab321b0db95cba96f42e | |
parent | add lxc.devttydir config variable (diff) | |
download | lxc-f6144f0cba9850dad8db6ccf7cd5f63a5477af93.tar.gz lxc-f6144f0cba9850dad8db6ccf7cd5f63a5477af93.tar.bz2 lxc-f6144f0cba9850dad8db6ccf7cd5f63a5477af93.zip |
ubuntu template changes
Author: Stéphane Graber <stgraber@ubuntu.com>
Use ubuntu/ubuntu instead of root/root by default. Stop
removing tty[56].conf in Precise. Stop messing with dhclient.conf.
Set devttydir on Precise to /dev/lxc to allow for clean upgrades.
Signed-off-by: Stéphane Graber <stgraber@ubuntu.com>
Signed-off-by: Serge Hallyn <serge@hallyn.com>
Signed-off-by: Daniel Lezcano <dlezcano@fr.ibm.com>
-rw-r--r-- | templates/lxc-ubuntu.in | 48 |
1 files changed, 31 insertions, 17 deletions
diff --git a/templates/lxc-ubuntu.in b/templates/lxc-ubuntu.in index 2723912..ffeb871 100644 --- a/templates/lxc-ubuntu.in +++ b/templates/lxc-ubuntu.in @@ -32,6 +32,7 @@ configure_ubuntu() { rootfs=$1 hostname=$2 + release=$3 # configure the network using the dhcp cat <<EOF > $rootfs/etc/network/interfaces @@ -42,13 +43,6 @@ auto eth0 iface eth0 inet dhcp EOF - # so you can 'ssh $hostname.' or 'ssh $hostname.local' - if [ -f $rootfs/etc/dhcp/dhclient.conf ]; then - sed -i "s/<hostname>/$hostname/" $rootfs/etc/dhcp/dhclient.conf - elif [ -f $rootfs/etc/dhcp3/dhclient.conf ]; then - sed -i "s/<hostname>/$hostname/" $rootfs/etc/dhcp3/dhclient.conf - fi - # set the hostname cat <<EOF > $rootfs/etc/hostname $hostname @@ -58,16 +52,22 @@ EOF 127.0.0.1 localhost $hostname EOF - # suppress log level output for udev - sed -i "s/=\"err\"/=0/" $rootfs/etc/udev/udev.conf + if [ "$release" = "precise" ]; then + group="sudo" + else + group="admin" - # remove jobs for consoles 5 and 6 since we only create 4 consoles in - # this template - rm -f $rootfs/etc/init/tty{5,6}.conf + # suppress log level output for udev + sed -i "s/=\"err\"/=0/" $rootfs/etc/udev/udev.conf - echo "Please change root-password !" - echo "root:root" | chroot $rootfs chpasswd + # remove jobs for consoles 5 and 6 since we only create 4 consoles in + # this template + rm -f $rootfs/etc/init/tty{5,6}.conf + fi + chroot $rootfs groupadd --system $group >/dev/null 2>&1 || true + chroot $rootfs useradd --create-home -s /bin/bash -G $group ubuntu + echo "ubuntu:ubuntu" | chroot $rootfs chpasswd return 0 } @@ -217,7 +217,7 @@ copy_ubuntu() rootfs=$3 # make a local copy of the miniubuntu - echo -n "Copying rootfs to $rootfs ..." + echo "Copying rootfs to $rootfs ..." mkdir -p $rootfs rsync -a $cache/rootfs-$arch/ $rootfs/ || return 1 return 0 @@ -266,14 +266,21 @@ copy_configuration() rootfs=$2 name=$3 arch=$4 + release=$5 if [ $arch = "i386" ]; then arch="i686" fi + ttydir="" + if [ $release = "precise" ]; then + ttydir=" lxc" + fi + cat <<EOF >> $path/config lxc.utsname = $name +lxc.devttydir = $ttydir lxc.tty = 4 lxc.pts = 1024 lxc.rootfs = $rootfs @@ -619,13 +626,13 @@ if [ $? -ne 0 ]; then exit 1 fi -configure_ubuntu $rootfs $name +configure_ubuntu $rootfs $name $release if [ $? -ne 0 ]; then echo "failed to configure ubuntu $release for a container" exit 1 fi -copy_configuration $path $rootfs $name $arch +copy_configuration $path $rootfs $name $arch $release if [ $? -ne 0 ]; then echo "failed write configuration file" exit 1 @@ -640,3 +647,10 @@ if [ ! -z $clean ]; then clean $release || exit 1 exit 0 fi + +echo "" +echo "##" +echo "# The default user is 'ubuntu' with password 'ubuntu'!" +echo "# Use the 'sudo' command to run tasks as root in the container." +echo "##" +echo "" |