Download Latest Version KPSfedora-upgrader-1.22.tar.gz (21.5 kB)
Email in envelope

Get an email when there's a new version of fedora-upgrader

Home / Documentation
Name Modified Size InfoDownloads / Week
Parent folder
README.txt 2010-03-03 6.8 kB
Totals: 1 Item   6.8 kB 0
2 March 2010
Copyright (C) 2010 Kenneth Salerno


AUTHOR

Kenneth Salerno <first & last name (one word) at yahoo dot com>


NOTES TO USERS

If you have ideas to make fedora-upgrader better or even good enough to
hopefully someday include a variation of it with Fedora, please do it!
I definitely need some help to make fedora-upgrader worthy of being in the
official repo.  Why should only Debian be the easiest to upgrade without
re-installing?  And of course the awesome FreeBSD with its mergemaster and
freebsd-update are an inspiration.  Why not my favorite GNU/Linux distribution,
Fedora too?  I hope this RPM package for fedora-upgrader gets the ball rolling
for Fedora :)


DESCRIPTION

Upgrade to the newest releases of Fedora Linux, Scientific Linux, CentOS, and
Red Hat Enterprise Linux without reinstalling from scratch.

Most of fedora-upgrader was written using the guidelines from the Fedora
Project's YUM upgrade Wiki (http://fedoraproject.org/wiki/YumUpgradeFaq).


PREREQUISITES

fedora-upgrader needs the package yum-utils which provides package-cleanup(1).
Check to see if you already have yum-utils installed:
  rpm -q yum-utils

If you don't have it already, you can install yum-utils like this:
  sudo yum install yum-utils

If you are using an END-OF-LIFE version of Fedora, please see the bottom of this
README on how you too can be using the latest Fedora without reinstalling
everything


INSTALL

With RPM package (recommended):
  sudo rpm -Uvh KPSfedora-upgrader-*.rpm

Or with source tarball:
  tar zxvf KPSfedora-upgrader-*.tar.gz; cd KPSfedora-upgrader-*
  sudo make install


REMOVAL

Installed from RPM package:
  sudo rpm -ev KPSfedora-upgrader

Installed from source tarball:
  tar zxvf KPSfedora-upgrader-*.tar.gz; cd KPSfedora-upgrader-*
  sudo make uninstall


USAGE

0) Run this script from a real TTY Terminal (i.e. CTL+ALT+F2) or remotely via
   SSH works great too.

1) First, make sure your system is totally up-to-date:
   Initialize "patch effects" with your current system state:
   sudo /usr/local/bin/fedora-upgrader --patch-effects pre

   Run a full YUM update and check for RPM leaf-nodes, orphans, etc.:
   sudo /usr/local/bin/fedora-upgrader --update

   Now compare current system state with saved state and look for *.rpmnew:
   sudo /usr/local/bin/fedora-upgrader --patch-effects post
   sudo /usr/local/bin/fedora-upgrader --patch-effects comp

2) Run fedora-upgrader with --rpmnewdiff to merge *.rpmnew files:
   sudo /usr/local/bin/fedora-upgrader --rpmnewdiff

3) Next, initiate the upgrade (this example assumes you have Fedora 11)
   sudo /usr/local/bin/fedora-upgrader --go-to-next-version 12

   See Man page for more details and examples for fedora-upgrader(8)

4) Follow any instructions you see

5) Please read all documentation provided
   sudo /usr/local/bin/fedora-upgrader --help

   Please see man pages for more details:
   Example:
     man fedora-upgrader
   
   Note: If you have trouble finding the manual, your MANPATH should
         include /usr/local/share/man or be blank for default manpath.


RPM PACKAGE INFO

Configuration file is listed here and specified in the man page:
  rpm -qc KPSfedora-upgrader

The Manual is listed here:
  rpm -qd KPSfedora-upgrader

Change Log is included here:
  rpm -q --changelog KPSfedora-upgrader


TIPS FOR USERS OF END-OF-LIFE FEDORA VERSIONS
(Fedora Core 1 - 6, Fedora 7 - 10)

First, you'll need to ignore the yum-utils dependency by installing
my script with --nodeps:

rpm -ivh --nodeps KPSfedora-upgrader-*.rpm

You can install the yum-utils prereq after following the steps below, but note
that yum-utils isn't available until Fedora 7 but don't worry, you won't need
it until you're all done at the lastest and greatest Fedora release.

Second, you probably don't have /etc/sysconfig/kernel, but here's how to create
one:  open your favorite editor and type this:


# UPDATEDEFAULT specifies if new-kernel-pkg should make
# new kernels the default
UPDATEDEFAULT=yes

# DEFAULTKERNEL specifies the default kernel package type
DEFAULTKERNEL=kernel


From here you can now use my script as is, but you need to modify the URL_BASE
variable in /usr/local/etc/fedora-upgrader.conf to use the archives hosted by
the Fedora Project (see comments I provide in fedora-upgrader.conf):  

URL_BASE=http://archives.fedoraproject.org/pub/archive/fedora/linux/core/%NEXT_RELEASE%/%OUR_ARCH%/os/Fedora/RPMS

And you will need to specify the release RPM package by name since wget does
not support wildcards '*' with HTTP:

RELEASE_RPM_NAME='fedora-release-2-7.i386.rpm' (this is just an example,
please look through the Fedora Project's archives to find the name of the
fedora-release*rpm you need)

And then once the fedora-release-*rpm has installed, you will need to CTRL+C
out of my script and modify either /etc/yum.conf or
/etc/yum.repos.d/{fedora,fedora-updates}.repo (depending on your Fedora version)
to use the following baseurl:

baseurl=http://archives.fedoraproject.org/pub/archive/fedora/linux/core/$releasever/$basearch/os

Then launch my script again with the --noclean parameter after your -g RELEASE

Example going from Fedora Core 1 to Fedora Core 2, after following above steps:

sudo /usr/local/bin/fedora-upgrader -g 2 --noclean

GENERAL TIP: once you have successfully upgraded to the next version and you
have rebooted, you should remove the previous kernel version before starting
your next upgrade (fedora-upgrader --update does this for you)

FEDORA CORE 2 to FEDORA CORE 3 TIP: remove up2date before starting:
yum remove up2date

FEDORA 3 to FEDORA CORE 4 TIP: When YUM complains you don't have the GPG
signatures it's looking for, you can fix this by editing
/etc/yum.repos.d/fedora.repo and modify the line
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-fedora
and make it look like this:
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY
                         
FEDORA CORE 6 to FEDORA 7 TIP: Fedora 7 replaces the old IDE subsystem with
libata. Drive device names which previously started /dev/hd.. will become
/dev/sd.. after the upgrade.  BEFORE REBOOTING AFTER YOUR UPGRADE, Make sure
your /etc/fstab does not contain any references to /dev/hda, /dev/hdb, etc.
If so, change them to the respective /dev/sda, /dev/sdb, etc. (you should be
using either volume labels, LVM, or UUIDs anyway... but, one step at a time.)


If you're a user of Fedora Core versions 1-6 or Fedora 7 - 10 and having a
problem with these special steps, don't worry, you'll get it eventually or you
can e-mail me for help, I've used this technique before successfully on a few
different servers of mine.  And remember, it is even more important for users
of much older Fedora versions to thoroughly resolve all *.rpmnew using
/usr/local/bin/fedora-upgrader --upgrade-effects
Source: README.txt, updated 2010-03-03