How do I develop a plan for upgrading my Linode from an old Debian version?
I have run a Linode since 2005. Because my needs are modest (code testing; 2 very modest, read-only websites), I have only rarely faced the need to upgrade my operating system. Currently I am operating an old Debian system:
$ lsb_release -d
Description: Debian GNU/Linux 8.11 (jessie)
… which means I'm at least 3 versions behind where I should be.
One specific problem I face is that my websites still only run on http://, not on https://. From what I have read, it appears that I will need to upgrade the OS to be able to run https.
What I need to know is whether or not the following plan is generally valid and reasonable.
- Backup my data, probably by subscribing to Linode's Backup Service, at least for the duration of the upgrade process.
- Rehearse shutting off apache2 service and then re-starting it.
- For each of the following Debian version transitions:
8 Jessie -> 9 Stretch
9 Stretch -> 10 Buster
10 Buster -> 11 Bullseye
… shut off the apache2 service, perform 'sudo apt dist-upgrade', restart the apache2 service, confirm that I can perform my regular code testing chats.
- Once I reach 11 Bullseye, follow established guidance for upgrading my web server from http to https.
Reasonable … or off-the-wall? Major pitfalls I should foresee?
Thank you very much.
7 Replies
✓ Best Answer
Hi @jkeenan - There's a guide that lays out the most common methods of upgrading:
https://www.linode.com/docs/guides/manually-upgrading-to-latest-distribution-version/
Specifically I'd recommend a clean install in this case, but you can do so on a new Linode so the current one can keep running as normal until you're ready to change over. Then, you can use the IP Transfer feature to change the IP address from one Linode to the other. Be sure both Linodes are in the same data center, however.
https://www.linode.com/docs/guides/managing-ip-addresses/#transferring-ip-addresses
I'll have to go with @mjones on this one. Doing a clean install and then installing packages, moving files & incrementally testing is probably the better way to go here. Although this process may take longer, it's going to be much less error-prone than serial distro version upgrades.
-- sw
Another vote for doing a clean install on a new Linode and then migrating your website content over from the old Linode. Take your time, be methodical, and maybe keep a downloaded full backup of your old server's files in case you've overlooked anything. Future you will thank yourself ;-)
If you need to keep your current IP address, you can swap IPs whenever you're ready:
https://www.linode.com/docs/guides/managing-ip-addresses/#transferring-ip-addresses
Thanks for your replies. I decided to spring for a new Linode. Over several days I have:
- Copied over most of the files under
/home/
. - Installed most important Debian packages.
- Demonstrated that I conduct my most important everyday activities (which mainly relate to testing of Perl and CPAN distributions).
What I have not yet done is to transfer the configuration files under /etc/
, /var/
, etc. which will be needed to start my apache2 server from the new Linode.
Be careful when transferring configuration files over, there could be references to old PHP versions or other options that may or may not be invalid, or otherwise, depending on what you're copying over and for which programs they are. You may be better off determining different sections of configuration files that are needed, checking to see if there are any changes, then updating them accordingly and copying the appropriate sections, and/or files, into their appropriate locations.
@tech10 is right…you need to be careful about this.
Also:
Installed most important Debian packages.
I would use this opportunity to re-evaluate your idea of most important and consider whether you need some of them at all. You have only to lose clutter if you haven't used a most important package in 2 years or more ;-) You can always get it back if you need it.
-- sw
Thank you for your posts. With regard to @tech10's about configuration files: The files I had personally modified underneath /etc
and /var
were relatively few in number, mostly related to apache2. They were relatively few in number and so I was able to manually inspect them.
With regard to @stevewi's remarks about packages: So far I have been very sparing with respect to installation of packages on the new Linode. On my desktop I have a file that starts sudo apt install
and then lists all that I've installed to date. I simply add to the end of that list when I need a new one. So I'm steadily reminded not to be frivolous with respect to new packages.