The State of Linux
The latest version of this free Unix spans multiple platforms and offers many sophisticated features
By Jim Mohr
BYTE
January 1997
Imagine a Unix server supporting a dozen users connected via serial terminals. Now add a few more users connected across the network using X Window. Finally, let's add a handful of Windows PCs that use the Unix machine as a file and print server. If you think that the machine can't handle this many operations, just add another processor and let the OS perform symmetrical multiprocessing (SMP) to distribute the load. If I were to say that all this is available for free, including the source code, you might think I was joking. If I were to add C and C++ compilers, a text processing system, a spreadsheet, and a Web server to the deal, you might begin to question my sanity. If I were to tell you that most of this software smorgasbord has been available for years, you might begin to question your own sanity and wonder why you haven't checked it out yet.
It's called Linux, and it's a Unix-like 32-bit OS that supports all the utilities, tools, and other features found in commercial Unix products. The latest kernel (version 2.0) provides enhancements such as Java and SMP support, making it better than some commercial Unix offerings. The best thing about Linux is that it's essentially free. However, for this same reason, many people question its legitimacy. Added to the fact that Linux started as a college project by Linus Torvalds, it seems only natural that it would not be something you'd want to run your business on. But as we'll see, the most logical question Linux poses is: "Why not?"
Running Linux
Linux runs on most major processors, such as various species of the x86, t he PowerPC family, the Alpha series, and MIPS chips. It supports most major hardware peripherals, with some caveats. Typically, the developers of Linux hardware drivers are Linux users themselves. If someone wants to get a peripheral to work, he or she either writes the driver or waits for someone else to write one. The positive side of this situation is that since the developer uses the device and ends up with the same bugs as you, problems are quickly fixed, usually in a matter of days or weeks. Another advantage to this arrangement is that the person who actually uses the particular peripheral -- again, typically the developer -- writes the documentation. The negative side of this arrangement is that older peripherals won't garner such devoted support, so finding a reliable driver for vintage hardware, such as an old CD-ROM drive or network card, can be problematic. Furthermore, the person best-suited to write device drivers may be ill-equipped to write clear and user-friendly documentation.
The docume ntation of all commercial Linux distributions appears in the form of HOWTO files. As its name implies, a HOWTO describes how to do something. This can be software related, such as the Firewall HOWTO that describes how to configure an Internet firewall, or hardware-related, such as the CD-Writer HOWTO that describes how to get certain CD-R devices running on your system.
It is important to check if there is a HOWTO for a specific piece of hardware in case it describes problems someone has already dealt with. A good example is the CD-Writer HOWTO. Although there exists a program (cdwrite) that operates CD-R drives, not all CD-R drives work with it. The HOWTO describes how to get the standard SCSI driver to work with specific CD-R drives. Computer-controlled uninterruptible power supplies (UPSes) are another example. Without any direct support from the manufacturers, users have gotten UPSes to work with Linux; their experiences are documented in the UPS HOWTO.
Many of the Linux hardware problems are due to the peripheral being simply too new to the Linux scene, so no driver exists. Other times, changes to the kernel may cause problems to specific drivers. For help, a glance at the Yahoo Web page is a good place to start. For example, when checking the driver status for 3Com EtherLink III Vortex Ethernet cards, I was able to quickly locate patches for the 2.0 kernel, as well as for several other, older releases. The table "Selected Linux Sites of Interest" shows other useful Web sites. There are also sites that provide information in German, Swedish, Czech, French, Italian, Russian, and Spanish.
Perhaps the single most important HOWTO is the Hardware HOWTO. This is the Linux hardware "compatibility list." It describes not only the hardware that is supported but provides tips and URLs for hardware that isn't. "Supported" means only that the standard distribution has drivers for that particular set of hardware. It's always a good idea to check the Hardware HOWTO for a specific periphera l before attempting a Linux installation.
For information on the latest drivers and ports, you should check out the Linux Documentation Project (LDP) home page ( http://sunsite.unc.edu/mdw ). Aside from providing a full version of various LDP documents or "books," this Web site is a treasure chest of links to the latest drivers and patches, as well as to companies that provide Linux software and complete systems.
Running with Linux
If you're asking, "What good is all this if there is no software to run on it," the answer to that is: There is. Besides supporting all the programs that come standard with a Unix system, Linux supports all the network protocols that Unix users have grown accustomed to, like TCP/IP, NFS, and HTTP. In addition, there is a wide range of free applications softwar e such as a text processing system, a spreadsheet, and a database. If these are insufficient, a wide range of commercial software is available.
Not every software product runs perfectly on Linux the first time. Most noncommercial Linux software is available as source code that you compile on the host system. This increases the likelihood that it will work correctly. However, check the program's accompanying README file that describes what steps to take for specific platforms.
Like the hardware, many software products have their own HOWTO. The Java HOWTO describes the steps necessary to get Java working on your system. Java requires support for Executable and Linking Format (ELF) binaries, which is not available prior to the 1.2.13 kernel. In addition, there are known problems with Java for specific versions of Linux.
A common issue with Linux is its compatibility with other systems. While its interoperability with other dialects of Unix is taken for granted, its connectivity to Windows-based PCs m ay be a point of concern. Linux works fine as an Internet server, but can it offer the file and printer services that other Unix dialects can? It can if you have Samba running. Samba is a software package that provides the session message block (SMB) functions required to support Windows for Workgroups, Windows 95, Windows NT, and LAN Manager. In fact, any client that supports SMB can access a Linux system running Samba. The great thing about Samba is that it works both ways, so your Linux system can also access other systems such as NT.
One of the biggest arguments against Linux has been that of support. Because Linux was not developed by a single entity, there is no 800 number you can call. However, Linux is bundled and distributed by a number of companies, as shown in the table "Selected Linux Distributors." If you purchase one of these bundles, you are often provided technical support on basic issues such as installation. Many companies do nothing other than Linux support. Some co mpanies, such as WorkGroup Solutions, not only provide complete systems, including their own version of Linux, they offer consulting services as well. Finally, Linux has developed a very large army of followers able to help since they have experienced the same problems you have.
Industrial-Strength OS
The most compelling aspect of Linux is that it typifies the whole Unix mentality. Unix is a system of choice. You choose how to configure the system and what functions the system has. If you want to implement it on a low-end PC or a high-end workstation, you can. If you need real-time processing, that's available as well. Linux takes this one step further: Not only can you change parameters and configuration as you wish, you can change the basic behavior of the operating system if you need to because you have the source code.
Although Linux doesn't yet run on mainframes, it's just a matter of time. Since Linux runs on every major computer architecture, the odds are that there is a Li nux system that fits your needs. Because of the amount of software and support available, Linux has found a place right alongside Unix OSes from even the largest vendors. And you can't argue with the price.
URL Description ftp://ftp.crynwr.com/pub/kchanges List of kernel changes, including links to sites with this information http://sunsite.unc.edu/linux-source/ The Linux Source Navigator. Linux source code in HTML pages. A must for the developer http://sunsite.unc.edu/mdw The Linux Documentation Project home page; comprehensive set of on-line documents http://vortex.cc.missouri.edu/~rhys/linux.html List of common fixes to Linux problems http://www.10mb.com/linux/ Home page of The Linux Advocacy Project; encourages commercial Unix application vendors to provide a Linux version http://www.li.org/linux-int/ Linux International home page http://www.tu-chemnitz.de/home/linux Information, including books, links to other home pages (most in German) http://www.xnet.com/~blatura/linux.shtml Web Wanderer's List of Linux and Unix resources
Company ------- Linux type Web site E-mail =============================================================================== WorkGroup Solutions LinuxPro http://www.wgs.com info@wgs.com Red Hat Red Hat http://www.redhat.com redhat@redhat.com Walnut Creek CD-ROM Slackware http://www.cdrom.com info@cdrom.com InfoMagic Slackware http://www.infomagic.com info@infomagic.com Debian GNU/Linux Debian http://www.debian.org debian@debian.org Craftwork Solutions Craftworks Linux http://www.craftwork.com info@craftwork.com Delix Computer GmbH DLD http://www.delix.de delix@delix.de Yggdrasil Computing Yggdrasil Linux http://www.yggdrasil.com info@yggdrasil.com S.u.S.E. GmbH S.u.S.E. Linux http://www.suse.de suse@suse.de If you need information in languages other than English, there are a number of places to look. A good start is: http://www.yahoo.com/Computers_and_Internet/Operating_Systems/Unix/Linux/Foreign_Language_Sites/
Jim Mohr is a system and network administrator for Kaeser Compressors in Coburg, Germany. He has spent six years providing technical s upport for SCO Unix and is the author of SCO Companion: The Essential Guide for Users and System Administrators (Prentice-Hall, 1996). He is working on a book on Linux, to be published this year. You can reach him at 100542.2677@compuserve.com .
Copyright © 1997 CMP Media LLC