Editing Ubuntu Precise template creation

Jump to: navigation, search

Warning: You are not logged in. Your IP address will be publicly visible if you make any edits. If you log in or create an account, your edits will be attributed to your username, along with other benefits.

The edit can be undone. Please check the comparison below to verify that this is what you want to do, and then save the changes below to finish undoing the edit.
Latest revision Your text
Line 3: Line 3:
 
* Templates: Ubuntu 12.04 (Precise Pangolin) and 14.04 (Trusty Tahr).
 
* Templates: Ubuntu 12.04 (Precise Pangolin) and 14.04 (Trusty Tahr).
  
== Setup variables ==
+
== Setup variables for 12.04 (Precise Pangolin) ==
  
Common part:
 
 
  ARCH="i386"  
 
  ARCH="i386"  
export COUNTRY="de"
 
 
For 12.04 (Precise Pangolin):
 
 
  export DIST="precise"  
 
  export DIST="precise"  
 
  export NAME="ubuntu1204"  
 
  export NAME="ubuntu1204"  
 +
export COUNTRY="de"
 
  TMPL="12.04-x86"
 
  TMPL="12.04-x86"
  
For 14.04 (Trusty Tahr):
+
== Setup variables for 14.04 (Trusty Tahr) ==
 +
 
 +
ARCH="i386"
 
  export DIST="trusty"  
 
  export DIST="trusty"  
 
  export NAME="ubuntu1404"
 
  export NAME="ubuntu1404"
 +
export COUNTRY="de"
 
  TMPL="14.04-x86"
 
  TMPL="14.04-x86"
 
Note:  replace "i386" and "x86" to "amd64", if you want to get 64-bit environment.
 
  
 
== Prepare directory ==
 
== Prepare directory ==
Line 25: Line 23:
 
  apt-get -y install debootstrap
 
  apt-get -y install debootstrap
 
  cd /usr/share/debootstrap/scripts && ln -s gutsy trusty && cd -
 
  cd /usr/share/debootstrap/scripts && ln -s gutsy trusty && cd -
  debootstrap --arch $ARCH $DIST /var/lib/vz/template/$NAME-$ARCH http://$COUNTRY.archive.ubuntu.com/ubuntu
+
  debootstrap --arch $ARCH $DIST /var/lib/vz/template/$NAME http://$COUNTRY.archive.ubuntu.com/ubuntu
  chroot /var/lib/vz/template/$NAME-$ARCH
+
  chroot /var/lib/vz/template/$NAME
  
 
Note: Debootstrap can miss Trusty profile (as in Debian Wheezy), so you should create it manually as seen above.
 
Note: Debootstrap can miss Trusty profile (as in Debian Wheezy), so you should create it manually as seen above.
Line 35: Line 33:
 
  locale-gen ru_RU.UTF-8
 
  locale-gen ru_RU.UTF-8
 
  locale-gen en_US.UTF-8
 
  locale-gen en_US.UTF-8
echo 'LANG="en_US.UTF-8"' > /etc/default/locale
 
  
 
Configure packages:
 
Configure packages:
Line 55: Line 52:
 
  echo $NAME > /etc/mailname
 
  echo $NAME > /etc/mailname
 
  echo '
 
  echo '
# dma-0.0.2010.xx syntax
 
 
  SMARTHOST 192.0.2.2
 
  SMARTHOST 192.0.2.2
 
  DBOUNCEPROG dbounce-simple-safecat
 
  DBOUNCEPROG dbounce-simple-safecat
Line 62: Line 58:
 
   :
 
   :
 
  DEBIAN_FRONTEND=noninteractive apt-get -y install --no-install-recommends dma bsd-mailx safecat
 
  DEBIAN_FRONTEND=noninteractive apt-get -y install --no-install-recommends dma bsd-mailx safecat
 
'''14.04 note:''' config syntax for dma-0.9 was changed:
 
echo '
 
# dma-0.9 syntax
 
SMARTHOST 192.0.2.2
 
MAILNAME /etc/mailname
 
' > /etc/dma/dma.conf
 
  
 
Disable hardware-related configs:
 
