Skip Navigation Links

Page One

Campus Computing News

Academic Mainframe Services to be Terminated

This Just In . . .

Conference Proceedings Available Online

Today's Cartoon

RSS Matters

SAS Corner

The Network Connection

Link of the Month

WWW@UNT.EDU

Short Courses

IRC News

Staff Activities

Subscribe to Benchmarks Online
    

WWW@UNT.EDU

Resource Management on a Budget: Part I

We are reprinting this article from the January 2003 Benchmarks Online to get you ready for Part II, coming next month. - Ed.

By Shannon Eric Peevey, UNT Central Web Support

In preparation for a conference in April, I have started to accumulate information on inexpensive ways to manage resources, in particular, visual resources.  As most of you know, the Texas State Legislature is about to convene again, and the economic outlook for state-funded institutions is looking bleak for the next fiscal year.  As we see the private sector scale down, and the lay-offs continue, it can make even the safe haven of a state job a bit unsure. Even if our jobs may not be in jeopardy, our budgets definitely are...  At the University of North Texas, we have been feeling the economic crunch this year, and expect to feel even more next year. With this in mind, I am always on the lookout for ways to maintain cutting edge technology, while not spending the dwindling budget that other people in my university desperately need.  This leads me to the subject of this article,  reviving out-of-date machines through the use of open source operating systems.

The scenario...

My wife and I enjoy going to have Chinese food at many of the wonderful restaurants in the Garland/Richardson area, and during one of our adventures, we noticed an out of the way store that sold software and computers.  On a whim, and because I am a computer geek, we stopped by, and my eyes popped out when we saw old desktop computers for $15...  Sure, they were old Compaq Desktoppros, but I knew that they could be used for some wild scheme...  Hmm...  Pentium 133's, 32 megs of RAM and 1 gig hard-drives...  What could they be used for?

Aha!!

What could these machines be used for?!  Let me tell you.  P133's could work great as a router, web servers, desktop machines, proxy servers, and can even be clustered, in large enough numbers, to be a rather competent super-computer.  How is this possible, you might ask?  This is possible through the use of open source operating systems, Linux and FreeBSD, (and it's siblings, NetBSD, and OpenBSD.)  Many do not realize that these operating systems are optimized to work on old hardware, and can take that hardware, and make it seem young again :)  

My Scheme

Through my work, and interest in computers, I have long desired to learn more about routing, load-balancing, and clustering, (as in process-sharing among multiple machines), for quite some time.  The problem has always been the lack of hardware to do it.  Most desktop computers, even used computers, are so overpriced, IMHO, that I would rather buy new machines for $100 - $200 more.  Therefore, when I saw the old Compaq computers for $15, I saw my chance.  We backed up my truck to the store, and drove away with five computers, a 24-port hub, and various cables, wires and keyboards.  The time was now.  My “scheme” was to build an a load-balanced web cluster from these machines.  One machine as the load-balancing router, two machines as the load-balanced web servers, one machine as the database server, and one machine as a storage device, to hold the web content.  Now that I had the hardware, I needed to test a variety of operating systems to see which would meet my needs most appropriately for this “scheme”. 

Enter the Operating Systems...

The first operating system, or OS, that would come to many people's minds is a version of a Microsoft server OS, such as, Windows NT, or 2000.  But, Windows hardware requirements are too great for a machine with a P133, 32 megs of RAM and a 1 gig hard-drive.  (For instance, Win2k Server needs 1 gig of storage for the OS by itself, not to mention a minimum of 128 megs of RAM.)  Besides, the cost of licensing the OS would obviate the savings on hardware, and the operating system does not give me the power and flexibility that I desire in my test environment.  Therefore, I began to look at open source OS's that would work well in this environment and give me the power and flexibility needed to create a test environment.

Red Hat Linux

Long a favorite of Linux users in the United States, Red Hat is a fairly mature Linux distribution.  (You will understand what I mean by fairly mature later.)  It is the standard distribution for many institutions, and it has a good working relationship with many large commercial corporations, such as Oracle, Sun, and Macromedia.  These relationships, as well as, the popularity of this distribution make it very easy to find software, commercial and open source, that are configured to work with the directory structure, the package manager, and the libraries that are shipped with Red Hat.  As of the writing of this article, Red Hat has released version 8.0, which incorporates a nice desktop scheme, installer, and a fairly up-to-date kernel (2.4.18).  (The latest stable is 2.4.20).  The gui installer finds most of your hardware, and configures the X Windows system, (the system that is used to run a gui desktop on most Linux systems), rather painlessly, (unusual for most Linux distributions).  You log in and go...  Very user friendly! 

Reason I didn't choose Red Hat Linux:  Red Hat has an minimal install size of over 400 megs, (without C compiler and gui desktop).  Also, I have never had much luck with the RedHat Package Manager, or RPM, and would like a better package management system, if possible.

SuSE Linux

