I’m not a fan of any particular OS. Horses for courses. Certain operating systems are tailored for certain tasks, period.
For the end user, Windows seems to be the optimal choice. I know. It’s sometimes clunky, a bit unstable and so on. It is certainly not the best possible OS in the world but let’s face it: it’s the most popular one and it’s not that bad after all. Millions of OSX and Linux fanboys would like to stone me to death for the above but really, who cares? If you’re a fan of Jobs or Shuttleworth, be my guest, I don’t mind. We may even have a pint or two and not fight at all. It’s just a matter of personal preference, really.
For web servers there is no doubts though: Linux is the only reasonable choice. Mainly for its maturity, stability, robustness and software availability. There is nothing even close to Apache (or nginx) running on a decent Linux distro. Even the Allmighty Microsoft were running their microsoft.com website on Linux / Apache combination for a while and switched to IIS only when it was discovered by wide public.
Every linux distro has its set of package management tools allowing for painless (khem) installation of new software and also maintaining existing programs (updates, dependencies, sources, binaries etc). The most popular are: DPKG, RPM, Pacman, Yast, ipkg and whatnot. Each has its strengths and weaknesses but conscious users would agree that Debian’s DPKG wrapped with all the apt-tools is the “bestest” way of maintain packages on your server.
I have been using Debian for years. Not at home as my family would most likely evict me the next day – but on servers. I’m not saying Debian it is the best one (for instance: it is terribly bad to run SQL Server unless you add virtualization layer) but it is the best base for the Apache www server and also I am familiar with it which is good enough for me to stop looking for hypothetically better alternatives. And I have been using APT all the time, and been happy with it. And still am.
APT – Advanced Package Management – is really smart when it comes to resolving complex dependencies. It has a couple of command line tools like apt-get, aptitude, apt-cache, apt-config and a few more; most of them use the “dpkg” command under the hood. Dpkg is the Real Thing; this is the one doing all the package management voodoo.
Recently another APT command line tool became very popular: apt.
Why create another wrapper around dkpg, one might ask?
I am not sure but it may be the progress bar thing that makes apt shine. It has a narrow set of options (when compared to apt-get or aptitude), it does not have an interactive UI (ever tried running aptitude with no parameters?). But when you run things like “apt update” or “apt upgrade” you can see either a nice progress bar glued to the bottom of the terminal window, or at least a tiny textual progress indicator glued to the left edge of the current line. Both are placed in a convenient way (no more progress indicators disappearing on the far right end of the terminal window) and also colored in a nice green-yellow palette, making it even more visually appealing.
On top of this one can’t overlook the simple fact that “apt” is only three letters long. For heavy users this means huge time savings on typing which is always a good thing.
Since the discovery of apt I don’t recall using any other APT tool, really. Not even once.
Use apt, folks!
Now, time to get hammered. It is St Patrick’s day after all, roysh?