In close collaboration with Seoul National University's Structural Complexity Laboratory

 

Linux Distros

Linux distros have come a long way in the last few years. Up till the mid 2000s, you sacrificed a lot in using them, and required a pretty high level of expertise. Today, I think the user-focused distros are comparable in usability to the leading closed operating systems. The enterprise-focused distros are a bit tougher, requiring more knowledge (or willingness to learn), but on the other hand are generally safer. Many of them are good. The two I know most about are Fedora and Ubuntu (others may be equally good, or better for some purposes, but I just don't know enough).

What I use for server systems is Fedora. It's highly secure, generally very up-to-date, and fairly bullet-proof. On the other hand, it isn't always the easiest distribution to maintain. But it's what I would recommend if you are maintaining servers. But I would also recommend

  • Substituting lxde as the desktop manager instead of gnome, because gnome 3 in my experience is currently largely non-functional for typical server architectures
  • Using yum directly and turning off PackageKit (because unfortunately, screw-ups in rpm maintenance seem to be fairly frequent with Fedora, and they're tough to fix from PackageKit)
  • Turning off the 'rhgb' and 'quiet' boot kernel options so that you get to see what's happening during boot, rather than a pretty screen that leaves you completely at sea if anything goes wrong
  • If you want a secure system, ignore all the advice on the net to turn off selinux: selinux is your friend. Learn to work with it, not fight it - especially if you are exposed on the net with a fixed IP address; and read the Fedora pages on system security hardening

I mainly use Fedora for desktop systems because I have to be familiar with it, so using it for desktops as well makes sense for me. However if I only had desktops, I would probably use Ubuntu instead (I keep a couple of Ubuntu systems - this being one - and they seem to require much less maintenance than Fedora). For personal systems, the decision whether to use selinux on ubuntu is more complex - you're trading off convenience for security. But if you're going to use your machine to access financial accounts, I'd turn on selinux (an even safer choice is to boot a system from a liveCD, and use it only for financial transactions - because it's read-only, even if you did pick up an infection in one session, it's guaranteed to be wiped again for the next).