Disable hardware-related configs:
  Disable() {
+
  sed -i.orig -e 's,^#!.*,#!/bin/true,'                        /etc/init.d/ondemand
    local f="/etc/init/$1.conf"
+
sed -i.orig -e 's,\(.* | \)\(sysctl .*\),\1 /bin/true \2,'  /etc/init/procps.conf
    local o="/etc/init/$1.override"
+
sed -i.orig -e 's,^console output,, ; s,^env INIT_VERBOSE,,' /etc/init/rc.conf
    test -s "$o" && grep -qw "^manual" "$o" && return
+
sed -i.orig -e 's/^\$ModLoad imklog/## \$ModLoad imklog/g'  /etc/rsyslog.conf
    echo "manual  # DISABLE UNDER OPENVZ" >> "$o"
+
  sed -i.orig -e 's,^\([^#].*/dev/xconsole\),## \1,'          /etc/rsyslog.d/50-default.conf
  }
 
Disable console
 
Disable console-font
 
Disable console-setup
 
  :
 
Disable ondemand
 
Disable setvtrgb
 
  :
 
Disable hwclock
 
Disable hwclock-save
 
  :
 
Disable ureadahead
 
Disable ureadahead-other
 
  :
 
Disable plymouth
 
Disable plymouth-log
 
Disable plymouth-ready
 
Disable plymouth-shutdown
 
Disable plymouth-splash
 
Disable plymouth-stop
 
Disable plymouth-upstart-bridge
 
  :
 
Disable tty2
 
Disable tty3
 
Disable tty4
 
Disable tty5
 
Disable tty6
 
 
   :
 
   :
  Disable udev
+
  mkdir /root/etc_init_console_tty
  Disable udev-fallback-graphics
+
  mv /etc/init/console* /etc/init/tty* /root/etc_init_console_tty
Disable udev-finish
 
Disable udevmonitor
 
Disable udevtrigger
 
  :
 
sed -i.orig -e '/| sysctl / s,$, || :,'                    /etc/init/procps.conf
 
sed -i.orig -e 's,^\$ModLoad imklog,## \$ModLoad imklog,g'  /etc/rsyslog.conf
 
  
 
Cleanup and leave chroot:
 
Cleanup and leave chroot:
 +
find /var/cache/apt /var/lib/apt/lists -type f -delete
 
  apt-get clean
 
  apt-get clean
find /var/cache/apt /var/lib/apt/lists -type f -delete
 
 
  exit
 
  exit
  
Line 121: Line 77:
  
 
  rm -f  /var/lib/vz/template/cache/ubuntu-$TMPL.tar.gz &&
 
  rm -f  /var/lib/vz/template/cache/ubuntu-$TMPL.tar.gz &&
  tar czf /var/lib/vz/template/cache/ubuntu-$TMPL.tar.gz --numeric-owner -C /var/lib/vz/template/$NAME-$ARCH .
+
  tar czf /var/lib/vz/template/cache/ubuntu-$TMPL.tar.gz --numeric-owner -C /var/lib/vz/template/$NAME .
  
 
== How to create CT from template ==
 
== How to create CT from template ==
  
 
  ID=123
 
  ID=123
  vzctl create $ID --ostemplate ubuntu-$TMPL --hostname … --name … --layout simfs
+
  vzctl create $ID --ostemplate ubuntu-12.04-x86 --hostname … --name … --layout simfs
 
  vzctl set $ID --save --onboot yes --nameserver 192.0.2.2 --ipadd 192.0.2.$ID
 
  vzctl set $ID --save --onboot yes --nameserver 192.0.2.2 --ipadd 192.0.2.$ID
 
== First steps after creation ==
 
 
Start and enter:
 
vzctl start $ID
 
vzctl enter $ID
 
 
Install updates:
 
apt-get update
 
apt-get -y dist-upgrade
 

Please note that all contributions to OpenVZ Virtuozzo Containers Wiki may be edited, altered, or removed by other contributors. If you don't want your writing to be edited mercilessly, then don't submit it here.
If you are going to add external links to an article, read the External links policy first!

To edit this page, please answer the question that appears below (more info):

Cancel Editing help (opens in new window)