As my server runs
RedHat 7.3, it seemed time for an upgrade. But before I
did, I thought I'd explore
Debian - on a test
machine.
Installation was fairly simple. I inserted a CD and about
half way through the installation it converted into a network
install - complete with security fixes. I chose a minimal
install, and the result seemed pretty snappy - even though that
machine is by current standards an underpowered Pentium Pro with
64Mb of RAM.
I then used
apt-get to install a few packages
(sudo,
wget).
Again, painless.
Now there is a
new version. I ran apt-get upgrade, and within minutes I
was running the latest without any down time or needing to
reboot.
Apparently, Debian isn't known for being bleeding edge, but if
you want a server that just works and is easy to maintain, it looks
pretty good to me.
I followed the same path two years ago and got the same impressions. I finally got the feeling that when it has to be linux then it has to be debian, for the simple reason that it never let me down. Debian is the only linux distro I've been able to trust completely. Stick with it and you'll never regret your choice.
Correction: Debian can be pretty bleeding edge if you stick to the 'sid' pseudo-branch. I've been running sid for around two years and a half and it only blew on me once, when an unfortunately broken libc package made it to the repository. Of course, like all bleeding edge software, you must be savy enough to know how to fix issues, like broken package dependencies and recompiling packages from source when some incompatibilities arrive by, for example, differences in the GCC version used to compile the package.
Sam, I've had similarly nice results running FreeBSD on low-powered hardware (substituting the ports system and CVSup for the apt-get in your example.) It Just Works (TM).
This is the reason that I prefer FreeBSD for servers for everything non-Java =)
That said, if for political or any other reason you need to use Redhat or its kin, apt4rpm brings Debian goodness to Redhat. [link] I use it on the Redhat 7.3's which we use at work and it is great. The FreshRPM's repository is fine for most uses (ie, personal), but I build my own apt repository for servers at work off of updates.redhat.com.
This has a side effect that different network services can have their own apt channels with their specific dependencies.
you should give gentoo a shot. although its sometimes a bit painful on slow machines since its a source distro so you have to compile everything (they offer binaries too). but i have never seen linux fast like this and it definitly beats debian hands down. desktop linux is actually quite usuable with gentoo.
You could've gotten the same effect by installing apt-rpm on your 7.3 box and doing the apt upgrade routine. Unfortunately, package management remains a large differentiator in linux distributions with apt, yum, and urpmi derivatives fighting it out. That'll probably stabilize now that Fedora's got yum by default.
Then the differentiator becomes the quality, availability, and default installation of repositories. The most sophisticated package management system in the world has no credibility without broad and deep repositories made available by default for average users. These package management systems fall flat on their face in practice when the repository setup out of the box is inadequate.
Debian was way ahead in this regard for many years, but that lead is likely to erode now that it's become a priority for most major distributions. Ximian's probably got the best answer in red carpet, but that presumes you're running X, not a likely config on your old server. Expect to see all these tools wind up in browser-driven web services by the time it's all over.
Regarding the "sid" reference: There are three Debian distributions, "stable", "unstable" and "testing".
Stable is very conservative, modulo security fixes (which come out regularly).
I run Unstable on my laptop and desktop machines where I'm developing software. I've run it on a colocated server where I needed the latest version of something or other, but it does have the occasional tweaky thing that can be a pain to diddle with.
Testing is a bloody nightmare and I won't get anywhere near it except as a public service to the Debian crew.
However... Many developers work against "unstable", so if your need for the latest and greatest involves being on "*-dev" mailing lists, "unstable" is a pretty good way to be days to a few weeks behind the bleeding edge without taking too many risks.
I've been running a Debian server for a few months, before I'd only tried RedHat. The OS has been extremely well behaved, and in general installation/upgrades have been a doddle. I'd very much recommend it for services. But... X stuff has been a nightmare (got a slightly uncommon video chip). Finally got Gnome running after a fashion (vesa) following a lot of dependency battles with apt and dpkg (currently runnning 'unstable').
btw, I believe memory's pretty cheap these days ;-)
Heh. Funny to see some familiar names here. Ever feel like you're the last to know something? Seems like everyone's running Debian these days. I was in IRC with Sam while he was installing it. He asked if anyone was running it. Out of 6 people, 4 were running it, and Sam was on his way to becoming the 5th. I got to witness (in a virtual sort of way) his first "aha" experience with apt-get that he describes, installing sudo and wget. It was anti-climactic in the way that software installation always should be, but often isn't.
If you are using 7.3 and higher, you can get apt-rpm and then issue and apt-get dist-upgrade on that box to upgrade your RedHat Box tthe same way as Debian.
We use a mix here, for servers Debian is sweet, but for wworkstations their beautiful tech is somewhat hobbled by not splitting the distributions into packs, such as a base pack and a gnome-pack and so on. I would really like to have an official gnome2 pack on woody without having to upgrade to testing.
I've had a generally good experience running a testing/unstable system. Testing is my baseline, but if I happen to need the latest version of a package I'll do an apt-get -t unstable [somepackage]. If it can't figure out a way to satisfy such a request I'll use aptitude (the program) to sort out the dependencies. I also have a few non-standard sources in my sources.list for rare packages. With the right "pin" settings /etc/apt/preferences, it generally Does What I Mean - by default packages are installed and upgraded from 'testing', but if I've installed a package from 'unstable' or a non-standard repository it will henceforward be upgraded from that source.
I find that the installation experience for Debian is completely different to that of RedHat. When I'm setting up a RedHat box, I plan it in advance: work out all of the packages I'm going to need so that I can install them when I, the machine, and the installation CDs are in the right place. Doing it any other way leads to the annoying task of locating the right RPM when you find you've missed something.
With Debian, I invariably install the minimum possible system that will get me online. Then I start working with it, and whenever I find there's some application or package that I need but don't have yet, I apt-get it. (Gentoo -- which will probably be my next distro -- provides a similar experience with emerge, as of course FreeBSD does with its ports collection)
I just can't bring myself to trust apt for RedHat.
I haven't had bad experiences with it. I haven't even used it. But I have had enough problems just with official vendor RPMs to instinctively mistrust anything that automates the process. apt is part of the core of Debian, and the project is built up around its use. I trust it. apt for RPM would feel bolted on the side of a format (RPM) that wasn't designed to work that way, on a distribution thats never been noted for its stability or robust dependency management. I'd end up having sleepless nights wondering what it's really doing.
I'm sure you've had no problems with it. And I probably wouldn't have any problems either. But I still wouldn't sleep soundly.
One thing I couldn't find in the docs was the viability of going back from e.g. testing down to stable. If you make the change in sources.list will the installation eventually 'catch up'?
I am running Debian actually since Debian 1.0 regularily (and did play with 0.9something before). It's quite nice if you get the hang of it. I prefer to run stable, even though it's not the bleeding edge of versions. If I need some higher packages, I do backports to stable myself or use prebuilt backport repositories like nobse. Backporting Debian packages is quite easy, as source packages are managed with apt-get, too. I played with other distributions, too - some RPM based ones and some source based ones, most noteably gentoo - but allways come back to Debian. It's just much less admin work than with any other distribution I tried and the used defaults in applications make much more sense on Debian than on many other distributions.
I've been running Debian/testing for 2+ years now. It's lovely! apt-for-Redhat is OK, but it lacks the great package dependency data that makes Debian installation so smooth.