Sunday, 3 May 2015

SUSE Linux Enterprise - That was very painful!

I have been using Ubuntu for quite a long time - both Gnome and more recently Unity. I have also used lots of headless Ubuntu servers and back in the day, I even used KDE before it became incredibly unreliable (The WiFi manager still gives me shivers!).

Anyway, I started out on a journey to test Microsoft's new SQL Server odbc driver for Linux. I had previously compared a call to a .Net web service (and onto SQL server) with a call to a PHP web service on Linux calling into the same SQL server and I was disappointed to find that the .Net was significantly faster. I realised that this was possibly unfair since Windows has a native SQL server driver and I was using something called free-TDS which might or might not be any good for performance, there was also the fact that I was doing some heavy lifting in my web service method (encryption and hashing) and at this point, I didn't know which of the parts was actually slow.

Back to today, I thought if I install the Microsoft ODBC driver into a Linux box, I could start my comparison again and hope that the MS driver would perform OK and then I could start working out what is or isn't slow in the web service calls - after all, everyone knows that Linux is faster than Windows right?

The bad news is that the driver is only currently supported on Red Hat 5 and 6 and on Suse Linux Enterprise. The real kicker is that you can't get RH Linux on Azure yet and since I was accessing a SQL Azure database, I wanted to host both VMs on Azure to get consistent performance and ensure my results were not delayed by long journeys across the web from, say, Amazon.

So, SUSE Linux it was. I must admit to never having used it before but since it was only a headless server, it was obviously going to be fairly similar to Ubuntu right? Wrong.

Installation was fine and logging in all worked, I could use things like sudo and the directories were all set out the same. The first thing I wanted to do was edit the sshd_config. The file is in the same location and when trying to use nano, I got the expected error that it was not recognised but that's fine. According to some articles, vi and emacs are available by default but only mental people choose to use those! I wanted nano and it was available for Suse as an RPM so....

...then the pain started.

Download the rpm package and run zypper in nano: fail, dependencies not met. Nice! Welcome to this package manager which neither pulls in any dependencies or tells you how to do it. Clearly the direct approach didn't work so let's find out how to use the built-in repositories. There are some right?

zypper install nano: No package found with that name. Hmm, OK, not in the main repos - a bit strange for such a popular editor but let's dig deeper.

The next article talked about adding a repo so I found a link, pasted the code into the terminal and that went bang because the link was old (on the SUSE website!) so I thought, let us find the directory and add it manually. I dug through and found my release, a folder called editors with loads of rpms in it and added that as a repo to my box. The "add" worked OK so then...

zypper install nano: No package found.

Sod that, I'm off. I deleted the box and will probably never return to Suse, I'll just have to wait for the Ubuntu version of the driver or give RH a try.

In many areas of life, for something to survive, you have to attract new people and their pain level of introduction should be low. Even on the forums I found people trying to say how amazing Zypper was yet, I couldn't even do the most basic thing. I couldn't find helpful instructions (always the scourge of computer questions which hit about a billion websites on Google) and even on a forum where someone asked a similar question, he was basically told to read the documentation as if that is ever helpful for newbies (I did read the docs and like most Linux utils, there are a million options and the documents are not user friendly at all, not for newbies).

Very sad really, the two things you do after a new install is edit some files and install some packages and both of those tasks were basically too hard for me (or not worth any more time, I probably wasted 45 minutes trying to work it out).
Post a Comment