Nicolas314

All my geeky stuff ends up here. Mostly Unix-related

Unix background

leave a comment »

Just to provide some background information: I started working with Unix in 1991, first on antiquated (even by then) HP workstations, then on Sun Sparc when their OS was still SunOS and not yet Solaris. I was then coding real-time data processing stuff in C (K&R flavour) and Unix was the best there was. Home PCs were just fancy things for geeks, the OS choice by then was either DOS or Windows 3.1 which was a disaster, with uptimes of the order of an hour at best. Needless to say I fell in love with Unix immediately.

What got me most was the wealth of information and the very large number of simple yet powerful commands available at the end of your fingertips. You could do anything you wanted provided you knew there was a command for it! So I started my homework and read all the man pages I could find from top to bottom and reading them again just to be sure I knew them all. I was hooked. Of course this happened in a friendly environment surrounded by true geeks who knew all about processes, pipes, file descriptors, device drivers, memory handling, you name it. We also had the local vi guru who taught us all about single-letter magic instructions that let you do a day’s work in the blink of an eye. This period was intense and rich with new experiences and I knew the time and brain matter I was investing into this was something I would never want to loose.

In 1994 one of the geeks in the team brought his home PC with him, bragging about the fact that he had installed a complete Unix system on it. We could not believe our eyes. I had heard rumors about it but this was truly the coolest thing ever! At that time I knew I was about to leave this job and I was already thinking about how I could maintain this Unix investment I had made. I could not afford a workstation but I had my own PC alright, so this “Unix for the people” seemed exactly the kind of project that would hook me up. This was Slackware Linux and my first contact with a Linux distribution.

Several months later, having changed jobs (and countries), I found myself working in a place where PCs were commodity. It did not take long for me to grab an old piece of junk and install RedHat Linux on it (4.1), which I had bought for a hundred marks (50 euros) in a dark corner somewhere near the train station where all computer stores in the town can be found. The first time I saw it boot after install was quite a thrill and I kept working on the machine until the disk was full with software. I was lucky enough to work in a place where we had a 34Mbit/s Internet connection, a major node at that time (1995). Finding new software and experimenting was like a permanent effort for me to try to grab knowledge of everything that had happened so far in the open-source scene.

At that time I was mainly involved in programming in C on Solaris (2.5), HPUX (9.0), IRIX (SGI), Ultrix, OS-9 (a real-time Unix-like running on Motorola chips on VME boards) Dec/Alpha, and some BSD derivatives. Linux was just a hobby compared to the seriousness of all the others. All Unixes seemed alike and Linux was always the only one out of line with some quick and dirty hacks that worked nowhere else. Clearly, POSIX compliance was a faraway goal and we could not use Linux as a reference for development. There was the Unix way and the Linux way, which remained a moving target at that, since POSIX compliance very much depended on the good will of the kernel contributors.

I had kept this Linux box in my office as a pet project, something I switched on any time I could find a moment to dedicate to it. I wiped the disk several times to reinstall several distributions and quickly became an expert at finding installation bugs. RedHat was the distro we used most, SuSE and Slackware coming close behind. When I first plugged this box onto our network I called the IT guys to get an IP address and machine name (no DHCP at that time). When the guy asked what kind of machine was going to see the great flux of bits, I proudly answered it was a Linux box. The next minute I had the IT manager in my office shouting that as long as he was there, no hacker machine would ever come onto his network. It took me a while to get him out of the office and I finally got my IP address but his warnings were serious: the first network issue caused by my box, it would be taken out of the great Internet flux forever. Blimey. Whatever, it was hooked in. It was still connected when I left the institute 10 years later.

Later on, Linux took more and more weight in our gear. At some point I was doing administration for all Linux users in the premises since the IT was against “hacker” stuff. We got hacked alright, I had no idea about network security at that time. Mind you, I was still reading my e-mail through a telnet session initiated from any institute I happened to be visiting on the planet. We had no firewalls, every single one of our machines had what is called today a public IP address (our network was 100% addressed on the Internet), and we relied mostly on other gentlemen on the network to behave and to not try and guess our passwords while we were not looking. About a year after the IT manager had told me he would not tolerate any Linux box around him, the IT finally got the message and started supporting Linux as a corporate-approved OS. I guess most of the admins were running Linux at home anyway so they were addicts themselves.

Since then I have been lucky enough to keep working with Unix boxes except for a short 6-month period where I had to code on an NT box in an old C++ flavour. Linux has spread everywhere and it is rare to find a company that is not running at least its backbone services on some kind of Unix server. From what I gathered cruising around Europe, Linux is becoming the #1 desktop OS in most engineering departments, whereas marketing and sales people tend to remain faithful to their Windoze boxes. As long as everybody is happy…

From a distro point of view I had lots of experience with the big 3 pros: RedHat, SuSE, Mandrake (now Mandriva) at work, and extensive experience with Debian and Ubuntu at home. Having tasted both rpm-based and apt-based distros I can definitely tell the latter is far beyond in terms of maintenance ease, convenience and usage simplicity. I regularly snoop around BSD derivatives but so far have not been convinced by their packaging system. They are great to build dedicated machines from scratch but do not evolve easily, which makes them in my mind hard to use for desktops though the future will probably tell me wrong.

Other interesting Unixes are QNX which I spent a lot of time studying in depth, and Solaris 10 which is finally going to get open-source in 2007. When I started learning Unix in 1992 I would have given anything to be able to see the source code for many Unix commands. I could finally indulge myself in reading pages and pages of basic Unix stuff when Sun released the source code to Solaris base last year and it is like all answers are finally revealed. Solaris 10 may have a bright future and could be a good candidate to beat Linux in many places, especially since we can now modify the source and re-distribute it around. Time will tell.

Advertisements

Written by nicolas314

Thursday 15 June 2006 at 11:19 pm

Posted in Unix

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

%d bloggers like this: