Tag Archives: Free Software Magazine

Simplifying to Linux

As a specialist in multiple environments I have spent many years putting together an environment that enables me to do all of the work I need to do.

This makes my network - for a relatively small two person operation - more complicated and substantial than some networks supporting 10, possibly even 100 times that many users.

Why so complex?

Well, I'm a Subject Matter Expert for Microsoft, so I have a Windows Server 2003 box which supports a number of clients (primarily the laptop on my desk, and two other 'test' machines), not to mention numerous virtual machines. Since I run a Windows Server domain, the Windows server also runs the DHCP and DNS services, and using Routing and Remote Access provides shared internet access. The DNS service is seconded by a number of other servers.

As a Mac OS X expert, I have a Mac OS X server which actually runs as my primary file server. This interfaces with the Windows domain and provides backup services for the entire network (using Retrospect), as well as acting as a backup server for DNS and MySQL.

I'm also a Linux specialist. Two of my servers run Linux, both Gentoo. One, an old SPARCstation 10 dual CPU unit just handles SPAM and virus scanning for email. The other machine is a dual PIII unit which runs MySQL, some of my websites (under development for clients) and a testbed MythTV environment.

Finally, I'm also a Solaris expert, so I have an Ultra 60 dual-CPU unit running OpenSolaris - it runs most of my websites that are live (internal only) or staging (in testing before release).

As you can see, complicated. I use RDC, VNC and ssh to manage the machines remotely from my desktop (itself four different platforms) and on the whole I use NFS to share a number of directories from the main file server which I use to swap files between all servers and hosts. All this complexity isn't really a problem - afterall I know all the platforms and environments - but keeping them all running, up to date and backed up can be a mammoth task, even though most of the machines are configured to be almost self-running.

PArt of the reason for the complexity is that these environments needed different platforns. Up until a few years, if you wanted to run Solaris, you'd need a SPARC machine. Similarly, up until the beginning of this year, if you wanted to run OS X, you'd need a PowerPC machine.

Today, Solaris runs on x86, and shortly Mac OS X will to. Also, as Mac OS X Server has matured I find I'm now using the same server platform for web sites and email (Apache, and Cyrus, respectively) as I was using when I ran them on a Solaris x86 server. You see, Mac OS X Server is OpenBSD with the additional interface layer that makes OS X so unique.

The use of x86 as a common platform across all these different operating systems means that I no longer need different machines to run different operating systems. In fact, as an Apple Developer I was given the opportunity to purchase an Apple Transition Kit - one of the Intel-based Macs running OS X that enables us to migrate our applications to the Intel platform. Because it's a straightforward Intel machine, it also runs Windows. And Linux. And Solaris.

I no longer need a wide range of separate machines to run the operating systems I need to support, I just need enough Intel machines available to enable me to run the operating system I need to do the testing, development or investigation I require.

If I eliminate the need for different hardware platforms - could I do the same for operating systems?

If I need to run a specifc OS the chances are that I can use a desktop machine. Since the majority now support x86 I can probably use a technology like VMware or VirtualPC. The exception will be Mac OS X, but I can easily have a desktop machine dedicated to that (since I do most of my writing on an OS X machine) and use one of my other x86-based desktops to run the other operating systems.

With all of these issues in mind, perhaps I could simplify my hardware and instead of using multiple, slightly older, machines to run only one or two services, I could use a smaller number of machines running multiple services. Consolidation.

If I go the consolidation route, which operating system do I choose?

The answer is simple. Linux. Gentoo Linux to be precise. Why?

Well, the two Gentoo Linux servers I already have, and a desktop unit I use for testing, have shown to me how easy it is get to things working. Gentoo is an amazing distribution that makes it bvery easy to set up and install different servers and applications. Once I'd got the base operating system installed, setting up a machine that provided Postfix, Spamassassin, ClamAV and other components required for scanning was disturbingly easy. Aside from the Windows Domain server, all of my other servers are basicallying running and providing Unix services. My websites are Apache, my database is MySQL, my email is Cyrus IMAP/Postfix. I've had similar success with MythTV/MythWeb and Apache/MySQL/PHP/Perl.

So that's what I'm going to do - I'm shuffling off my reliance on a variety of different hardware and dedicated server operating systems and moving to just two, x86 based servers running Gentoo Linux. Administration will be easy, having two systems means that should anything fail, I can always move systems over to the other server - I could even run them in complete tandem if I wanted. And as they'll be running on Gentoo Linux, keeping them up to date is a simple case of running emerge when I need to.

Meanwhile, my desktops can remain blissfully unaware of any changes. In fact, aside from the fact that I'll be connecting to fewer machines, I doubt my desktops will even recognize the changes.

I've got some planning and preparation to do, and I don't expect to actuallymake the migration until the Christmas hiatus when the risk of problems affecting email or active projects is going to be relatively small. Until then, I'll try and keep you posted with the issues and problems that I foresee with my simplifying solution.

Welcome!

OK, so according to one of my friends I have way to many blogs out there and I should stop posting, but really I can't see the problem.

I use blogs as a way of communicating with readers - I write a lot, not just for Free Software Magazine but also for Linux Today, Serverwatch, IBM developerWorks, Computerworld and of course one or two books :)

I also use blogs as a way to publish information in a way that is easy to use (from my perspective) and easy for my readers to read and subscribe too (through RSS feeds, as well as natively through the site). I also use separate blogs so that it is easier for individuals to focus on specific information. I have a wide variety of interests and experience, not just in the FOSS space but also with Microsoft, Solaris, HP-UX, Mac OS X, printing, graphic design and a whole host of other stuff. Now imagine putting that into a single blog...

So, this new blog here at FSM is where I'm going to concentrate on my free software and open source thoughts and I'm really planning on this being a source for more technical material that doesn't fit into one of my other existing blogs. Notice the word planning. Although I do often write thoughts that spring to mind, I like to plan content, so you can expect to see common themes and threads as well as occasional requests for suggestions on content. For example, I've planning on posting some information on how to use some FOSS tools we all know and love for IT Admin, only they are not the ones you might expect!

If you want a more generalized look at all of the professional material I write you may want to take a look at MCslp.com. For an aggregate look at all of the blogging and sites I use and manage, use Planet MCslp.

Any questions, please feel free to get in touch.

Randal Schwartz’s Perls of Wisdom

If you don’t associate Randal Schwartz with Perl then you obviously don’t know how much of an influence Randal has been in spreading the Perl gospel. Randal has been talking about Perl for years, writing articles and contributing to books like the ‘Camel’ (Programming Perl, from O’Reilly). He’s also contributed to the built-in documentation and has worked with the internals of Perl and built various modules and examples. In short, when it comes to Perl, there’s little that Randal either isn’t aware of, or hasn’t already written about.

Hia book, Perls of Wisdom, is a collection of the articles that he’s written over the years that look at specific problems or issues that users have asked him to solve with Perl. Mostly, these are reprints of the original article, but sometimes they have been updated. In all cases you get more than just the scrip that solves the problem, you also get the theory behind it, detailed information on the problem and issues being addressed, and some potential ways to extend it.

For more details, read the full review of the book at Free Software Magazine.

Free IRC Clients

I have a new article up at Free Software Magazine on free, terminal (i.e. non-GUI) based IRC clients. Here’s the extract:

In this article I’m going to look at a staple application of many user’s lives. No, not a web browser, but an IRC client. Internet Relay Chat (IRC) is a simple, but effective, way for multiple users to communicate with each other in an environment that most likely equates to your local bar.

Read on for the full article.

Finding alternatives in developing software

My latest article over at Free Software Magazine is available. This time, I’m looking at the role of free software in development, both of free and proprietary applications. I discuss the benefits of free software and the pitfalls of proprietary solutions. Here’s an extract of the intro:

Developing software within the free software model can be achieved with all sorts of different tools, but choosing the right tools can make a big difference to the success of your project. Even if you are developing a proprietary solution, there are benefits to using free software tools to achieve it. But what free software tools are available? In this article I’m going to look at the development tools available, from languages and libraries to development environments, as well as examining the issues surrounding the use of free software tools by comparison to their proprietary equivalents.

You can read the full article.