Smooth upgrade from Fedora Linux 13 to 14 using yum

Last weekend I had the urge to upgrade “viasvr”, my headless low power home server which function as file/storage, ftp, squid proxy, torrent and offsite backup pulling my website data from my hosting provider on daily basis. It is also running Hamachi2 which allows me to securely tunnel my browsing session from an unsecured connection like public wifi to my squid proxy server.

Viasvr, before the upgrade, runs on Fedora Linux 13. My plan was to upgrade from Fedora 13 to 14 using yum, a software package manager that installs, updates, and removes packages on RPM-based systems.

Fedora recommended installation method is with a boot media with the Anaconda installer as detailed in the Installation Guide or use PreUpgrade

PreUpgrade is a slightly different upgrade method where all the packages are downloaded before the system is rebooted into the Anaconda installer.

Fedora had a big NOTE about upgrading via yum:
Although upgrades with yum works, it is not explicitly tested as part of the release process by the Fedora Project. If you are not prepared to resolve issues on your own if things break, you should probably use the recommended installation methods instead.

When upgrading with yum you don’t get any help from Anaconda, but if you are lucky you might be able to upgrade systems remotely over ssh and with limited downtime. (You will still need to reboot to get the new kernel and system libraries/services running) Rebooting after such an upgrade is always very exciting.

And exciting indeed, the upgrade went as smooth as possible.. The following steps are from fedora project wiki1 with some modifications as to suit my environment.

 

1. Clean Stuff

Review and remove all .rpmsave and .rpmnew files before and after upgrading. (And if you have selinux enabled then remember to check security context if you move config files around.)

  • Find unused config files
    Merge and resolve the changes found by the following script: yum install rpmconf; rpmconf -a Now find and remove old config which nobody owns: find /etc /var -name '*.rpm?*'

    Now is a good time to remove packages you don’t use – especially non-standard packages.

  • Find and review "unused" packages
    You can find packages not required by other packages with the tool package-cleanup from the yum-utils package: yum install yum-utils; package-cleanup --leaves. These packages could be candidates for removal, but check to see whether you use them directly or if they are used by applications not backed by rpm packages. Remove them with yum remove <package-name-and-version>.
  • Find and review "lost" packages
    You can find orphaned packages (ie packages not in the repositories anymore) with: package-cleanup --orphans. This will also show packages which have been partially uninstalled but where the "%postun" script failed.

2. Do the upgrade

If you have 3rd party repositories configured, you may need to adjust them for the new Fedora version. If you switch from one Fedora release to another there is often nothing that needs to be done. If you switch to Rawhide from a standard Fedora release (or vice versa) then most of the time you will need to install the Rawhide release RPMs from the 3rd party repository as well (or the standard ones, if switching back).

