Arg. So many flavors. Linux comes in many varieties, and then those varieties have versions. It can be so difficult to choose.
At the first level, Linux is broken up into distributions. There are many different distributions, and while on some level that are all fundamentally different, Many have the same general base. For example Ubuntu, Mint and Backtrack are all derivatives of the Debian distribution, an Operating system based upon fundemental principles and a complex package management system (read more about apt here)
For the next two levels of variety i will be referencing the Ubuntu distribution.
On the second level each distribution has a number of release versions of there OS. They are usually the latest release and a long term support release. The latest release is a stable version of the development version that is actively being worked on, and while it is stable, it is the most likely to break. The long term support release (LTS) is version which is more robust and will be supported further into the future.
At the next level down, each release version comes in a number of version for each CPU type. You can get 64 bit and 32 bit architecture OS and a version that supports arm architecture as well as many others. Mostly likely however you will have an Intel CPU and so will either use AMD64 or i386 versions.
Lets look at an example of choosing a Linux OS. For this example i will be selecting a OS for my server.
First off, we have to make a choice on the preference of which distribution we want to use. I love Debian based distributions, and have recently set up a number of Debian based servers for family friends. As Ubuntu is Debian based, and seems to trend well, i am going to stick with Ubuntu.
Now we need to make a decision of which release to choose.
As I primarily and building an experimental server, to run software that is new and need the all the latest builds, I am going to go with 10.10.
Next, you will need to know what hardware you have. Ideally you should choose AMD64. This version uses a 64bit address system and is far more extensible. Its a little bit better for some processes and not quite as fast for others. If you have older hardware, you may have to use the i386 type. It uses a 32bit address system and is perfectly fine for the home sever.
Always go with the AMD64 version. 64bit programming and process is the way of the future. If you are setting up the server on an old computer running a 32bit only CPU such as a Pentium 3 or 4, you will need to use the i386. The 64bit architecture also allows for much more memory, up to 64GB in the Ubuntu kernel (may be different for server edition), while the 32bit architecture only allows 4GB of memory (strictly speaking you can install software to support more).
You also need to choose which system you creating. This is easy now, where creating a server so we will need the server edition. Below is a description of the different system types for later if you need to know the differences
Server edition has the main difference to all others of a different kernel I/O handler and no GUI by default. despite this you can still install a GUI with apt-get install gnome-meta or KDE-meta packages
Desktop edition is the standard Ubuntu that comes with all the bells and whistles that makes an operating system useful to the primary end users. I has a GUI (Gnome of KDE depending on your choice) and standard applications and accessories.
Netbook edition is a slim and trim version of the desktop edition. As of Ubuntu 10.10 it uses a different graphical rendering program to display the on screen information and has a different layout.
Alternate edition is the same as the desktop edition, however it comes without the live (demo) functionality. This provides a much greater control over the set-up procedure but as a restore disk is more limiting.
My computer is very old. It runs a Pentium 3 and only supports 32bit architecture (I also only have 2GB RAM) so I will be using the Ubuntu below.
This is the version that I will be using throughout the series of setting up a home server.