My favorite distribution for the last two years.  This distribution is very popular in Europe, and, as everything German, is very well engineered.  It uses the RPM system, and has a very nice gui installer that also finds all of a computers hardware fairly accurately.  (I did an FTP install on my Toshiba Satellite laptop, and didn't need to configure any additional hardware after the installation :) )  The company stays very up-to-date with packages, and includes KDE 3.X as it's main desktop environment.  (In my opinion, the most powerful and easy-to-use desktop environment.)  SuSE also ships with the SuSE Firewall, and SuSE Firewall 2, which make it easy to create rules governing Virtual Private Networks and De-Militarized Zones, and the packets that route through the SuSE box.

Reason I didn't choose SuSE Linux:  For all of my grand-standing on the SuSE distribution, there is a glaring flaw...  They do not have ISO images available on any FTP sites.  This means that you either need to buy the CD version from a store, (yuck!!), download the distribution from an available FTP site for every machine, or create a mirror of the FTP site on your servers...  Because I only have a 56k connection at home, I prefer to work from CD, instead of waiting for 20+ hours for the files to be downloaded remotely.

Peanut and Vector Linux

In my search for a small distribution of Linux, I began to search through many of the interesting “minimalist” distributions that can be found in the lists of Linux Online.  (You may not know this, but there are many Linux distributions that fit on a single floppy disk!) Of these choices, two distributions seemed to really catch my attention:  Peanut Linux, and Vector Linux.  Peanut Linux is a 210 meg download, and is designed to be a simple desktop system with an easy setup.  This distribution seemed to be very popular, but it lacked one important element...  A C compiler.  This was definitely not a server distribution.  After discovering this fact, I looked to an alternative that came up in the same articles, Vector Linux. 

Vector Linux is a slackware-based mini-distribution.  (Meaning that Slackware was used as a starting point, and then modified to become a completely separate distribution.)  The installer is text-based, and easy to understand.  I installed the distribution, without a gui desktop, in a whopping 260 megs of storage.  This including a C compiler, SSH, (a more secure replacement for Telnet), and most of the tools that I would need to run a group of load-balanced web servers.  I was impressed!  (According to the reviews, the gui desktop was very easy to configure, meaning that this would be a great desktop distribution too.) 

Reason I didn't choose either Peanut or Vector Linux:  Peanut's lack of a C compiler killed it immediately.  It seems that the software that would be available for this distribution would be precompiled software.  This is not appropriate for a server environment.  Vector Linux was a great distribution that would have met most of my needs...  Except, it did not have the ability to do a network install.  (The Compaqs only have a floppy, so I was planning to boot from a floppy disk, and then automate the installation, much like the JumpStart, (Sun Microsystems), or KickStart, (Red Hat) tools.)

Slackware Linux

Since we talked about a Slackware-based distribution in the previous section, I thought that I should take a leap into the dreaded world of Slackware Linux, the oldest and “most difficult” distribution with which to work.  (This was the information that I had gleaned from countless reviews and Google Groups messages...)  Was I surprised to find that I was wrong!  The install was very easy.  I chose the standard install for newbies, and was prompted for all of the information that was needed by the installation program.  Very nice!  It even prompted me for all of the optional packages during installation, so that I was able to fine-tune the installation to my needs.  Very nice!  (The final install was about 350 megs.  Well within my target range.)  I also had the option for a network install, so that I could boot the machines from a floppy, and then install from another network server.

Reason I didn't choose Slackware Linux:  The reason that I didn't choose Slackware, was that I didn't know how popular the distribution still is...  (After the major distributions, such as Red Hat, SuSE and Debian, have passed Slackware in popularity, I didn't know what the future might be.  Would Slackware be around in five years? Ten?)  Also, I had difficulties with the installation of Lilo on the Master Boot Record, and ended up using a boot floppy instead.  (This also happened with Vector Linux.)  Finally, I was looking for a better package manager than I had been using, (RPM)...  Slackware has a package manager, but limited dependency checking...  Sorry, Slackware!!

FreeBSD

Next, we are going to step outside of our Linux distributions, and take a look at one of the open source versions of Unix.  The difference between Linux and Unix can be simplified to the kernel of the operating system.  (As a matter of fact, that is the main difference.)  The Linux kernel was created by Linus Torvalds at the Computer Science department at the University of Helsinki, Finland, and was originally based on the academic-unix-based kernel, Minix.  Therefore, any distribution that uses this kernel for their distribution is called Linux.  The Unix kernel can be based on any variant of the original Bell Labs Unix.  These can be commercial distributions, such as, Sun Solaris, SCO, or academic versions, such as, BSD, from the University of California at Berkeley.  That is where FreeBSD comes into the picture. 

Originally, the Berkeley Software Distribution, or BSD, was designed for large mainframes and “super computers”.    But, as prices began to plummet on Intel x86 platforms in the late 1980's, and early 1990's, there became a growing need for a version of BSD that supported these platforms.  To meet this demand, a man named Bill Jolitz ported a version for the intel architecture, based on the open-sourced BSD code.  This was known as 386/BSD, and in 1993 two groups began to enhance and modify the existing port into one of the most stable open source operating systems available.  One of these groups became known as FreeBSD.

