Last weekend I went through a somewhat lengthy process of upgrading one of my servers from Fedora 6 to Fedora 12. Â The server is vital for a company that uses it, there is more than 2 TBytes of data on that machine, and I only had a weekend to go through the upgrade.
Fedora is a very dynamic distribution, with new releases coming out roughly every 6 month. Â An upgrade backward compatibility is maintained only for the last 2 releases. Â So, I had to first upgrade from Fedora 6 to Fedora 8, then from Fedora 8 to Fedora 10, and then finally from Fedora 10 to Fedora 12.
Of course such a long path would pretty much guarantee that things would break. Â But gladly I didn’t have to fix them for every upgrade, only once, after Fedora 12 upgrade was complete. Â So the actual upgrade routine was rather simple: insert DVD with the new version, reboot, upgrade, remove DVD, reboot. Â I was attempting to boot the system at least once into each new version to see how much stuff would break and if I notice anything going horribly wrong. Â Everything was going smooth, except for once machine refused to boot into the new version (Fedora 8, if I remember correctly). Â That didn’t stop me though. Â Just upgrade to the next one, and then to the next one, etc.
After the upgrade was finished, I installed the updates for Fedora 12 and started fixing things. Â The thing that I was worried for the most was Request Tracker (aka RT3) installation, which is a Perl application. Â As any proper Perl application, RT3 utilizes a whole lot of Perl modules from CPAN and every time Perl version is changed signifficantly, these modules should be downloaded and installed. Â Before, it was a rather slow, boring, and time consuming task. Â Now however things are much simpler. Â Before any perl upgrade just create an autobundle using the command “perl -MCPAN -e autobundle“. Â This will create a bundle with all your current Perl modules. Â After the upgrade is done, run “perl -MCPAN -e ‘install Bundle::Snapshot_2010_01_27_00‘” (where 2010_01_27_00 is the bundle version, as given to you by autobundle). Â Now Perl will download all modules and their requirements from CPAN and install them automatically. Â Pure magic.
Apart from RT3 only one thing broke. Â One that I would expect to break because I don’t follow the development of it that close. Â It was Samba. Â After the upgrade to Fedora 12 none of the users could connect to any of the file shares. Â “Access denied” was given no matter which username and password was used and what was the access level to the share. Â A quick Google search revealed the fix. Â Apparently, somewhere in between Fedora 6 and Fedora 12, Samba changed default back-end for storing credentials. Â A fix was as simple as adding a single line (“passdb backend = smbpasswd) to the configuration file, that switched Samba back to the old backend.
And that’s it! Â That’s all that broke and had to be fixed after an upgrade between 6 versions of a rather dynamic Linux distribution. Â Once again, I am really amazed by how well things are managed in Fedora. Â Kudos and congrats!