Early last year I wrote how I was concerned about the progress and future of the CentOS project and was considering other options.
As of today, I’ve now shifted my primary workstation (Lenovo X201i laptop) from the somewhat out of date Fedora 13 over to Debian Stable/Squeeze.
The main drives for this change were:
- Fedora 13 was out-of-date and lacking security fixes, hence requirement to upgrade.
- The logical replacement, Fedora 16, now ships with GNOME 3 which I found to be buggy and a regression to my work flow and requirements (not going into details here, but essentially issues with dual screens, workspaces and customization of toolbars).
- Desire to seriously try Debian as a primary system with the purpose of evaluating it’s suitability as a replacement for my CentOS servers.
- Requirement for a distribution that made major release upgrades feasible (Fedora can do version jumps, but not recommended, making it a tricky process to find time to do a laptop upgrade/rebuild).
- Distribution standardisation across my server & workstation environments.
- I needed a full reinstall in order to downsize from a 320GB HDD to a 120GB SSD.
- Reliability – my laptop is my primary business machine, if it doesn’t work, I’m going to be living on instant noodles until it starts working. Or even worse, work will buy me a Macbook to use like everyone else. :-/
I chose Debian particularly, since it would be a fine option for replacing my CentOS servers in the future with long life support & stability, it’s large package selection and the fact that it’s committed to freedom and openness (as is Fedora also); all of which made it more attractive than Ubuntu for me, which feels much more desktop and fast release focused.
So far, I’m loving it – the distribution is solid, well built and developer friendly, and the package selection is pretty decent, not to mention apt being nice and snappy (although the SSD sure helps there ;-)
I’ve had a couple minor issues relating to my Lenovo hardware that I’ve been able to resolve and have gotten into building a few Debian packages in order to backport newer versions of programs like Firefox/Iceweasel.
From what I’ve observed with playing with Debian today is that’s a pretty awesome distribution, but not entirely as perfect as some of it’s users like to make out:
- The installer is a bit dated – not due to the text installer (I fucking love text installers! \m/), but rather due to it’s lack of support for WPA/2 wifi access points and also the ability to allow the user to make broken systems without warning (eg no /boot partition when you don’t have enough coffee like me).
- Debian is often credited for having all the packages under the sun in it – whilst almost true, I did note that a number of my more obscure package choices didn’t exist, sending me running for my compiler a few times.
- It would be nice if stable backports tracked some of the common packages that users like updated on older systems – programs like web browsers, instant messengers and maybe even kernels for uncooperative hardware. A user could avoid this by using Debian testing, but there are valid reasons to use stable + some backports over using testing or unstable.
- I think rpm has nicer command line options for directly working with installed or to-be-installed packages than dpkg. Having said that, some of this could be user familiarity/likes, so time will tell as I use it more.
Over all though, these are minor issues – I think it’s a fantastic distribution with so much working out of the box, applications appearing well tested and good online documentation and resources.
I’m currently running trials and comparisons of Debian with my CentOS hosts with a view for replacing my current CentOS 5 instances with Debian Stable instances over a phased migration period, as well as testing features like LDAP authentication and KVM, but it’s looking pretty damn good so far.
At this stage I’ve only used CentOS 6 as a KVM host platform and it seems unlikely I’ll end up deploying any CentOS 6 VMs with all the security update release slowness. With only a couple servers on CentOS 6 altogether, I’m pondering switching them over to Debian sooner rather than later to reduce maintenance efforts.
[FYI, this post isn’t intended as an attack/demands at the CentOS developers, rather it’s recognizing they’re a volunteer team and probably lacking resource – and I thank them for their efforts, but it appears long term it’s not a good option for my requirements.]
It does also raise questions about Red Hat’s RHEL future with engineers like myself – with Red Hat no longer offering a free-as-in-beer-with-no-support option and CentOS being too slow, more geeks like myself might move to Debian. And if we do so, when the next enterprise project comes along, will we be recommending RHEL or Debian?
Red Hat offers the advantage of commercial support, but for a company with their own engineers, Debian may be more appropriate and budget friendly.
Just an issue with your title… ‘apt-get’ has been deprecated since 2006… use ‘aptitude’ instead. The command set covers all of the apt utilities :)
Yeah, aptitude is much nicer with it’s tab completion and gets away from the annoying apt-get vs apt-cache commands.
Interesting a lot of the debian documentation still references apt-get, so there might be a big cleanup job needed at some stage if they are serious about deprecating it.
I’d suggest even having apt-get as a symlink to aptitude for new installs to maintain compatibility and existing scripts/commands and just shipping with aptitude.
* You should almost never find yourself interactively using dpkg as a normal user. apt-get or aptitude is better; or if you really need a third-party dpkg, it probably should be installed via a config manager like Chef or Puppet. One-offs are very rare.
* The typical ratio for apt and stable packages vs custom-built programs is on the order of 1000:1, though as a user you’ll probably interact with them at an inverse rate. It’s totally normal and expected to roll your own apps in ~/ every so often. IMO it’s a feature not a bug. (Though it’s more of a pain if you’re trying to bump up a shared library rather than an app.)
Welcome to Debian!
Yeah, I don’t mind the odd package building, I’m pretty used to it from running CentOS across my servers…. hell, I’m the sort of stubborn person who once backported Xorg & dependencies from Fedora 13 to Fedora 11 and then forward ported a driver in order to make my obsecure Libretto laptop to work. Anything has to be less painful than that ;-)
I have a number of one-off packages from what I’ve built as .deb files. I’ll prob setup a personal repo shortly, but what’s the best command to actually install these once-off packages if not dpkg?
You’re ok with dpkg for some of those cases, it just shouldn’t come up a lot. Personal repo (basically a directory on local FS) is also a good idea – it lets you add your own apt source to install from or deploy to – but I found it tricky to set up right, YMMV.
I didn’t know apt-get was depreciated.
I refuse to install it and here’s why:
root@beaker:/home/tim# apt-get install aptitude
Reading package lists… Done
Building dependency tree
Reading state information… Done
The following extra packages will be installed:
apt-xapian-index aptitude-doc-en libboost-iostreams1.42.0 libclass-accessor-perl libcwidget3 libept1 libio-string-perl libparse-debianchangelog-perl libsigc++-2.0-0c2a libsub-name-perl libxapian22 libxml-namespacesupport-perl libxml-parser-perl libxml-sax-expat-perl libxml-sax-perl libxml-simple-perl python-chardet python-debian python-xapian
As a PHP man, I doubly offended by both Python AND Perl ;-)
I’m a little curious what obscurities debian didn’t already have packaged. Definitely interested in a review from you after having used debian for a couple of months.
Canonical is pretty keen to take some of that Enterprise money from Redhat, and with their LTS desktop/server releases + support offering they might be able to do it too.
The comment about apt-get being depreciated doesn’t sound quite right to me, but maybe I missed the announcement. I still regularly see it being used in answer to help questions in debian channels, and the package is still seeing very regular updates. http://packages.qa.debian.org/a/apt.html
I have been a long time debian/ubuntu user and have recently started trying to contribute back to debian and it is always good to see new users trying it out.
Sorry for the slow reply, finding gaps of time inbetween LCA sessions to make a comment of sufficient details for my liking. :-)
In my case, I needed prpltwtr, which is a twitter plugin for pidgin that I use, which does not appear to be in Debian at all. To be fair, it’s probably quite obscure, I suspect the user base isn’t huge.
I also went and build newer versions of firefox/iceweasel as the version with Debian Stable is too dated, and no newer version existed in backports at the time, along with building newer version of the Linux kernel.
Of course, this is part of me having annoying requirements of wanting a stable system whilst having a few select applications running more recent versions, so I don’t really expect it of Debian to have solved, it’s a reality of any stable platform, be it RHEL, Ubuntu LTS., Debian Stable, etc.
Ubuntu LTS could start to challenge Debian a bit from the appeal of having guaranteed release life spans and a single vendor to hold responsible for any system issues.
But I think Ubuntu LTS’s issue is not challenge from debian, but from Red Hat – there is a long way to go before Ubuntu gets a reputation to be able to challenge Red Hat for the enterprise distribution market – many people still see Ubuntu as a primarily desktop operating system and would avoid for servers.
Plus there’s the fact that vendors like Red Hat have a much more dedicated focus for the server environment and maybe even more importantly, an enterprise application vendor market who recommend/support RHEL primarily, so it’s a bit of a chicken & the egg issue.
Regarding how I find Debian – so far, loving it, expect that I’ll probably do a more detailed update in a month or two with findings, particularly once I have a chance to start playing around with it on servers.
I discovered the Debian mozilla team’s backport of the latest release of iceweasel at http://mozilla.debian.net/ and thought it might be what you’re after.
Unfortunately the reason I found out about it today is that today’s upload of iceweasel 10.0 is uninstallable right now, but hopefully that will be fixed soon. ;)
Oh that’s very cool, thanks for that link. :-)