PDA

View Full Version : Procedure for Updating Linux Server?


Riklin
04-10-2016, 04:27 PM
I've been running EQEMU servers for several years now. Until recently they have all been windows based servers. Although they worked, their stability/reliability was always, um, lacking... I created a debian 8 server in January and have been running fine and stable ever since.

That said, I have not done any updating, and would like to. I checked the changelog and it looks like the changes should not break anything on my server. My question is whether there is a procedure or email thread involving the steps necessary to update a server on Linux? I'd rather use some steps that have been verified, rather than fumble through it, probably doing things in a wrong order, etc...

So is there a Linux server update procedure anywhere?


Thanks,
Riklin (HallsHavoc)

Shin Noir
04-11-2016, 02:41 PM
Well, if there's an option to backup, or you have a test server that replicates live, etc, that's usually the recommended for "safe" updating.

That aside, updating on linux is really quite easy.
There is a package manager for virtually every distribution of Linux around now adays.

In Debian, it's apt-get. apt-get has a couple keywords that are useful.


There is:
apt-get update to update your local package repository. This updates your local apt-get repository to be in sync with the latest of your distribution.
apt-get install to install new programs.
apt-get upgrade to apply updates to any previously installed programs. When you run upgrade, it will display the changes set to be applied, and you can manually upgrade single packages as well by suffixing the package after upgrade.
apt-get dist-upgrade to apply any distribution-related upgrades to your distribution. This is to download and install a new kernel, boot loader, or other core components of an operating system.


So with these commands in your mind, you can type this sequence:

# apt-get update
# apt-get upgrade

This will show a confirmation and a review of everything that needs to be updated. Once upgraded, you shouldn't need to restart. (There are occasions this happens, but most reboot-required packages are in the dist-upgrade section).

Run your programs again, and verify everything is working fine. If they are not, review the error and there's ways to downgrade a package it requires if it causes errors. (This is an unlikely case, but just something to mental note).

Then, when this completes, you can type

# apt-get dist-upgrade

And it will confirm and install grub updates, kernal updates, etc as needed. Note that if during a dist-upgrade there is a failure, you can boot your linux from a LiveCD (the one you likely installed linux originally with) and use the older kernel/grub boot loader to get it up again temporarily, and fix it. (Though, this is unlikely to cause an issue unless your setup is unique/wonky).

After a reboot when you run dist-upgrade, if you get presented with your bash login, you're golden!

Run your programs, and ensure everything is still good.

You've updated linux.

Shin Noir
04-11-2016, 02:46 PM
The above is for updating core distribution of Linux, and various linux-specific packages.

To update EQEMU within Linux, that's a different story. There was a weight change fix that went in around Feburary if I recall, it's on the front page by Akkadius and if you do not follow those steps, it will cause a character wipe-like symptoms.

It is heavily recommended to have a test environment that replicates your linux box to run this to ensure a smooth transition.

Obviously, before updating eqemu, do a backup of everything. Your binaries, your source (or at least bookmark the previous version of the source), and the database.

Once everything is backed up, you update your source, and recompile. Once you have binaries, when you run the world binary, it will prompt with the database upgrades.

That's the essence of updating.

Riklin
04-11-2016, 08:33 PM
Thank you for the replies. My question may not have been specific enough. I was referring to updating the EQEMU Server software, not the actual Linux server OS. The server OS I know how to do.

I somehow missed the weight change and how critical it is. Halls Havoc does indeed have a test server instance. We'll make sure and test it there first.

provocating
04-11-2016, 10:26 PM
Thank you for the replies. My question may not have been specific enough. I was referring to updating the EQEMU Server software, not the actual Linux server OS. The server OS I know how to do.

I somehow missed the weight change and how critical it is. Halls Havoc does indeed have a test server instance. We'll make sure and test it there first.

For the most part you just run world from the bash script and pick your options to update each component. Of course that will only get you up to date with your current binaries. As said before, for new binaries pull down the latest git, compile and repeat the process. As Shin Noir said, make sure you have a backup, a lot of things have changed.