Open main menu

OpenVZ Virtuozzo Containers Wiki β

Changes

Fedora 7 to 8 update

4,467 bytes added, 16:54, 13 November 2007
created
This article describes the procedure of updating Fedora 7 VE to Fedora 8. This should be trivial with yum, but apparently it is not, especially on a 64-bit architecture like ppc.

== Creating/starting an initial VE ==

Let's create a special VE:
# vzctl create 123 --ostemplate fedora-7-ppc-minimal
# vzctl set 123 --ipadd 10.0.0.123 --save
# vzctl start 123

{{Note|see [[Using NAT for VE with private IPs]] if you don't have public IP for your VE}}

== Upgrading procedure ==

=== fedora-release ===
First, we need to install fedora-release-8 package. Open http://download.fedora.redhat.com/pub/fedora/linux/releases/8/Fedora/ppc/os/Packages/ in your browser, find <code>fedora-release-8</code> package and copy its URL to clipboard.

Now, inside a VE run wget to download the needed package:
<pre>
[VE]# wget http://download.fedora.redhat.com/pub/fedora/linux/releases/8/Fedora/ppc/os/Packages/fedora-release-8-3.noarch.rpm
<s>10:25:13</s> http://download.fedora.redhat.com/pub/fedora/linux/releases/8/Fedora/ppc/os/Packages/fedora-release-8-3.noarch.rpm
=> `fedora-release-8-3.noarch.rpm'
Resolving download.fedora.redhat.com… 66.187.224.20, 209.132.176.20, 209.132.176.220
Connecting to download.fedora.redhat.com|66.187.224.20|:80… connected.
HTTP request sent, awaiting response… 200 OK
Length: 27,548 (27K) [application/x-rpm]

100%[====================================>] 27,548 57.04K/s

10:25:14 (56.86 KB/s) — `fedora-release-8-3.noarch.rpm' saved [27548/27548]
</pre>

Install the package:
<pre>
[VE]# rpm -Uhv fedora-release-8-3.noarch.rpm
Preparing… ########################################### [100%]
1:fedora-release warning: /etc/yum.repos.d/fedora-updates.repo created as /etc/yum.repos.d/fedora-updates.repo.rpmnew
warning: /etc/yum.repos.d/fedora.repo created as /etc/yum.repos.d/fedora.repo.rpmnew
########################################### [100%]
</pre>
As we see, a new repo config files were not installed to the usual place (because of the modifications we made to the original versions). Just move the new files over:

[VE]# mv -f /etc/yum.repos.d/fedora-updates.repo.rpmnew /etc/yum.repos.d/fedora-updates.repo
[VE]# mv -f /etc/yum.repos.d/fedora.repo.rpmnew /etc/yum.repos.d/fedora.repo

Don't forget to remove the rpm file:

[VE]# rm -f fedora-release-8-3.noarch.rpm

=== Upgrade ===


==== keepcache=1 ====
Now we can run <code>yum update</code>. But there are chances it will not work from the first try, so make the following modification in <code>/etc/yum.conf</code> to save some time on future yum runs:

keepcache=1

==== First try ====

Run

[VE]# yum update

It will not work for you. The problem is <code>compat-db</code> needs to be installed, and while adding it into transaction, yum adds both <code>.ppc</code> and <code>.ppc64</code> versions. Then, <code>compat-db.ppc64</code> package requires a lot of other .ppc64 packages, and eventually shots itself into the foot.

==== Second try ====
To work around it, we ask yum to install compat-db.ppc only:

[VE]# yum install compat-db.ppc

After that, we can try <code>yum update</code> again:

[VE]# yum update

Somehow it now works!

== Making a template ==

Now we need to make a template cache out of this just upgraded VE.

First, remove the yum cache:

[VE]# yum clean all

Then stop this VE and remove its IP:

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

Now we can create a tarball:

[HN]# cd /vz/private/123
[HN]# tar czf /vz/template/cache/fedora-8-ppc-minimal.tar.gz .

Don't forget to destroy this VE:
[HN]# cd
[HN]# vzctl destroy 123

== Testing ==

Our new template needs testing.

First, compare the sizes of the old and the new template caches:
# ls -lh /vz/template/cache/fedora-?-ppc-minimal.tar.gz
-rw-r--r-- 1 root root 99M 2007-11-13 18:11 /vz/template/cache/fedora-7-ppc-minimal.tar.gz
-rw-r--r-- 1 root root 111M 2007-11-13 19:49 /vz/template/cache/fedora-8-ppc-minimal.tar.gz

The sizes should not differ much.

Try to create and start VE made from your new template:
# vzctl create 222 --ostemplate fedora-8-ppc-minimal
# vzctl set 222 --ipadd 10.0.0.222 --save
# vzctl start 222
# vzctl enter 222

Now execute a few basic commands to check VE is fine. Examples are: <code>ps ax</code>, <code>rpm -qa</code>, etc.

Finally, clean up the testing VE:
# vzctl stop 222
# vzctl destroy 222

[[Category: HOWTO]]
[[Category: Templates]]