An introduction to Linux


[ Site Index] [ Linux Index] [ Feedback ]


Linux: where it's at and where it's going

Most of us think operating systems are boring. They're the complex but little-noticed pieces of software that keep our computers running and provide services to other programs -- the ones we use to get work done. Windows NT is an operating system; so is MacOS, and there are a host of others (as any computer much more complicated than a Sinclair Spectrum needs one).

Operating systems normally get our attention only when they go wrong; the infamous blue screen of death you get when Windows crashes, for example. You might think that an operating system that never crashed would get no attention at all. But you'd be wrong.

Linux is the word on everyone's lips right now. It's exceptional among personal computer operating systems because, mostly, it doesn't crash; Linux is remarkably stable, and systems often run for months and years at a time between shut-downs. It's cropping up everywhere: unlike most operating systems, which are limited to one machine or family of machines, it runs on everything from a Palm Pilot to a supercomputer (by way of PCs and Macintoshes). It's immensely flexible -- it's mainframe ancestry means that it is a true multiuser, multitasking, multiprocessor system, and it provides features you don't normally expect on a personal computer.

SUBTITLE: Some Linux History

Linux has its roots in a student project. In 1992, an undergraduate called Linus Torvalds was studying computer science in Helsinki, Finland. Like most computer science courses, a big component of it was taught on (and about) UNIX. UNIX was the wonder operating system of the 1970's and 1980's: both a text-book example of the principles of operating system design, and sufficiently robust to be the standard OS in engineering and scientific computing. But UNIX was a commercial product (licensed by AT&T to a number of resellers), and cost more than a student could pay.

Annoyed by the shortcomings of Minix (a compact UNIX clone written as a teaching aid by Professor Andy Tannenbaum) Linus set out to write his own ``kernel'' -- the core of an operating system that handles memory allocation, talks to hardware devices, and makes sure everything keeps running. He used the GNU programming tools developed by Richard Stallman's Free Software Foundation, an organization of volunteers dedicated to fulfilling Stallman's ideal of making good software that anyone could use without paying. And when he'd written a basic kernel, he released the source code to the Linux kernel on the internet.

Source code is important. It's the original, from which compiled programs are generated. If you don't have the source code to a program, you can't modify it, to fix bugs or add new features. (Most software companies won't sell you their source code, or will only do so for an eye-watering price, because they believe that if they make it available it will destroy their revenue stream.)

What happened next was inexplicable, from the conventional, commercial software industry point of view -- and utterly predictable, to anyone who knew about the Free Software Foundation. Programmers (mostly academics and students) began using Linux. They found that it didn't do things they wanted it to do -- so they fixed it. And where they improved it, they sent the improvements to Linus, who rolled them into the kernel. And Linux began to grow.

