Difference between revisions of "Updating Debian template"

From OpenVZ Virtuozzo Containers Wiki
Jump to: navigation, search
(cagegorized)
(modified to use unified way of mounting the container (ploop and non-ploop, doesn't matter))
 
(4 intermediate revisions by 4 users not shown)
Line 1: Line 1:
 
This article describes how you can update an existing precreated Debian or Ubuntu template. The procedure is pretty easy.
 
This article describes how you can update an existing precreated Debian or Ubuntu template. The procedure is pretty easy.
  
== Creating/configuring a temporary VE ==
+
== Creating/configuring a temporary container ==
  
First, you need to create a VE based on the template you want to update. Here is an example:
+
First, you need to create a container based on the template you want to update. Here is an example:
  
 
  [HN]# vzctl create 555 --ostemplate debian-4.0-i386-minimal
 
  [HN]# vzctl create 555 --ostemplate debian-4.0-i386-minimal
Line 10: Line 10:
 
  [HN]# vzctl set 555 --ipadd x.x.x.x --nameserver y.y.y.y --save
 
  [HN]# vzctl set 555 --ipadd x.x.x.x --nameserver y.y.y.y --save
  
You can get the value of nameserver from your /etc/resolv.conf. Your VE should have an Internet access, so you either supply a public IP, or see [[using NAT for VE with private IPs]] for information about how to use private IP and NAT.
+
You can get the value of nameserver from your /etc/resolv.conf. Your container should have an Internet access, so you either supply a public IP, or see [[using NAT for container with private IPs]] for information about how to use private IP and NAT.
  
Finally, check that Internet is working from inside a VE:
+
Then start your container:
  [HN]# vzctl exec 555 ping -n 3 www.ru
+
[HN]# vzctl start 555
 +
 
 +
Finally, check that Internet is working from inside your container:
 +
  [HN]# vzctl exec 555 ping -n -c 1 www.ru
  
 
== Update ==
 
== Update ==
 
   
 
   
Enter the VE:
+
Enter the container:
 
  [HN]# vzctl enter 555
 
  [HN]# vzctl enter 555
  
 
Update metadata and install updates:
 
Update metadata and install updates:
  [VE]# apt-get update && apt-get upgrade
+
  [container]# apt-get update && apt-get upgrade
  
 
Cleanup:
 
Cleanup:
  [VE]# apt-get clean
+
  [container]# apt-get clean
  [VE]# > /etc/resolv.conf
+
  [container]# > /etc/resolv.conf
  
Clean unused log files, .bash_history etc, then exit from a VE:
+
Clean unused log files, .bash_history etc, then exit from a container:
  [VE] # exit
+
  [container] # exit
  
Stop a VE, remove its IP:
+
Stop a container, remove its IP:
 
  [HN]# vzctl stop 555
 
  [HN]# vzctl stop 555
 
  [HN]# vzctl set 555 --ipdel all --save
 
  [HN]# vzctl set 555 --ipdel all --save
Line 38: Line 41:
 
Now, rename the existing template cache:
 
Now, rename the existing template cache:
 
  [HN]# mv /vz/template/cache/debian-4.0-i386-minimal.tar.gz{,-old}
 
  [HN]# mv /vz/template/cache/debian-4.0-i386-minimal.tar.gz{,-old}
 +
 +
Change to VE folder:
 +
[HN]# vzctl mount 555
 +
[HN]# cd /vz/root/555
  
 
Now create a new tarball:
 
Now create a new tarball:
[HN]# cd /vz/private/555
+
  [HN]# tar --numeric-owner -czf /vz/template/cache/debian-4.0-i386-minimal.tar.gz .
  [HN]# tar czf /vz/template/cache/debian-4.0-i386-minimal.tar.gz .
 
  
 
Clean up:
 
Clean up:
 +
[HN]# vzctl umount 555
 
  [HN]# vzctl destroy 555
 
  [HN]# vzctl destroy 555
 
  [HN]# rm -f /etc/vz/conf/555.conf.destroyed
 
  [HN]# rm -f /etc/vz/conf/555.conf.destroyed
Line 55: Line 62:
 
The sizes should not differ much.
 
The sizes should not differ much.
  
Try to create and start VE made from your new template:
+
Try to create and start container made from your new template:
 
  [HN]# vzctl create 222 --ostemplate debian-4.0-i386-minimal
 
  [HN]# vzctl create 222 --ostemplate debian-4.0-i386-minimal
 
  [HN]# vzctl set 222 --ipadd 10.0.0.222 --save
 
  [HN]# vzctl set 222 --ipadd 10.0.0.222 --save
Line 61: Line 68:
 
  [HN]# vzctl enter 222
 
  [HN]# vzctl enter 222
  
Now execute a few basic commands to check VE is fine. Examples are: <code>ps axf</code>, <code>dpkg -l</code>, etc.
+
Now execute a few basic commands to check container is fine. Examples are: <code>ps axf</code>, <code>dpkg -l</code>, etc.
  
Finally, clean up the testing VE:
+
Finally, clean up the testing container:
 
  [HN]# vzctl stop 222
 
  [HN]# vzctl stop 222
 
  [HN]# vzctl destroy 222
 
  [HN]# vzctl destroy 222

Latest revision as of 16:02, 19 May 2015

This article describes how you can update an existing precreated Debian or Ubuntu template. The procedure is pretty easy.

Creating/configuring a temporary container[edit]

First, you need to create a container based on the template you want to update. Here is an example:

[HN]# vzctl create 555 --ostemplate debian-4.0-i386-minimal

Next, you want to specify an IP address and a nameserver:

[HN]# vzctl set 555 --ipadd x.x.x.x --nameserver y.y.y.y --save

You can get the value of nameserver from your /etc/resolv.conf. Your container should have an Internet access, so you either supply a public IP, or see using NAT for container with private IPs for information about how to use private IP and NAT.

Then start your container:

[HN]# vzctl start 555

Finally, check that Internet is working from inside your container:

[HN]# vzctl exec 555 ping -n -c 1 www.ru

Update[edit]

Enter the container:

[HN]# vzctl enter 555

Update metadata and install updates:

[container]# apt-get update && apt-get upgrade

Cleanup:

[container]# apt-get clean
[container]# > /etc/resolv.conf

Clean unused log files, .bash_history etc, then exit from a container:

[container] # exit

Stop a container, remove its IP:

[HN]# vzctl stop 555
[HN]# vzctl set 555 --ipdel all --save

Packing a new template cache[edit]

Now, rename the existing template cache:

[HN]# mv /vz/template/cache/debian-4.0-i386-minimal.tar.gz{,-old}

Change to VE folder:

[HN]# vzctl mount 555
[HN]# cd /vz/root/555

Now create a new tarball:

[HN]# tar --numeric-owner -czf /vz/template/cache/debian-4.0-i386-minimal.tar.gz .

Clean up:

[HN]# vzctl umount 555
[HN]# vzctl destroy 555
[HN]# rm -f /etc/vz/conf/555.conf.destroyed

Test new template cache[edit]

First, compare the sizes of the old and the new template caches:

[HN]# ls -lh /vz/template/cache/debian-4.0-i386-minimal*
-rw-r--r-- 1 root root  55M 2007-11-13 18:11 /vz/template/cache/debian-4.0-i386-minimal.tar.gz
-rw-r--r-- 1 root root  53M 2007-08-31 02:46 /vz/template/cache/debian-4.0-i386-minimal.tar.gz-old

The sizes should not differ much.

Try to create and start container made from your new template:

[HN]# vzctl create 222 --ostemplate debian-4.0-i386-minimal
[HN]# vzctl set 222 --ipadd 10.0.0.222 --save
[HN]# vzctl start 222
[HN]# vzctl enter 222

Now execute a few basic commands to check container is fine. Examples are: ps axf, dpkg -l, etc.

Finally, clean up the testing container:

[HN]# vzctl stop 222
[HN]# vzctl destroy 222
[HN]# rm -f /etc/vz/conf/222.conf.destroyed