Howdy, this page is a scrapbook of pages under construction etc.
- 1 Interesting SIG's
- 2 Live Upgrading Remote Servers for Beginners
- 2.1 Warning
- 2.2 Disclaimer
- 2.3 Getting Started
- 2.4 Redhat Linux 9 -> Fedora Core 1
- 2.5 Fedora Core 1 -> Fedora Core 2
- 2.6 Fedora Core 2 -> Fedora Core 3
- 2.7 Fedora Core 3 -> Fedora Core 4
- 2.8 Fedora Core 4 -> Fedora Core 5
- 2.9 Fedora Core 5 -> Fedora Core 6
- 2.10 Fedora Core 6 -> Fedora Core 7
- 2.11 Fedora Core 7 -> Fedora Core 8
- 2.12 Fedora Core 8 -> Fedora Core 9
Live Upgrading Remote Servers for Beginners
(Work in progress) This guide is slightly different from YumUpgradeFaq in that it addresses upgrading machines you don't have easy physical access to. There are a lot of benefits to doing this on a Server class machine, in general you won't have as many packages installed as a Desktop class machine (X/Gnome etc.) reducing some of the complexity. At the same time it opens the potential for huge problems if something does go wrong during the upgrade.
I carried out this procedure on a server to which I had nothing but SSH access to. If you have physical access to the machine to be upgraded, using the install media & anaconda would be far easier. At each stage I carefully examined
/boot/grub/grub.conf to ensure I would come back up on the correct kernel with each reboot. I suggest you rehearse each step carefully on a local/virtual machine before taking the plunge.
- Backup your configuration files, some packages will replace their configuration files during the upgrade. You could just
[root@host ~]# tar cf etc.tar /etcand keep it in a safe place.
- Backup, Backup, Backup any important data.
- Shutdown unnecessary services (SMTP, HTTP, MySQL etc.) while the upgrade is taking place.
- Prune the installed packages as much as possible, in particular packages like
phpare gigantic dependency web's, the upgrade will go a lot smoother and quicker if you remove things like this.
- Fedora Core releases prior to Fedora Core 7 have been removed from the regular mirror servers, they are however available from archives.fedoraproject.org and a small selection of mirrors. With each upgrade of the
/etc/yum.repos.ddirectory may need manual tweaking to select your preferred mirror.
Redhat Linux 9 -> Fedora Core 1
Firstly, you will need to manually import this GPG Key 0x4F2A6FD2 <email@example.com> to begin:
# rpm --import "http://pgp.mit.edu:11371/pks/lookup?op=get&search=0x4F2A6FD2"
Next, to make the first step from Redhat Linux to Fedora you will need to manually install
yum and its dependencies.
# rpm -Uvh --nodeps http://archives.fedoraproject.org/pub/archive/fedora/linux/core/1/i386/os/Fedora/RPMS/yum-2.0.4-2.noarch.rpm \ http://archives.fedoraproject.org/pub/archive/fedora/linux/core/1/i386/os/Fedora/RPMS/libxml2-python-2.5.11-1.i386.rpm \ http://archives.fedoraproject.org/pub/archive/fedora/linux/core/1/i386/os/Fedora/RPMS/gettext-0.12.1-1.i386.rpm \ http://archives.fedoraproject.org/pub/archive/fedora/linux/core/1/i386/os/Fedora/RPMS/libxml2-2.5.11-1.i386.rpm \ http://archives.fedoraproject.org/pub/archive/fedora/linux/core/1/i386/os/Fedora/RPMS/libgcj-3.3.2-1.i386.rpm
/etc/yum.repos.d and/or edit
yum.conf archives.fedoraproject.org is the only mirror I found to contain Fedora Core 1.
My example /etc/yum.conf:
[main] cachedir=/var/cache/yum debuglevel=2 logfile=/var/log/yum.log pkgpolicy=newest distroverpkg=redhat-release tolerant=1 exactarch=1 retries=20 [base] name=Fedora Core $releasever - $basearch - Base baseurl=http://archives.fedoraproject.org/pub/archive/fedora/linux/core/$releasever/$basearch/os/ [updates-released] name=Fedora Core $releasever - $basearch - Updates baseurl=http://archives.fedoraproject.org/pub/archive/fedora/linux/core/updates/$releasever/$basearch/
And I manually removed any other repos for this stage:
[root@host ~]# rm -f /etc/yum.repos.d/*
# yum upgrade
If you encounter any dependency issues at this stage, its wise to try and remove the packages causing the problem. Getting a trouble-free
yum upgrade at this stage is ideal.
Fedora Core 1 -> Fedora Core 2
see also 
# rpm -Uvh http://archives.fedoraproject.org/pub/archive/fedora/linux/core/2/i386/os/Fedora/RPMS/fedora-release-2-4.i386.rpm \ http://archives.fedoraproject.org/pub/archive/fedora/linux/core/2/i386/os/Fedora/RPMS/yum-2.0.7-1.1.noarch.rpm # yum upgrade
During the upgrade process I encountered this error:
Kernel Updated/Installed, checking for bootloader Grub found - making this kernel the default Traceback (most recent call last): File "/usr/bin/yum", line 30, in ? yummain.main(sys.argv[1:]) File "/usr/share/yum/yummain.py", line 375, in main pkgaction.kernelupdate(tsInfo) File "/usr/share/yum/pkgaction.py", line 611, in kernelupdate up2datetheft.install_grub(kernel_list) File "/usr/share/yum/up2datetheft.py", line 13, in install_grub import grubcfg File "/usr/share/yum/grubcfg.py", line 12, in ? import iutil File "/usr/share/yum/iutil.py", line 2, in ? import types, os, sys, select, string, stat, signal ImportError: No module named select
The upgrade appeared to complete successfully but failed while trying to set the default kernel. Edit
/boot/grub/grub.conf manually set "
default=0" to boot the correct
Fedora Core 2 -> Fedora Core 3
see also  Firstly a little preparation:
- Create/edit the file
# This file controls the state of SELinux on the system. # SELINUX= can take one of these three values: # enforcing - SELinux security policy is enforced. # permissive - SELinux prints warnings instead of enforcing. # disabled - SELinux is fully disabled. SELINUX=permissive # SELINUXTYPE= type of policy in use. Possible values are: # targeted - Only targeted network daemons are protected. # strict - Full SELinux protection. SELINUXTYPE=targeted # SETLOCALDEFS= Check local definition changes SETLOCALDEFS=0
- Create the following directory and use
touchto put an empty file there:
# mkdir -p /etc/security/selinux # touch /etc/security/selinux/file_contexts
- Now remove
# rpm -e up2date
- Remove any previous kernels (careful not to remove the one you're currently running)
# rpm -q -a kernel kernel-2.4.20-8 kernel-2.4.22-1.2199.nptl kernel-2.6.10-1.771_FC2 # rpm -e kernel-2.4.20-8 kernel-2.4.22-1.2199.nptl
Now we're ready to proceed with the upgrade:
# rpm -Uvh http://archives.fedoraproject.org/pub/archive/fedora/linux/core/updates/3/i386/yum-2.2.2-0.fc3.noarch.rpm \ http://archives.fedoraproject.org/pub/archive/fedora/linux/core/3/i386/os/Fedora/RPMS/fedora-release-3-8.i386.rpm # yum upgrade
Lastly, we need to clean up the old kernel:
# rpm -e kernel-2.6.10-1.771_FC2
Fedora Core 3 -> Fedora Core 4
see also  This time, we need to upgrade the kernel on its own first, and then reboot before continuing with the full upgrade:
# rpm -Uvh http://archives.fedoraproject.org/pub/archive/fedora/linux/core/4/i386/os/Fedora/RPMS/fedora-release-4-2.noarch.rpm # yum upgrade kernel
After rebooting we remove the old FC3 kernel and then continue with the upgrade.
# rpm -e kernel-2.6.12-1.1381_FC3 # yum upgrade
Fedora Core 4 -> Fedora Core 5
see also 
# rpm -Uvh http://archives.fedoraproject.org/pub/archive/fedora/linux/core/5/i386/os/Fedora/RPMS/fedora-release-5-5.noarch.rpm # yum upgrade
Fedora Core 5 -> Fedora Core 6
see also 
# rpm -Uvh http://archives.fedoraproject.org/pub/archive/fedora/linux/core/6/i386/os/Fedora/RPMS/fedora-release-6-4.noarch.rpm \ http://archives.fedoraproject.org/pub/archive/fedora/linux/core/6/i386/os/Fedora/RPMS/fedora-release-notes-6-3.noarch.rpm # yum upgrade
Fedora Core 6 -> Fedora Core 7
see also  Before we continue to Fedora Core 7 you must ensure that all your mounts have volume labels. Fedora Core 7 and its updates are currently available from most mirrors, you may wish to use your own preferred mirror from this step onwards.
# rpm -Uvh http://ftp.heanet.ie/mirrors/fedora/linux/releases/7/Everything/i386/os/Fedora/fedora-release-7-3.noarch.rpm \ http://ftp.heanet.ie/mirrors/fedora/linux/releases/7/Everything/i386/os/Fedora/fedora-release-notes-7.0.0-1.noarch.rpm # yum upgrade
Fedora Core 7 -> Fedora Core 8
see also 
# rpm -Uvh http://ftp.heanet.ie/mirrors/fedora/linux/releases/8/Everything/i386/os/Packages/fedora-release-8-3.noarch.rpm \ http://ftp.heanet.ie/mirrors/fedora/linux/releases/8/Everything/i386/os/Packages/fedora-release-notes-8.0.0-3.noarch.rpm # yum upgrade
If you encounter the error
Error: Missing Dependency: libsmbios-libs = 0.13.10-1.fc8 is needed by package libsmbios-bin during the upgrade do the following:
# yum erase libsmbios-libs ... Dependencies Resolved ============================================================================= Package Arch Version Repository Size ============================================================================= Removing: libsmbios-libs i386 0.13.13-1.fc7 installed 769 k Removing for dependencies: hal i386 0.5.9-8.fc7 installed 1.1 M hal-info noarch 20070725-1.fc7 installed 341 k smartmontools i386 1:5.37-3.3.fc7 installed 653 k Transaction Summary ============================================================================= Install 0 Package(s) Update 0 Package(s) Remove 4 Package(s) Is this ok [y/N]: y ... # yum upgrade
libsmbios-libs will all be reinstalled again during the
yum upgrade step.
After installing Fedora Core 8 it is worth running
yum update once or twice to ensure everything is updated accordingly. There was a repository change for FC8 & FC9 and a new GPG key you will have to accept.
Fedora Core 8 -> Fedora Core 9
see also 
# rpm -Uvh http://ftp.heanet.ie/mirrors/fedora/linux/releases/9/Everything/i386/os/Packages/fedora-release-9-2.noarch.rpm \ http://ftp.heanet.ie/mirrors/fedora/linux/releases/9/Everything/i386/os/Packages/fedora-release-notes-9.0.0-1.noarch.rpm # yum update fedora-release # yum upgrade
If you encounter the following error:
Error: Missing Dependency: libcrypto.so.6 is needed by package python-2.5.1-26.fc8.2.i386 (installed) Error: Missing Dependency: libcrypto.so.6 is needed by package httpd-tools-2.2.9-1.fc8.i386 (installed) Error: Missing Dependency: libssl.so.6 is needed by package libc-client-2007b-1.fc8.i386 (installed) Error: Missing Dependency: libldap-2.3.so.0 is needed by package httpd-2.2.9-1.fc8.i386 (installed) Error: Missing Dependency: libcrypto.so.6 is needed by package libc-client-2007b-1.fc8.i386 (installed) Error: Missing Dependency: libcrypto.so.6 is needed by package stunnel-4.24-0.fc8.i386 (installed) Error: Missing Dependency: libldap-2.3.so.0 is needed by package httpd-tools-2.2.9-1.fc8.i386 (installed) Error: Missing Dependency: libssl.so.6 is needed by package python-2.5.1-26.fc8.2.i386 (installed) Error: Missing Dependency: liblber-2.3.so.0 is needed by package httpd-tools-2.2.9-1.fc8.i386 (installed) Error: Missing Dependency: libldap-2.3.so.0 is needed by package gnupg2-2.0.9-2.fc8.i386 (installed) Error: Missing Dependency: liblber-2.3.so.0 is needed by package httpd-2.2.9-1.fc8.i386 (installed) Error: Missing Dependency: libssl.so.6 is needed by package stunnel-4.24-0.fc8.i386 (installed) Error: Missing Dependency: libssl.so.6 is needed by package httpd-tools-2.2.9-1.fc8.i386 (installed)
You can do the following to workaround it:
# rpm -e --nodeps openssl openldap # yum install openssl openldap