6,534
edits
Changes
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]]
== 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]]