Why LINUX won’t conquer the world… yet!

First off let me say I like LINUX, I like LINUX a lot – at least most flavours of LINUX.  I have used and abused UNIX and LINUX and have done so for years, right back to my early days with running UNIX V and VII, through the days of XENIX and then onto LINUX.  I’ve run it on SUN, Apple Mac, HP Workstations, IBM AIX systems, Intel PC and even on a HP 620 handheld.  But here’s the thing I also hate UNIX and LINUX….  I don’t use UNIX or LINUX as my day-to-day OS on my laptop or desktop.

Now with UNIX, it’s a case of getting the relevant systems…  AIX on and IBM Workstation, HP UX on HP systems and so on so from here on out I’ll concentrate on the more cross-platform and generally free LINUX.

Now, given I like it, and in most cases it’s free (OK there are Subscriptions for RED HAT, Novell etc.), it crashes far less than Windows, runs on mostly any hardware you can find, even some old kit, and I could do everything I want on it on a daily basis, then why you might ask am I not running LINUX on my day-to-day computer?

Well, let’s firstly look when and why I do use it.

I have in my house several virtual servers running….

  • The server for my email is running on OS X (OK that’s a real G4 mac mini)
  • My network services server.. err ummm actually a HP laptop ( dhcp, dns, vmserver) is Windows this also runs:-
    • The server for my inbound email anti-spam and anti-virus – Linux
    • The server for this site is running – Linux
    • The server for my network monitoring – Linux
    • The server for my media sharing – Linux
  • My Workstation… err ok… 4 year old Sony Laptop is running Windows 7

So, why the mix? And why not run Linux on my workstation?  Well each on these servers is actually running different versions of Linux depending on

  • A the mood I was in when I installed them
  • B the packages running on them
  • C what came to hand when I installed them

Hence there is Debian, CentOS, Ubuntu and Mint.  But, you must still be asking why not stick to just the one flavour of LINUX?

So, I’ll recant a little story here…..

I’m currently working on my Cisco CCNP Security, so like most people working with Cisco, we tend to have a home ‘lab’, as well as using kit in the home.  In my case that adds up to a total of about 10 routers, 8 switches, 2 access points, an IDS, a ASA firewall and an older Pix firewall (and that’s just the Cisco kit!!)…

Anyhow, the ASA firewall has some interesting features, and as such it’s actually ‘live’ 99% of the time between my home network and my ISP’s ADSL modem.

Like most things Cisco, unless you spend ‘loads of money’ some of the more interesting ‘features’ are not enabled as they need an additional license; so when I found a post on The IggBlog about “Netting the Botnets with Cisco ASA Without a License” I thought I’d give it a try….  I seemed straight forward enough…  Linux box + perl script + internet access + Cisco ASA firewall = happy me :)

So, as in most ‘experiments’ I fired up a new virtual machine.  I created a simple spec, 1 cpu, 512k memory, 20Gb hard disk, on my VM Server, then installed Linux server (Ubuntu x86).

For the non-Linux folks reading this, a quick pointer on Linux….  Linux comes in lots and lots and lots of flavours, there are repositories scattered all over the world for all the different versions and most versions have an ‘easy’ method of installing a free package… IF you know what you want to install…  Some come as ‘binaries’ in the same way as a Windows program is an .exe and some are ‘built’, the package management system will work out the dependencies, and get the relevant files, and download and install what is required (it’s more complicated than that, but that’s the gist of it).

Now, this is where the ‘fun’ starts, you see the Perl script that started this all was written to run on OpenBSD, so several things would have to be changed – I knew that from the start.  What I didn’t know was that it was only when I started looking in detail I saw I needed a couple of programs – lynx being one of them.  No problem, I’ll just install it….

But, Ubuntu wanted to make this a fight, and pushed back…

I issued the command…

apt-get install lynx

I got back a big FU from the server in the form of..

Reading package lists… Done
Building dependency tree
Reading state information… Done
Package lynx is not available, but is referred to by another package.
This may mean that the package is missing, has been obsoleted, or
is only available from another source
E: Package ‘lynx’ has no installation candidate

In other words, nope it just isn’t going to happen…  Now, in ‘normal’ cases of this I do a quick ‘duckduckgo’ search for Ubuntu and lynx, so that’s just what I did.  Now this is where I realised it was going to be a real uphill struggle…  You see the folks who do the naming for versions of Ubuntu have had some ‘fun’ over the years with the releases, I was using 12.04.3 LTS which is called ‘Precise Pangoli’, with previous releases called ‘Hardy Heron’, ‘Jaunty Jackalope’ and yep the one that was going to cause all the problems ‘Lucid Lynx’, so all the searching is linked to that… aaaahhhhhggg!

So, I’m now downloading a copy of OpenBSD, as I type this….  This, is the reason I have so many different flavours of Linux running, and why I tend to know all to some degree and never become an expert in any of them…  It’s just too much hassle.  They, almost don’t want you to master them, because, even though they all have a ‘common’ start, they all seem to of run off in different directions, some almost being the same as others but many so different it’s like someone talking in Latin to an Italian, sure some bits might be roughly the same but other parts… are just too different.

I end up feeling like the car mechanic at a local independent garage, sure I understand the basics, and I know when I need special tools, and I can do a lot of the work, sometimes needing to look at manuals, but for some jobs you just need the dealership.

Now I do get the fact that people who write Linux like to have some unique features that might make you want to run their version of Linux instead of some other, and like cars there are people out there who use them as they get them, and others who customise them so much it looks like another type of car.

The difference here is that you get a car from Ford and it has 3 pedals a steering wheel and gear shift, you get a car from BMW chances are you’re going to find that the steering wheel, brake, clutch and accelerator all work pretty much the same… they don’t swap the brake and clutch over just to be different.

With cars over the last 20 years or so we’ve seen companies working together, to build cars based on a common platform, ok the body might look a bit different, and the interior might be different, but the underlying car is the same.  It reduces research and development costs, it makes repairs cheaper and parts are often interchangeable.  The people who build Linux could learn a lot here.

Moving back to IT, a few years ago people were trying to make tablet devices, PDAs and smart phones, there was Windows CE, Windows tablet editions, Linux, Web OS from HP, Nokia, Symbian, java and so on, and no clear winner until Apple came out with the iPhone and iPad.  The best the others could come up with was Android.  The thing here was one Android device didn’t need to look or feel like another, Sony would ‘tweek’ it, Samsung would ‘tweek’ it, yet you could still go get an app from the play store and chances are it will work on more than just the one Android device.  It’s easy to find and install an App on ios or Android, try that in Linux, even if you have some idea on what you’re doing.  Even Apple and Microsoft have ‘cloned’ the idea of the App store for the desktop.

Linux could learn from the tablet and smartphone wars; the likes of Android and it’s battle with Apple’s ios with Windows coming in a late 3rd.  Until then I can’t see Linux taking on Microsoft for the average desktop.