FreeBSD is a popular version of Unix, that is designed to run on inexpensive hardware.  This, obviously, caught my eye.  The minimum requirements for the system:  i386 or greater, 4 megs of RAM, and 100 megs of storage.  Wow!!!  The installation is text-based, but fairly straight-forward.  (NOTE:  version 4.5 had a hard time finding the PS/2 mouse when using a Belkin OmniView SE 4-port.  When searching on the newsgroups, I found that this is a problem with lower-end KVM's and FreeBSD.)  The minimal install, around 200 megs, (including C compiler, and various other necessities), was very nice.  Also, the maturity of the product is reflected in the manner that the project is managed.  The FreeBSD team views FreeBSD as a whole, and not as a kernel with third-party applications added, as does Linux, and the team is made up of multiple groups who must test every aspect of an enhancement to the operating system before adding it into the RELEASE, or stable, code-base.  These groups act as auditors, and the stability of the end product is a testament to their dedication.  Security fixes are also dealt with in the same manner.  The security team is presented with a fix for a known security hole, they test it for several days to make sure that the new code won't break the old, and then they place it in the development tree for a time before incorporating it into the stable source tree.  Though I have been a die-hard user of Linux for the past 3-4 years, I find this style of project management a plus.  Also, I like the fact that it is possible to use a version of FreeBSD into perpetuity.  (ie. It is still possible to install FreeBSD 2.2 – RELEASE on an old machine, and find current packages that work with it.  (FreeBSD 2.2 – RELEASE was released in March 1997.))

Reason I didn't choose FreeBSD:  Though I wanted to use FreeBSD on my old machines, I found that Macromedia ColdFusion Server did not support, and had no plans to support, a version for FreeBSD, though there is a version for Mac OS X which is based on the FreeBSD kernel. :(  (I want to work with these old machines to test various dynamic content servers, ColdFusion being one of them.)

Debian Linux

Or more appropriately Debian GNU/Linux, is one of the true open source Linux distributions.  The development community, made up of over 900 developers, has created a “Social Contract” with the open source community to keep Debian 100% free, and will not add any component to the operating system that is not 100% free and open source.  (All software that is useful to end-users, but does not open source its source code, can be used, but will not be officially added to a release of Debian.)  They have also striven to have a stable, error-free linux distribution.  To this end, the Debian Community does not contain all of the newest and best versions of third-party applications, or the kernel for that matter, but relies on versions that have been tried and tested. 

The newest stable version, is 3.0 release 1, and the installation of the distribution can take a little trial and error to get correct.  (ie.  The partitioning and initialization of partitions took a while to understand.)  Otherwise, the installation was fairly easy, and the minimal install was about 182 megs.  (This included everything that I needed, except the web servers and the openssl library.  After installing these, the total install was 190 megs.  Not bad!!)  The package management tool that I enjoy using is the “apt” tool.  This tool is configured during installation, and can find application packages from multiple medias.  (I've tested the CD-ROM and internet downloads, and have been very pleased with the results.)  If you can't find a package on the main source sites listed in the /etc/apt/sources.list, you can search the main web site for the location, and add it to the sources.list file.  Run apt-get update, and then apt-get install package, and the apt tool will find, download, and install the package and it's dependencies with no work for the user.  (It's a great package manager!!  I don't have much experience with the “ports” tools on FreeBSD, but I imagine, it must be very similar.)  Debian also has an auto-install tool called Progeny.  This tool will help me to reinstall the appropriate image to any new machines that I would like to add to the “web farm”.  Also, with a growing development team, I can be assured that Debian will be around for quite some time, and that my support needs can be met on the internet.

Reason I chose Debian Linux: I chose Debian GNU/Linux as my open source operating system, because it fit into my hardware needs.  With a minimal installation of under 200 megs, Debian will allow my old Compaq machines to come to life, (with room for log files, and mail queues! :) )  The package management tools will allow for easy upgrades, and make security fixes a breeze.  Also, because it is a Linux distribution, I will be able to run Macromedia ColdFusion MX on these machines...

And there you have it!

In this article, I attempted to look at various distributions of open source operating systems.  These included distributions of Linux, and FreeBSD, a popular open source version of Unix.  Though it would have been unwieldy to explore each of these operating systems in depth, I made the attempt to qualify the evaluation process by creating a particular environment, and problem, that I was trying to solve with an open source operating system.  By doing so, I was able choose 4-5 criteria for which I was evaluating, and able to hit these points in the descriptions.  Though this may be a hypothetical situation, as used in this article, the situation is not at all unusual in the “real” world.  I feel that it is important for any institution, commercial or state, to evaluate the economic ramifications of discarding “old”, out-of-date systems, in order to maintain the technological edge for end-users.  I am attempting to show that those systems do not need to go away, and that they can actually be brought back to life  with thoughtful consideration to the operating system and applications that run on it.  I hope you will continue with me next month, when we look at the installation and configuration of other open source projects, Apache, OpenSSL, PHP, on our Compaq Deskpro 4000 computers.

See you then!!

Links