There's a term for this model of software development; it's called Open Source (see http://www.opensource.org/ for more information). Anyone can have the source code -- it's free (in the sense of free speech, not free beer). Anyone can contribute to it. If you use it heavily you may want to extend or develop or fix bugs in it -- and it is so easy to give your fixes back to the community that most people do so. The Open Source ethos is not a market economy; it is a giant potlach, a present-giving society where the more you put into the communal pot, the greater your prestige. (Detractors have, rather unfairly, called this communism; a swap-meet is more like it.)

An operating system kernel on its own isn't a lot of use; it gives you the equivalent of a hard disk with MSDOS installed on it -- just the .SYS files and COMMAND.COM. But Linux was purposefully designed as a near-clone of UNIX; and there is a lot of software out there that is both free, and was designed to compile on Linux. By about 1992, the first ``distributions'' appeared. A distribution is the linux-user term for a complete operating system kit, complete with the utilities and applications you need to make it do useful things; command interpreters, programming tools, text editors, typesetting tools, and graphical user interfaces based on the X windowing system. (X is a standard in academic and scientific computing, but not hitherto common on PC's; it's a complex distributed windowing system that people implement graphical interfaces like KDE and GNOME on -- see accompanying article).

The first distributions (such as SLS) were put together on floppy disk by enthusiasts; subsequently companies (like SuSE, Red Hat, and Caldera) emerged who existed solely to package and sell support for their own distributions. However, enthusiast groups such as Debian and Stampede remain active in the field, effectively keeping the companies from ``taking posession'' of Linux.

SUBTITLE: Open Source

This is possible because of the deeply hidden secret of the Open Source movement: it is possible to make money out of software you give away for free. People will willingly pay for support, manuals, and development work -- and if you're an Open Source developer, every extra copy of your code they pass on works to your benefit as an advertisement, rather than being a lost licensing opportunity. Consequently, Red Hat Inc grew from a two-man garage start-up to a forty-person two-million dollar company in its first two years, and is still growing at an astronomical rate; others, like Caldera (bankrolled by Ray Noorda, founder of Novell) are growing at a similar speed.

What Red Hat and Caldera sell isn't really the software, which is free: it's a helpful voice on the end of a telephone or email connection, plus manuals and CDROMs and the usual paraphenalia that most customers expect of a software vendor. Thus, even though Linux is free, corporate support is readily available from a number of sources.

As more and more people got to know about Linux, some of them began to port the Linux kernel to run on non-standard computers. Because it's free, Linux is now the most widely-ported operating system there is; it runs on PC's, Macintoshes (both PowerPC Macs and older ones), SPARC, MIPS and DEC Alpha workstations, Acorn Archimedes, and a whole slew of more obscure systems; see http://www.linux.org.uk/ for pointers to these. (There's even an effort under way to get Linux running on the Psion Series 5! -- see http://www.redhat.com/~ed/linux-7110.html.)

Software that runs on Linux on a PC will run on Linux on any other platform -- if you've got the source code and recompile it.

When Linux began leaking into other computing environments, it came as an interloper. It therefore rapidly acquired the ability to coexist with other systems. In addition to its native TCP/IP networking (Linux makes a brilliant, fast, flexible internet server), Linux can talk to Macintoshes via AppleTalk and to Windows PC's via SMB, NetWare, and other protocols -- it can also talk to IBM mainframes and DEC VAXes too, given a chance. Linux can read disks partitioned and formatted for DOS, Windows NT, AmigaOS, MacOS, and a host of other systems -- not to mention the various flavours of UNIX. It can even run most Windows 3.1 programs (using the freeware WINE emulator -- http://www.winehq.com/ -- or the commercial WABI emulator -- http://www.caldera.com), and older Macintosh programs (using Executor -- see http://www.ardi.com/).

Linux has turned into glue; usually the easiest way to set up a file server or mail server for a network with a strange mix of computers on it is to put Linux on one of them. The linux system acts as a kind of digital Rosetta Stone, serving files to Macs via AppleTalk, to Windows 95 and NT systems via Samba (an SMB file and print server), to DOS systems via Novell Netware for Linux, and to UNIX systems via TCP/IP. As a result, it has also become the commonest server operating system on the internet, and is well on the way to overtaking all the commercial UNIX systems put together.

SUBTITLE: So what are the drawbacks?

All of this is not to say that Linux is without drawbacks. UNIX and UNIX-like systems are an alien environment to most PC users; the command line interface is alien (albeit no stranger than MSDOS, because it's only long habit makes MSDOS familiar). More seriously, there is no single graphical user interface (although that situation appears to be changing); several different GUIs exist, ranging from the spartan layout of the twm window manager to the hang-on-isn't-this-Windows-98 plane of KDE or GNOME. All of this can make the transition to Linux a jarring experience; it helps to have a patient friend who doesn't mind answering lots of silly questions, not to mention a couple of books and a willingness to spend some time learning.

More importantly, you can't run all your existing software. Software written for Power Macintosh or Windows 95/NT almost certainly won't run (although there are persistent rumours about a port of SoftWindows '95). So if you depend on a specialised Windows or Mac application, Linux is probably of no use to you.

If you are set in your ways, or want to run programs that simply won't run and can't be duplicated under Linux, you probably don't want to learn it. On the other hand, if you need to work in a mixed computing environment, or already know UNIX, or want to do things that Windows 98 or NT simply can't do, Linux is probably the cheapest, fastest solution to your problem -- whatever it is.



SUBTITLE The future of Linux

Watching Linux today is like watching the internet back in 1994. It's growing at an incredible rate, but it's only a few months past the stage of being the world's best-kept secret, a code word known only to geeks and UNIX specialists. You know it's powerful, but not many people have used it before -- but word is slow to get out, and there's a lot of confusion about what it is and does.

One thing is certain: Linux is going to be around for a few years. According to a recent industry survey by Dataquest, Linux usage in major corporations is growing at 30% per annum, faster than any other system except Windows NT. Some people think that's conservative; the best estimates of the current user base put it at somewhere between five and ten million users, and that same study put the growth rate at 12% per month.

This puts Linux firmly in running as a competitor for Windows NT 4.0. Like NT 4.0, Linux is not a particularly easy system to use; it's not yet ready to dump on the desk of an untrained user unless you've got a professional system administrator on tap to keep things running. Unlike NT 4.0, Linux scales well -- a cluster of DEC Alpha workstations running Linux has made it into the top 500 supercomputers, and it's Linux that rendered the CGI animation sequences in Titanic and runs heavy horsepower web sites like DejaNews (http://www.dejanews.com/). It's also ridiculously cheap for the facilities it provides; while commercial UNIXes like Solaris and SCO Open Server are cost-competitive with NT Server, Linux cuts them all off at the ankles by being essentially free.

Being free works against Linux in some circumstances. Many large corporate IT departments refuse to touch any software that isn't produced by a legal entity who they can sue in event of a major bug surfacing. This is somewhat ridiculous when applied to Open Source; if a bug surfaces, you can fix it yourself, rather than being held to ransom by a potentially unreliable vendor. But if anything works to impede the takeup of Linux in FT500 companies it will be the (mistaken) perception that there's no support for it.

The real growth in Linux use is just beginning, and 1999 will be a critical year. Windows NT 5.0 is Microsoft's attempt to create a product which will eat the mid-range UNIX server market. However, NT 5.0 is already overdue, while Linux 2.2 is due out this autumn. With features like support for IPv6, in-kernel RAID arrays, and clustering, Linux 2.2 will be a serious threat to NT 5.0; Linux is already a 64-bit operating system (on Alpha and UltraSPARC processors), and when Intel's Merced (IA64) chips ship, it should be running on them before NT 5.0.

We can expect a real no-holds-barred fight in 1999 as Microsoft launches its all-out assault on the corporate mid-range server market, and the entrenched UNIX specialists fight back with Linux on steroids. Meanwhile, Linux will be making in-roads into the hobbyist and small business market: not all companies can afford to spend a thousand pounds per user on a server system, and the small-business and personal sectors are notoriously price sensitive.

Recent signs of how serious the Linux bandwagon has become come in the form of corporate recognition; suddenly companies who only sell their products on commercially viable systems are rushing to port applications to Linux.

The threat to independent software developers posed by Microsoft, and the opportunity offered by the growth of Linux, have triggered a near-stampede to port applications to Linux among the big software houses. For example, in May 1998, Oracle Corporation were maintaining that they had no intention of porting the Oracle database server to Linux because there was insufficient demand and it would, in any case, be a nuisance to support. In June 1998, they announced the release date of Oracle 8 for Linux would be March 1999.

Also in May, Netscape announced that they were making Linux one of their principle development platforms, along with Windows, MacOS, and Sun's Solaris.

Borland (now Imprise] have jumped on board by releasing Interbase 5 for Linux (see http://www.interbase.com/). Corel are porting the whole of Word Perfect Office, in a desperate bid to colonize a market that is mushrooming while their presence in the Windows world is being decimated by Microsoft Office. (They're a bit late; newcomer Star Division, a German company, are already in there with StarOffice 4.0.3, a Microsoft Office 95 clone, and StarOffice 5 is due out by October -- see http://www.stardivision.com/.)

They'll have competition from the Open Source(TM) sector. The KDE project (http://www.kde.org/), which produced the first fully integrated web-enabled desktop environment for Linux, is nearly ready to release KOffice, a free application suite that looks as if it will give the commercial packages a run for their money. And the GNOME project (the other major Linux desktop environment -- this one certified 100% free, unlike KDE -- see http://www.gnome.org/) are doing likewise. For many years there has been a glaring hole in the free software landscape; most of the freeware was great for programmers, but not so great for mere users. This hole is now being plugged; much of the current crop of free software for Linux is comparable in quality with the commercial offerings, and some companies (like Netscape -- http://www.netscape.com/) have jumped whole-heartedly on the train and released the source code to their main products. (Yes, you can run Netscape Navigator on Linux.)

In fact, about the only software company that isn't looking over its shoulder uneasily yet is Microsoft. Microsoft have a long track record of not openly acknowledging trends until it's almost too late; Bill Gates' U-turn on internet support in March 1994 springs to mind. (In three weeks flat the Microsoft line switched from ``Microsoft will never have an internet products division'' to ``we release Internet Explorer 1.0 next month -- please download it!'').

Linux is probably the biggest threat on Microsoft's horizon other than the ongoing legal wrangle with the US Department of Justice. Microsoft's policy of ``embrace and extend'' simply can't work on Linux; they can't offer more, and cheaper, than the competition, because the competition's offering is free. There is no opposition to buy out or intimidate, and they cannot acquire control of the platform in order to leverage the market share of their applications.



Subtitle: Using Linux in an Office

Let's suppose you've decided to run Linux on one of your office PC's. What's life going to be like on the other side of the fence?

To start with, you need a suitable machine. While Linux can be made to run on a 386 with 1Mb of RAM, realistically its requirements are similar to Windows 95; for best effect, you need a good graphics board, a multisync monitor able to display at least 1024x768 pixels, at least 1Gb of disk space, 32Mb of RAM, and a Pentium.

It really helps to pay attention to the details, though. Firstly, Linux likes fast disk controllers; SCSI in particular. A machine with an Adaptec 2940UW or comparable SCSI controller driving a couple of reasonably fast SCSI hard disks will slaughter an otherwise-identical machine using EIDE or UDMA disks. (Like UNIXes in general, Linux spends a lot of time shuffling data on and off of disk -- rather more so than an evolved personal operating system like MacOS or Windows.)

Secondly, you need to make sure your hardware is compatible with Linux. Unfortunately, many hardware manufacturers ignore Linux competely, leaving Linux users to develop drivers for their hardware. You can find databases of supported hardware on the web for SuSE (http://www.suse.de/cdb/english/) or Red Hat (http://www.redhat.com/support/docs/hardware.html); you can find more information on compatible hardware in the Linux Hardware Compatability HOWTO at http://sunsite.unc.edu/mdw/HOWTO/Hardware-HOWTO.html. In general, very recent hardware (less than three months old) is unlikely to be supported unless the manufacturer is Linux-friendly, or they freely release specifications. Older hardware may also not be usable if the manufacturers are secretive to the point of wanting developers to sign non-disclosure agreements. And finally, there are classes of equipment to avoid -- WinModems do not work with linux, and probably never will, and most WinPrinters don't work either. In general, if you stick to well-known brands and models, you shouldn't have too many problems; this machine uses a Matrox Millennium video card, an Adapted 2940U SCSI controller, and a Sound Blaster AWE64 sound card, all of which are fine.

If you are installing Linux for the first time you will probably find it easiest to pay for a distribution that comes with a manual and possibly a support contract. Most linux installations are as easy as, or easier than, installing Windows NT -- especially if the Linux system doesn't need to coexist on the same machine as a Windows system. (Windows 95, 98 and NT all tend to overwrite the Linux boot manager when you install them, so it helps to read the Windows 95 and Linux HOWTO document at http://sunsite.unc.edu/LDP/HOWTO/mini/Linux+Win95.html. You may benefit from a boot manager like PART (at http://www.users.intercom.com/~ranish/part/).

Linux by default usually comes up with a command-line interface which will be rather intimidating at first. If you want a graphical user interface, you should install a distribution which automatically configures the X Window System and installs one; both Caldera (versions above 1.2) and SuSE (versions about 5.2) come with the excellent KDE system (see screenshots), which gives a graphical desktop environment and utilities comparable with Windows 98. Red Hat lags slightly in the desktop usability stakes, but will be adopting the GNOME desktop (see http://www.gnome.org/) when it is ready.

Unlike Windows, there is no central Control Panel for Linux, and no Registry for program settings; UNIX is traditionally configured by editing text files (usually stored in the directory /etc). Modern distributions try to hide this from the casual user; Red Hat provide a control panel system of their own, but are moving to the Linuxconf system (see http://www.solucorp.qc.ca/linuxconf/), while Caldera is pushing the equivalent COAS system (http://www.coas.org/). Both of these will eventually allow a Linux system to be configured remotely using both point-and-click interfaces and web browser based forms. In the meantime it's probably a good idea to have a book handy; the Linux System Administrator's Guide (from O'Reilly and Associates -- http://www.ora.com/) or DR Linux (from Red Hat -- http://www.redhat.com/) are particularly useful in emergencies.

Now you've installed a Linux system with a GUI, you need to be able to do general office work. Remember, Linux is not Microsoft-land; you can't get Microsoft Office for Linux. However, you can get the next best thing: StarOffice 4.0.3, from Star Division, is a full-featured Office 95 clone. (And I mean it -- it can read and write Office 95 files quite happily, understands Office Basic macros, even looks disturbingly like Microsoft Office.) It's free for noncommercial use, and can be downloaded via the net; a commercial license costs US $99, making it a real bargain when compared with Windows office packages. It can't handle Office 97 files, but a new version, Star Office 5.0, is due by October and almost certainly can; see http://www.stardivision.com/ for details. (I'd have no reservations whatsoever in recommending a SuSE Linux 5.2/StarOffice 4.0.3 combination as a standard office PC for non-technical users; it can do almost everything a Windows 95/Office 95 system can do, and costs about a quarter the price.)

If you don't like the Office-style apps, you can try ApplixWare, another integrated application suite ported and supported by Red Hat; or Word Perfect 8.0. The whole of the Word Perfect Office suite should be available for Linux at that magic $99 price point by the time this article appears. (An old-ish version of Corel Draw is also available, but looks likely to be out-shone by two freeware apps: the GIMP -- GNU Image Manipulation Tool, a Photoshop clone available from http://www.gimp.org/ -- and GYVE, an Adobe Illustrator clone, which isn't yet really ready for non-developers but shows considerable promise.)

You don't have to stick with commercial office programs if you don't want to pay the price; Linux is free, and so are numerous word processors and spreadsheets. Maxwell, from http://www.eeyore-mule.demon.co.uk/, is a fairly decent little WP; the SIAG Office Suite shows signs of turning into a formidable, if somewhat techie-oriented system (see http://www.edu.stockholm.se/siag/) and there's also a new project, AbiWord, from http://www.abisource.com/, which shows promise. But the "most likely to succeed this year" award goes to Koffice (http://www.kde.org/koffice/which is on course to become the slickest, not to say best, of the free office packages.

If you need a web browser, the KDE file manager doubles as one. But it doesn't talk Java or JavaScript -- but you can always use Netscape. Netscape for Linux is available from the usual places (especially http://www.netscape.com/) and is the latest version.

  1. shouldn't really talk about games because I'm talking about an office PC setup, but many of the usual suspects are available -- in particular Doom, Abuse, and so forth.)

When it comes to connectivity, you're in luck. Any of the main Linux distributions come with Samba, a Windows network file and print server. So you can turn your Linux system into a Windows file server pretty easily! In addition, there's an SMB networking client available, to let you mount Windows network drives on your Linux system; it's called Sharity-Light, and you can find it at http://www.obdev.at/Products/shlight.html. For reasons of space I can't really discuss AppleTalk and TCP/IP networking, except to say that yes, your Linux system can mount and read Macintosh networked drives and Mac floppy and hard disks, and it also makes a mean internet server -- the standard web server that comes with most Linuxes, Apache, is the commonest heavy-duty server on the internet, and its mail and name servers (sendmail and bind, respectively) are the main mail and DNS transport servers used by all the heavyweight systems. In any event, if you want to set your machine up as a network server you probably need to read the Linux Network Administrator's Guide by Olaf Kirch (pub. O'Reilly and Associates, http://www.ora.com/).

If you need to run Windows 3.1 or MSDOS programs, various solutions exist. In particular, you can try out WINE, short for Wine Is Not an Emulator; WINE provides Windows 3.1 support for Linux, so that Windows programs can load and run under Linux. Microsoft Office 4.3 or FrameMaker 3 may not be your cup of tea, and WINE is a bit wobbly under some circumstances (in particular, a lot of Microsoft system calls are undocumented and behave oddly; programs that use undocumented calls may crash) but can be a really useful migration tool. Regular developer releases can be found at http://www.winehq.com./ The DOS emulator is a lot more solid; you still need a DOS operating system (like Novell DOS 7, available free for downloading from http://www.caldera.com/, as Caldera bought the DR-DOS business from Novell), but once you set it all up it will run most DOS software happily. (The exception is programs that like to write directly to bits of hardware -- you can configure DOSEMU to let these programs do so, but it's a risky business. But then again, running DOS was a risky business in the first place, wasn't it?)

I can't begin to discuss the plethora of email and news programs and other internet tools that come with even a stock Linux system. Suffice to say, Linux was designed for the net -- it's the second commonest operating system used by internet service providers in the USA! If you aren't sure, you can always use Netscape Communicator's email and news tools -- and if you're addicted to something like Forte Agent, odds are that the 16-bit DOS version will run happily under WINE.

Your real problems will come when you need to exchange data with colleagues who insist on using the very latest toys from Microsoft, or special software for which no direct equivalent exists on Linux. In that case, your only options are to look for a 16-bit Windows application that you can run under WINE (like, for example, the Lotus Notes client -- Lotus has not yet officially announced Linux support, even though IBM has), to persuade your colleagues to use a common file format (for example, to save Word 97 files in Rich Text Format before emailing them to you), or to surrender to the Borg and dual-boot your system in Windows 95. Even then, there are tools that run under Windows 95 to let you examine the contents of a Linux partition, and Linux can access a DOS or Windows disk partition quite happily, so on a properly configured machine you can switch working environments in a matter of seconds. (There are rumours that Insignia is planning to release a version of SoftWindows 95 for Linux -- a Windows 95 emulator that runs on Macintoshes and other UNIXes -- but no official confirmation of this has been forthcoming. Even though it would be a killer product.)

Did I mention viruses? No. There's a good reason for this: linux doesn't get them. While viruses that parasitize a specialized environment (like the Java .class files latched onto by the recently-discovered "strange brew" virus, or Word macro viruses that can only exist in an environment that understands Word Basic) could in principle gain a toe-hold, Linux has all the usual UNIX security features. UNIX is a really, really, hostile environment for viruses: while there are security threats to a linux system, your chances of catching a virus off a floppy or CDROM are almost infinitely lower than when running Windows or MacOS. (If you want to find out about UNIX system security, a good place to start with is the book UNIX and Internet Security, by Spafford and Garfinckel, pub. O'Reilly and Associates (http://www.ora.com/).

SUBTITLE: Further Reading

A lot of the vibrant Linux culture lives on the internet. To start with, there are the core Linux web sites: http://www.li.org/ -- Linux International -- and the various distribution websites: http://www.redhat.com/, http://www.caldera.com/, http://www.debian.com/, http://www.suse.com/, http://www.yggdrasil.com/, and a host of others.

For online support, the usenet news system provides numerous linux newsgroups; see comp.os.linux.setup for help in installing a new Linux system, and comp.os.linux.announce for information on new software releases for Linux.

Other vital sources of updates and news on Linux include http://www.freshmeat.net/ (regular announcements of new software and important inforrmation), http://slashdot.org/ (a totally indescribable but incredibly cool news service of interest to linux users), and http://sunsite.unc.edu/LDP/ -- the Linux Documentation Project, source of all wisdom for things Linux.


[ Site Index] [ Linux Index] [ Feedback ]