RedHat Fedora: Fedora Core 6 to Fedora 7 upgrade.
The Fedora Core 6 to Fedora 7 upgrade follows the general procedure outlined on the first Fedora Core upgrade page: RedHat Fedora: Fedora Core 1 to Fedora Core 2 Upgrade . If you have not already upgraded to FC6 please visit RedHat Fedora: Fedora Core 5 to Fedora Core 6 upgrade. page first before going up to FC7.
You will only need to replace step #8 with the below step: 8 ) Install fedora-relese either using http://download.fedora.redhat.com/pub/fedora/linux/releases/7/Fedora/i386/os/Fedora/fedora-release-7-3.noarch.rpm or use another mirror from the fedora.redhat.com site. You can also use the mirrors from fedoralegacy.org if your distribution is too old.
THE UPGRADE PROCESS
There are fundamental changes between FC6 and F7 (Fedora 7). First is the 'Core' name was dropped. Second partitions and drives no longer have names similar to hda1 but now are called sda1, a change that will need to be done prior to rebooting the system following the upgrade. (Yet all the packages, after the upgrade are still called *.fc7 instead of *.f7, probably for compatability reasons).
1) Check your '/etc/fstab' configurations:
LABEL=/ / ext3 defaults 1 1
LABEL=/boot /boot ext3 defaults 1 2
none /dev/pts devpts gid=5,mode=620 0 0
none /dev/shm tmpfs defaults 0 0
LABEL=/home /home ext3 defaults 1 2
none /proc proc defaults 0 0
none /sys sysfs defaults 0 0
LABEL=/usr /usr ext3 defaults 1 2
LABEL=/var /var ext3 defaults 1 2
/dev/hdb7 swap swap defaults 0 0
/dev/cdrom /mnt/cdrom auto noauto,unhide 0 0
/dev/fd0 /mnt/floppy auto noauto 0 0
/dev/hda1 /mnt/c vfat defaults 0 0
/dev/hda5 /mnt/d vfat defaults 0 0
/dev/hda6 /mnt/e vfat defaults 0 0
In my case I would have to change all in red. So where I have 'hd' I need to change it to 'sd'. For example: /dev/sda1. I will do this before rebooting to Fedora 7 The reason why I don't have to change '/' nor '/boot' etc is because for those I'm using LVM (LABEL=….). LVM will take care of the mappings for me and therefore I don't need to change them.
2) Run 'nice -n 19 yum update' to update the FC6 distribution with the latest packages.
3) Create a temporary folder for the upgrade and where to store your files. Move into the folder.
4) Run 'wget http://download.fedora.redhat.com/pub/fedora/linux/releases/7/Fedora/i386/os/Fedora/fedora-release-7-3.noarch.rpm' Follow this by running to check:
$ ll
total 32
1651554 drwxr-xr-x 57 root root 4096 Jun 25 22:13 ../
1831432 drwxr-xr-x 2 root root 4096 Jun 25 22:14 ./
1831433 -rw-r–r– 1 root root 20294 May 24 2007 fedora-release-7-3.noarch.rpm
$ rpm -Uvh http://download.fedora.redhat.com/pub/fedora/linux/releases/7/Fedora/i386/os/Fedora/fedora-release-7-3.noarch.rpm
Retrieving http://download.fedora.redhat.com/pub/fedora/linux/releases/7/Fedora/i386/os/Fedora/fedora-release-7-3.noarch.rpm
error: Failed dependencies: fedora-release-notes >= 7 is needed by fedora-release-7-3.noarch
$
Use wget to get the missing dependencies (In this case wget http://download.fedora.redhat.com/pub/fedora/linux/releases/7/Fedora/i386/os/Fedora/fedora-release-notes-7.0.0-1.noarch.rpm):
$ ll
total 1412 1651554 drwxr-xr-x 57 root root 4096 Jun 25 22:13 ../
1831432 drwxr-xr-x 2 root root 4096 Jun 25 22:17 ./
1831433 -rw-r–r– 1 root root 20294 May 24 2007 fedora-release-7-3.noarch.rpm
1831434 -rw-r–r– 1 root root 1406757 May 23 2007 fedora-release-notes-7.0.0-1.noarch.rpm
$ rpm -Uvh *.rpm
Preparing… ########################################### [100%]
1:fedora-release-notes ########################################### [ 50%]
2:fedora-release ########################################### [100%]
$
5) Run the following. You may receive some Missing Dependencies you'll need to satisfy:
$ nice -n 19 yum update rpm* yum*
.
.
.
–> Finished Dependency Resolution
Error: Missing Dependency: python(abi) = 2.4 is needed by package rhnlib
Error: Missing Dependency: python(abi) = 2.4 is needed by package authconfig
Error: Missing Dependency: python(abi) = 2.4 is needed by package up2date
Error: Missing Dependency: python-optik is needed by package up2date
Error: Missing Dependency: python(abi) = 2.4 is needed by package 4Suite
Error: Missing Dependency: python-abi = 2.4 is needed by package 4Suite
Error: Missing Dependency: db4 = 4.3.29-9.fc6 is needed by package db4-utils
$
Starting from authconfig I needed to remove a number of packages and dependencies:
$ rpm -e authconfig firstboot-tui authconfig-gtk firstboot system-config-boot
Running
$ yum update rpm* yum*
again it yielded (not surprisingly)
Error: Missing Dependency: python(abi) = 2.4 is needed by package rhnlib
Error: Missing Dependency: python(abi) = 2.4 is needed by package up2date
Error: Missing Dependency: python-optik is needed by package up2date
Error: Missing Dependency: python(abi) = 2.4 is needed by package 4Suite
Error: Missing Dependency: python-abi = 2.4 is needed by package 4Suite
Error: Missing Dependency: db4 = 4.3.29-9.fc6 is needed by package db4-utils
To remove two of the above I ran:
$ rpm -e rhnlib up2date
warning: /etc/sysconfig/rhn/up2date-uuid saved as /etc/sysconfig/rhn/up2date-uuid.rpmsave
Followed by:
$ rpm -e 4Suite db4-utils
error: Failed dependencies: db4-utils is needed by (installed) cyrus-imapd-2.3.9-7.fc6.i386
$ rpm -e 4Suite db4-utils cyrus-imapd
then:
$ rpm -e 4Suite db4-utils cyrus-imapd
to remove the packages. If you need to these can be reinstalled after your upgrade is complete:
$ yum update rpm* yum*
to make sure you are using the latest yum binary before you start the update of your system. Following above, run:
$ nice -n 19 yum -y update 2>&1|tee ./FC6toFedora7-upgrade.txt
In my case I got:
Error: Missing Dependency: perl(Automake::XFile) is needed by package ac-archive
Error: Missing Dependency: perl(Automake::General) is needed by package ac-archive
In this case I will remove the archive and (possibly) get the updated version, if I need it. I've reran 'nice -n 19 yum -y update 2>&1|tee ./FC6toFedora7-upgrade.txt' again. The final run of above resulted in at least around three dozen "Transaction Check Error:". Looking over the packages that were conflicting:
"file /usr/share/doc/HTML/pt_BR/common/shadow.png conflicts between attempted installs of kde-i18n-Brazil-3.5.9-4.fc7 and kdelibs-3.5.9-5.fc7"
So this appears to be fine if multiple KDE packages share the same files (ie it's a single app). However on second check using:
$ rpm -aq|grep kde-i18n-Brazil
I probably won't satisfy the Missing Dependency errors I'm seeing. So I opt to remove the Brazil KDE package and install it later, if I need it:
1] I removed the package from '/var/cache/yum/updates/packages/' folder. This is where yum places packages it downloads and to ensure it doesn't try to install again, I remove it.
2] Remove the old FC6 package I had with 'rpm -e kde-i18n-Brazil'
In addition to that, I set some yum configuration parameters to get some more errors/warning that could be breaking my installation:
debuglevel=10
errorlevel=10
(If you don't have this already set from previous upgrades) in /etc/yum.conf before running 'nice -n 19 yum -y -C update 2>&1|tee ./FC6toFedora7-upgrade.txt' so I can analyze the data after. The debug level started producing much more output. This was good. All of the above yielded in two messages showing up:
1) "between attempted installs of "
2) "conflicts with file from package "
Both of these conflicts I needed to remove since they were between existing packages and what was being installed. To resolve these, I remove the old existing packages:
$ rpm -e kon2-0.3.9b-26.2 pccts-1.33mr33-11 libXvMCW-0.9.3-1.2.fc4
$ rpm -e kde-i18n-Brazil
ERROR YOU MAY RECEIVE
Updating : system-config-bind ################### [1672/3213]
I/O warning : failed to load external entity "glchess.schemas"
Failed to open `glchess.schemas': No such file or directory
Updating : gnome-games ################### [1673/3213]
Updating : xorg-x11-drivers ################### [1674/3213]
warning: /etc/xinetd.d/ktalk saved as /etc/xinetd.d/ktalk.rpmsave
userdel: user iiimd does not exist
error: %preun(iiimf-server-12.2-4.fc4.2.i386) scriptlet failed, exit status 6 libsemanage.semanage_direct_remove: Module bootloader was not found.
semodule: Failed on bootloader!
error: %trigger(selinux-policy-strict-2.4.6-108.fc6.noarch) scriptlet failed, exit status 1 libsemanage.semanage_direct_remove: Module bootloader was not found.
semodule: Failed on bootloader!
error: %trigger(selinux-policy-strict-2.6.4-70.fc7.noarch) scriptlet failed, exit status 1
warning: /usr/share/config/profilerc saved as /usr/share/config/profilerc.rpmsave
In the above case, you may need to remove selinux-policy-strict*. Once you are done with the upgrade, you can reinstall it on your system with yum install selinux-policy-strict. You can resolve the second error by doing something like this:
$ rpm -e iiimf-server-12.2-4.fc4.2.i386
userdel: user iiimd does not exist
error: %preun(iiimf-server-12.2-4.fc4.2.i386) scriptlet failed, exit status 6
$ useradd iiimd
$ rpm -e iiimf-server-12.2-4.fc4.2.i386
$ userdel iiimd
userdel: user iiimd does not exist
$ rpm -aq|grep iiimf-server-12.2-4.fc4.2.i386
$
Verify the kernel is installed with
$ rpm -aq|grep kernel
and reboot if Fedora 7 kernel is installed and that you have followed 1) above. If it is not, you will need to check above steps and your system that, in fact, it did upgrade to Fedora 7 and did not stay in FC6.
Once rebooted and selected the Fedora 7 kernel which booted with a couple of errors since I had a couple of my mounts set without a label instead of changing them as mentioned above in my '/etc/fstab' file:
/dev/hdb7 swap swap defaults 0 0
/dev/cdrom /mnt/cdrom auto noauto,unhide 0 0
/dev/fd0 /mnt/floppy auto noauto 0 0
/dev/hda1 /mnt/c vfat defaults 0 0
/dev/hda5 /mnt/d vfat defaults 0 0
/dev/hda6 /mnt/e vfat defaults 0 0
My main partitions had labels however and is why I was able to mount the OS but not the swap nor the Windows partitions I had earlier. I fixed this by editing above /etc/fstab file and reenabling my swap with swapon /dev/sdb7 once booted to Fedora 7. If you're up for another upgrade, you are now ready to upgrade to Fedora 8. 🙂