- Published on
Upgrading FC19(!) to FC21 on a VPS
- Authors
- Name
- Martin Andrews
- @mdda123
Because of the 'GHOST' scare, and the apparent lack of patched RPMs available for glibc
for Fedora 19, I decided to bite the bullet and upgrade some VPSs to Fedora 21. However, instead of doing the sane thing (creating a fresh VPS and copying everything over) I decided to throw caution to the wind and upgrade the VPS in situ.
Digital Ocean Control Panel = SCORE!
The thing that makes it bearable on Digital Ocean is that the control panel makes it easy to switch kernels (which would otherwise be grub
on a standalone machine).
On the other hand, they don't appear to have all the kernel version available, which means that a straight 'upgrade' needs to be fixed by installing a previous kernel (one which they do have on the drop-down list).
Step 1 : Take a snapshot
(unless you are actually insane).
Step 2 : Step through a helpful script
Check out this script.
However, I went through this step-by step, since running a clean yum
after more than a year of bit-rot would be a surprise.
First, note the kernel that's being run :
# uname -a
Linux d1.platformedia.com 3.9.8-300.fc19.x86_64 #1 SMP Thu Jun 27 19:24:23 UTC 2013 x86_64 x86_64 x86_64 GNU/Linux
Then have a run through the first (uncontraversial) steps :
yum update
rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-fedora-21-$(uname -i)
yum update yum
yum clean all
Then onto the upgrade proper :
yum --releasever=21 distro-sync
This threw up a series of niggles...
Step 2a : Fix dependency issues
yum remove perl-PlRPC-0.2020-13.fc19.noarch
Remember to reinstall its dependencies perl-DBI
and perl-DBD-MySQL
.
yum
runs into memory issues
Step 2b : This is a little disheartening, but the VPS is only 512Mb... So, refusing to give up, shut down running processes :
#service webmin stop
#Stopping Webmin server in /usr/libexec/webmin
service nginx stop
#Redirecting to /bin/systemctl stop nginx.service
service postfix stop
#Redirecting to /bin/systemctl stop postfix.service
yum
+presto runs into memory issues
Step 2c : The solution to this was just to repeatedly re-run yum --releasever=21 distro-sync
- eventually all the RPMs get downloaded / expanded successfully (about 3 iterations required).
Step 2d : Continue with the script
yum remove firewalld-config-standard
# Nothing to do (using iptables)
shutdown -h now
Step 3 : Change kernel on control panel
According to script : same as currently running (fc19).
Power On (via the Panel) takes a while...
Step 4 : Change to upgraded kernel on control panel
Ah - but here's a problem : yum
gave us kernel-3.18.5-201.fc21.x86_64
, but the Panel only lists a previous version.
Therefore, need to install the previous version so that we can successfully switch to it.
So : Search for most recent one listed on DigitalOcean, by visiting the Koju build site, and going to the 3.18.3-201.fc21
page. There snag the three required RPMs :
k=https://kojipkgs.fedoraproject.org//packages/kernel/3.18.3/201.fc21/x86_64
v=3.18.3-201.fc21.x86_64
yum install ${k}/kernel-${v}.rpm \
${k}/kernel-core-${v}.rpm \
${k}/kernel-modules-${v}.rpm
Fortunately, that works.
shutdown -h now
Step 5 : Change (for real, this time) to the FC21 kernel on the control panel
Power On.
uname -a
# Linux d1.platformedia.com 3.18.3-201.fc21.x86_64 #1 SMP Mon Jan 19 15:59:31 UTC 2015 x86_64 x86_64 x86_64 GNU/LinuxSuccess!!
SUCCESS!
yum
complained about
Step 6 : Backtrack over packages that yum install perl-DBI perl-DBD-MySQL
Minor outstanding issue
The Digital Ocean panel still shows 'Fedora Fedora 19 x64' in the droplet's header field (presumably because that's the image it was originally created from).