Using Linux in a Training Environment
The proliferation of the Linux operating system has done much to stimulate the interests and activities of hobbyists around the globe. Many developers and users are taking advantage of this freely available, 32-bit wonder, as a viable home alternative to a commercial Unix platform. With a multitude of Linux enthusiasts active in key positions the industry, it was only a matter of time before Linux also became a presented solution in the workplace. Even though Linux sports some of the more advanced and innovative mechanisms available, only recently have many organizations begun to accept Linux as a solution for production projects.
My employer, Decision Consultants, Incorporated (DCI), is one of the nation's largest software services consulting firms. I am a technical instructor in our Training Division, which is responsible for creating, packaging and implementing technical training solutions to both our consultant base and external clients. A large portion of this training revolves around Unix-based client/server development. We needed a versatile, flexible training room, capable of facilitating our entire repertoire of Unix-based courses, from Unix Essentials to X/Motif Development. This formula, once successfully implemented, would need to be “cloned” for our other branch offices around the country. In this article, we will examine certain portions of that solution, as well as present an action plan for implementing your own Linux solutions.
The first step in any major endeavor is to formulate a plan of action which will ultimately lead you to your goal. Our plan of action first involved the creation of a list of all the major lab-based, Unix-related courses which would need to be delivered in the training facility. They included:
Advanced Unix/Shell Programming
X Windows and Motif Development
Unix Internals/Systems Programming
Networking with TCP/IP
After the list was created, it was analyzed further to create a list of the tools and host-level resources which would be needed. Of course, all of the classes would require an operating system, a properly configured TCP/IP setup to provide student connectivity and a working Unix shell. A stable C compiler would fit in nicely with the C Programming course, and a feature-packed X server would be needed for the X Windows development course. Another concern was Motif which is available in many forms these days.
Once this list was created, a platform had to be chosen. Given pricing structures of major vendors, such as Sun, HP, DEC, etc., Linux was the clear winner. We could spend several thousand dollars for the latest and greatest version of one of the popular vendor offerings or a mere twenty bucks for a recent Linux distribution on CD-ROM. The choice was not a difficult one to make.
However, the choice of Linux was not based on price alone. As you are probably aware, all of our requirements (with the exception of Motif) have been readily available on most Linux distribution CD-ROMs for quite some time. A number of other nice tools, such as TCP/IP, NFS and a full suite of developer tools, would have cost extra with most commercial vendors. Several inexpensive, Linux-specific versions of Motif are available, such as SWiM, Metro Motif, Mootif and Moteeth.
The total cost for the host-side software load totaled somewhere in the neighborhood of 120 dollars (20 for the Linux CD and around 100 dollars for the X11R6 version of SWiM for Linux). That cost is roughly equivalent to the sales tax you would incur when purchasing a major vendor's bundle.
A typical DCI training room consists of eight student workstations connected to a single host machine on an isolated Ethernet bus. The host machine should have the capability to handle at least eight TELNET sessions or, in the case of our more advanced courses, up to eight X Window sessions. The following is a breakdown of a typical DCI training host:
90MHz or better Pentium processor
16 to 32MB of RAM
Adaptec 1542CF SCSI controller (ISA-based card)
1GB (or better) SCSI drive
Standard issue SCSI CD-ROM unit
Streaming SCSI DAT drive
Generic NE-2000 compatible network interface card (NIC)
Number 9 Trio64 (S3 chip set) video card (2MB RAM on board)
Low-end, LaserJet-compatible printer