Introduction
I was recently invited to comment on the question "I would like to know if anyone has an opinion regarding the BESTEST linux distro for computer scientists..." posed by one of the computer science lecturers. This was my reply.
Which is the BESTEST distro for computer scientists?
Choice of distro only really matters to the person admining and maintaining the box, not the end-user.
Overview of systems I have experience with:
- Gentoo, which is my distribution of choice, is great for technical users who are not afraid to get their hands dirty. Updating and installing new packages is easy, but initial installation and configuration of the system is labour-intensive.
- Ubuntu was designed to be a minimal-effort install. There are no initial package choices to make and very little manual configuration. However, it is based on Debian and is close enough to a standard Debian system that the standard package repositories can be used. Thus, with a small amount of effort, an Ubuntu system can be installed with any Debian package. Just because the default install does not include a compiler does not mean it's difficult to add.
- [KG]noppix has a fairly specific target market. Because it's a livecd, it can only hold a small system (although there are DVD versions available that can hold far more) and is rather slower than a hard-drive based system. It is incredibly portable, however, and I have used a customised Knoppix CD very successfully while travelling. Carrying your personal system on a CD and a flashstick is incredibly convenient -- just don't expect high performance. [KG]noppix is also Debian-based, and customising it isn't all that difficult, although it does require a certain level of skill.
- SuSE is aimed more at the corporate world, where standardisation and support contracts are more important than customisability and performance. That said, it does the job very well and my be a better choice for a large organisation, especially with Novell's backing.
- RedHat/Fedora, in my experience, are overrated. Their configuration tools aren't up to scratch and their default setup is too much of a compromise. It tries to be the best at everything and doesn't quite get there. It may be worth looking at for certification purposes (many, if not most, Linux certifications are RedHat-based) but probably not for a production server or even a desktop box.
Best distro?
The best distro to use depends on what it's going to be used for and how it's going to be set up.
For a LAN setup, a Gentoo, Debian or SuSE system would probably be best. Standardise on one set of tools, but allow students to use whatever they're most comfortable with. NFS-mounted home directories, NIS/YP logins, etc. are obviously a requirement.
For home use, Ubuntu (with the compiler packages, etc.) is probably best for a dedicated linux or dual-boot system, although almost any distro will do the job. Any student with a Linux background probably has a favourite distro already.
A custom [KG]noppix system should be put together (I am available to assist with such a project, I've done it before) to allow students who don't want to install a full system at home to play with on their own time. This will also prevent the "but I don't run Linux at home and the LAN was full" excuse for not finishing homework. The [KG]noppix CD should obviously have the same standard packages as the LAN system (if there is one).
For a "How Linux works" type course, installing a Linux From Scratch (LFS) system or doing a base Gentoo install provides quite a lot of insight into what the system does and how.