Go to a text console (logging from the console is the recommended mode, I did mine from a remote SSH connection Smile
ctrl + alt + F2

(or)

log in as root, and go into runlevel 3

init 3

Update yum to latest version available in your Fedora version
yum update yum
Install the new fedora gpg key for the version you are updating to

Keys you may find and verify at https://fedoraproject.org/keys but since this is an upgrade from Fedora 13 to 14, I used the following:

rpm --import https://fedoraproject.org/static/97A1071F.txt
Clean the cache

Then remove all traces of the version you are leaving from the yum cache in /var/cache/yum.

yum clean all
Upgrade all packages

 

NOTE:

Once a live upgrade is started do not stop the upgrade by rebooting, killing the process, or by any other method until it is complete, doing so will cause the affected system to be in a mixed state. Partially the old release and partially the new release. In this state the system will not be reliable and will not operate as expected. you can try running yum distro-sync and package-cleanup –problems to try and fix the problems.

yum --releasever=<release_number_you_want_to_sync_to> distro-sync

I used –releasever=14  

 

3. Make sure Fedora is upgraded

Distro-sync will usually take care of upgrades for the third party repositories you have enabled as well. Confirm with

 yum repolist 

after the upgrade process is over. yum might complain about conflicts or requirements. That is probably because you have used non-standard repositories or installed non-standard packages manually. Try to guess which packages cause the problem (or at least is a part of the dependency chain) – uninstall them and try again. Remember to install the packages again if they are essential.

Ensure that all (new) essential packages from the new version are installed with

yum groupupdate Base

You might want to update other groups too, see

yum grouplist

For example

yum groupupdate "GNOME Desktop Environment" \
"Development Tools" "Server Configuration Tools" \
"Hardware Support" "Sound and Video" \
"Graphical Internet" "Fonts" \
"Games and Entertainment" "Printing Software" \
"Administration Tools" "Office/Productivity" "System Tools"

4. Preparing for reboot ( and pray… lol )

Before booting you should usually install the bootloader from your new grub by running

/sbin/grub-install BOOTDEVICE

– where BOOTDEVICE is usually /dev/sda (If you get an error ‘/dev/sda does not have any corresponding BIOS drive’ from that, then try /sbin/grub-install --recheck /dev/sda).

Also, the order of init scripts could have changed from the previous version. A command to reset the order is:

cd /etc/rc.d/init.d; for f in *; do /sbin/chkconfig $f resetpriorities; done

imageAgain, run package-cleanup --orphans to find packages that haven’t been upgraded.

 

After doing all this, I rebooted the server and did a continuous ping test to know if the server comeback online since there is no display to look at,  I have no indication if there’s any error along the way. I usually had a problem with external storage attached to the server such as USB hardisk specially if they are manually added in fstab entry. The bootup process complain if it find a hardware error and drop to a shell.

And to my amazement it came back with all services intact, up and running. Kudos to Fedora Team for making an upgrade from previous version as smooth as possible even using yum.

The last time I did an upgrade like this from Fedora 12 to 13, it was such a headache it ruined my whole week. Not this time….

[kramfs@viasvr ~]$ cat /etc/redhat-release & uname –a
  
Fedora release 14 (Laughlin)
Linux viasvr 2.6.35.11-83.fc14.x86_64 #1 SMP Mon Feb 7 07:06:44 UTC 2011 x86_64 x86_64 x86_64 GNU/Linux

 

1 – http://fedoraproject.org/wiki/Upgrading_Fedora_using_yum

1,419 Comments

  1. Pingback: http://www.hspcanada.net/about.asp?DrMartens/fyvrveu.html

  2. Pingback: ¥·¥ã¥Í¥ë ÊÖ?¤ ¥³¥Ô©`

  3. Pingback: http://www.dhmo.nl/?type=53822&Page=MIZUNO/wEAXVcU-6860

  4. Pingback: http://www.custommachiningservice.com/?LV/6-20141229095814916-54321-1392.jhtml

  5. Pingback: Film Streaming

  6. Pingback: http://giscreenprint.com/screen.asp?COACH/kbbjjie.rhtml

  7. Pingback: cheap rolex

  8. Pingback: http://www.hspcanada.net/hsp.asp?UGG/arwoony.html

  9. Pingback: ín¹ú ¥·¥ã¥Í¥ë ¥³¥Ô©`

  10. Pingback: http://www.dhmo.nl/?type=60164&Page=LEVIS/CdPPufH-518

  11. Pingback: http://www.stjanoosteind.nl/about.asp?etlkcpm.asp

  12. Pingback: for business

  13. Pingback: http://www.sparrowcpa.com/about_us.asp?DUVETICA/FWSrWYUqRC.html

  14. Pingback: green card

  15. Pingback: naturalization

  16. Pingback: visa

  17. Pingback: http://www.hspcanada.net/hsp.asp?NORTHFACE/pbjyyht.html

  18. Pingback: porno

  19. Pingback: http://www.uppe.nl/Promotie.asp?tiffany/rnckkfw.html

  20. Pingback: http://www.tankstation.nl/yH4P34hHli.asp

  21. Pingback: ¥·¥ã¥Í¥ë¥³¥Ô©`?rÓ?

  22. Pingback: http://www.wareinsurance.com/?MIZUNO/5-20141225120832571-15408.uhtml

  23. Pingback: Limited Discount Womens Air Jordans 3 Fluff Purple Yellow Restock

  24. Pingback: http://www.hspcanada.net/about.asp?CHLOE/cxsjncb.html

  25. Pingback: http://www.tankstation.nl/FolluE5GWX.asp

  26. Pingback: Streaming

  27. Pingback: http://www.hspcanada.net/about.asp?CONVERSE/jogktbp.html

  28. Pingback: http://www.stjanoosteind.nl/jan.asp?fiirikw.asp

  29. Pingback: http://www.pageonedigital.com/home.asp?LouisVuitton/XfHFDt-3175.qhtml

  30. Pingback: http://www.visualasylum.com/zev.asp?CARTIER/3-20141224124406858-37018.shtml

  31. Pingback: http://www.hspcanada.net/news.asp?DUVETICA/wiyycvr.html

  32. Pingback: Party Rental

  33. Pingback: SEO Bristol

  34. Pingback: http://www.dhmo.nl/?type=53336&Page=MIZUNO/wciyJNB-7346

  35. Pingback: http://giscreenprint.com/screen.asp?CONVERSE/gkohvwu.khtml

  36. Pingback: Cb01

  37. Pingback: http://www.custommachiningservice.com/?NEWBALANCE/0-20141229160951722-65010-1921.chtml

  38. Pingback: http://www.spectrumcarelandscape.com?CG/8-20141226224541608-121.yhtml

  39. Pingback: http://www.empac-eap.com/?NEWBALANCE/1-20141225120401645-9345.ihtml

  40. Pingback: http://www.clarkbrothers.net/awards.asp?CONVERSE/6-20141224143951416-13754.hhtml

  41. Pingback: http://www.hspcanada.net/news.asp?FENDI/hoqqsaa.html

  42. Pingback: http://www.stjanoosteind.nl/snow.asp?jsimidu.asp

  43. Pingback: sell your bitcoin

  44. Pingback: http://www.spectrumcarelandscape.com?LV/5-20141226224621186-945.ehtml

  45. Pingback: ¥·¥ã¥Í¥ë ¥µ¥ó¥À¥ë ¥³¥Ô©`

  46. Pingback: http://www.visualasylum.com/zev.asp?BURBERRY/5-20141224124233540-34521.jhtml

  47. Pingback: restaurant equipment

  48. Pingback: http://www.stjanoosteind.nl/news.asp?wkugkpo.asp

  49. Pingback: kasur busa

  50. Pingback: http://www.spectrumcarelandscape.com?MC/6-20141226224732446-2431.fhtml

Leave a Comment

Your email address will not be published. Required fields are marked *