Linux, Unix, /etc
Danger Will Robinson! You are now entering a condescending Unix user zone!
Sponsored links (requires javascript):

What is this thing called Linux?
Introduction
With the growth in available and affordable hardware resources over
the last few years, the choice of PC operating system, for long a
question whose answer was always "MS-DOS", has become an open one.
Now, however, this choice is not restricted to the products from the
big software companies. This article is about a free operating system,
developed by volunteers, that can compete with the best in the market.
What Is It?
Definition
Linux is a Unix lookalike operating system, originally developed for
the 386-based PC but now ported to a variety of hardware platforms.
It looks like Unix, it works like Unix, but it is not like other
Unices. It is unique in being a free product, developed by the
collaboration of a host of programmers worldwide communicating on the
Internet, and available from many ftp sites. It is free, but not free
of copyright - it is protected by the GNU Public Licence, a legal
instrument that requires those who pass on a program
to include the rights to use, modify, and redistribute the code.
Origins
Linux is the creation of a Finish computer science undergraduate named
Linus Torvalds, who, dissatisfied with his Minix system, wrote the
first version, 0.01, in 1991. In those days before its christening,
"Linus' Minix" was a bare kernel and not much else.
Development
As interest grew, Linux ceased to be merely Linus' personal hobby, and
became more and more the work of a host of volunteer programmers
worldwide, who devote time and effort gratis to the extension and
improvement of Linux. Linus remains in charge of kernel development.
Current Status
Linux was officially in Beta testing until the release of version 1.0
on 14th March, 1994. At the time of writing, version 1.2 has just
been released. It has grown into a modern, stable operating system
that used as a for "real life" applications by both commercial and
non-profit educational instituitions. It now has even its own
magazine, the "Linux Journal".
Features
Multitasking
Linux can run many processes simultaneously. Don't let those awful TV ads
for OS/2 put you off: this is a great advantage. It is possible to run a
compilation, receive and send mail, download a big file from an ftp
site, and print out the latest versions of the Linux documentation -
all at the same time. Unlike some environments (did someone say
Windows?), you don't stand a good chance of crashing the machine by
doing this - Linux was designed for it.
Multiuser
A number of virtual terminals are available, meaning that you can
run several login sessions on one machine, switching between them with
a simple key combination. For more than one user, dumb terminals or
other PCs can be linked up via serial lines, a network, or even
dial-in access.
Virtual Memory with paging
4K pages are swapped to disk when RAM runs out. The swap area can be
a file, or a dedicated swap
partition, or both.
DLLs
Library code does not have to be statically linked in at compile time
(although that is an option), but can be provided by Dynamically
Loaded Libraries, with obvious savings
on binary size and memory use.
387-emulation
A maths-coprocessor in software is provided in the kernel.
Advanced File System
Several file systems are available. The most common, ext2, offers
filesystems of up to 4 TB, and names up to 255 characters long.
Hardware Requirements
Minimal
A 386SX-based PC with 2Mb RAM and a single high-density floppy drive
is capable of running Linux. While such a configuration cannot do
much, it can be used to test if Linux likes your hardware. Add 10Mb
of hard disk space and you do have a workable, albeit minimal, system.
Usable
In practice, at least 4Mb of RAM is desirable - and as with any
modern operating system, the more the better. How much hard drive you
will need depends completely on your requirements; typical Linux
set-ups consume between 60 and 200 Mb of space.
Supported Hardware
The most common Linux platform is the IBM PC compatible. Most PCs
will run Linux, as it includes support for MFM, RLL, IDE, and many
SCSI controllers; ISA, PCI and VESA buses; many common proprietary
CD-ROM interfaces; Soundblaster cards and compatibles ... the list goes
on. Other platforms for which Linux is available include the Amiga and
Atari ST. Work is in progress on a port to the Alpha chip
architecture, to the Power PC and to the MIPS chip.
What Can You Do With It?
Remember, this is Unix in all but name. If it runs on Unix, it can
run on Linux; so there is a tremendous amount of software available,
much of it as free as Linux itself.
The System
Shells
The standard way of talking to Linux is through the most powerful
command line interface in existence - (FX: puts on asbestos suit) the
Unix shell, or rather shells. Everything from the classic Version 7
"sh" to the GNU "Bourne Again SHell". [stet].
GUI
If the classic Unix command line is not for you, XFree86 is a free and
complete implementation of the standard Unix GUI, the X Windows
System. It runs, after a little basic configuration, on any Linux
system with supported hardware. All standard PC video controllers are
supported, and many custom chip sets. As little as 4MB of RAM and 4Mb
swap will do, although more is needed for comfort - 16Mb is nice if
you've got it!
Programming
The GNU C compiler, so good that further development is part-funded by
a computer industry consortium including Intel and Motorola, is
included as standard in Linux distributions. If C's not your scene,
pick a language - any language! Chances are, there is at least a Beta
compiler available (an ugly rumour suggests that even COBOL is catered
for!).
Networking
TCP/IP is the name of the game here, which means connectivity to
virtually any box you care to name. Any system capable of running a
TCP/IP stack can talk to a Linux box using most networking hardware,
including Ethernet, Token Ring, a serial line, or a dial-in
connection. The kernel supports the two dial-up TCP/IP protocols, PPP
and SLIP, for connection to the Internet. Several network
packages are available, including Unix-standard NFS.
Application Software
Text Editing
A range of editors are available, from the small, powerful but cryptic
vi to the huge, powerful and relatively friendly GNU Emacs.
Text Formatting & Printing
Following in the Unix tradition, text is formatted using a mark-up
language. These include GNU versions of the original nroff and troff;
Knuth's powerful TeX, an sophisticated language for
professional-quality typesetting; and Ghostscript, a PD version of
Postscript. A print spooler handles printing to a wide range of
machines, from the dot matrix line printer to the Postscript laser.
Spreadsheets
Several spreadsheets are available, although they're to be as
friendly or as advanced as DOS or Windows products. They include SC
(Spreadsheet Calculator), and the GNU spreadsheet Oleo.
Misc
Space precludes even a brief inventory of all the other available
software; but I must mention the superb fax software, Flexfax,
developed by an individual at Unix workstation specialists SGI. For
the rest, most areas are catered for, from graphics and games to
mathematics and music.
Working With Other Systems
Moving to Linux does not have to be an all or nothing proposition.
Support for other file systems is extensive, and support for running
programs compiled for other operating systems is available, though
still under development. Linux uses the standard PC partitioning
scheme, so it can share your disk with other operating systems.
DOS
A MSDOS emulator is in beta. It works on some kernels, not others
(generally, earlier kernel versions are better for this). A lot of
standard DOS programs will run, including WordPerfect and Lotus 1-2-3.
Windows
Sun's WABI proved that the effort to produce an MS Windows emulator
for Unix was possible. The Linux version of this idea is WINE (WINE
Is Not an Emulator, or WINdows Emulator, take your pick) Still under
development, this is very much alpha code. Currently, it doesn't run
much beyond Solitaire, but it looks promising.
Generic Unix Software
Binaries
An iBCS (Intel Binary Compatible Standard) emulator for ELF and COFF
binaries is under development, which will allow Unix System V
programs to run under Linux.
Sources
Most Unix sources will compile - or can be made to compile eventually!
Increasingly, sources which come with configuration scripts have a
Linux option built in - a vivid indication in itself of the increasing
popularity of the system.
Access to other file systems
Linux offers full support for the MS-DOS FAT-based file system (but
not for DOS data compression). A DOS disk can be mounted like any
other, or accesed using "DOS-like" commands by the "MTOOLS" package.
Read-only support is offered for OS/2 HPFS. There is full support for
System V and BSD Unix file systems, and of course for Linux's
ancestor, Minix.
Who Uses It?
Harald T. Alvestrand in Norway compiles statistics on the use of Linux
worldwide. In his own words, as of 1st February 1995 "There are
11,398 registered Linux users. I estimate this as being between 0.2
and 5% of the total number of Linux users, giving the total community
size something between 227,960 and 5,699,000 members."
How To Get It
Distributions
Linux is released by its author only as a kernel. Other people have
put together packages known as "distributions". These distributions
pair the kernel with other free software, to make a complete working
system. Most releases include application programs as well as system
software. Most distributions can be obtained by anonymous ftp over
the Internet, or from some BBSs, for the price of a few hours on the
phone; or on CD-ROM from a reseller for between twenty and fifty
pounds.
The Virtues of Freedom
All source code freely available
In the Unix world, source is usually available from the supplier only
for a high price, leaving those users unable to pay for the code at
the mercy of "support agreements" and the like. An old hacker's
saying is "Use the source, Luke!". There is no substitute when in
difficulty for reading the source of a program, making mods where
necessary, and re-compiling.
The concept of supported free software
Originally, you down-loaded the source from an ftp site and got on
with it. "Tech. Support? I AM Tech. Support!" the hardened Linux
kernel hacker might have been heard to cry. Times change; and today
Linux "distributions", in which a fully-configured and ready to run
Linux system is packaged, are common. Often, companies that
distribute such packages will offer a degree of technical support.
Linux is moving from the domain of the hacker or hobbyist into serious
"real world" use. Plenty of good docuementation is available in
electronic form, courtesy of the Linux Documentation Project, and the
first books about Linux are now appearing. Of course, much generic
Unix knowledge is also applicable to Linux.
No Such Thing As A Free Lunch?
A common objection to Linux is based on its assumed buginess and
instability. This is a canard. According to the Linux INFO-SHEET:
"One site had a computer running version 0.97 patchlevel 1 ... for
over 136 days without an error or crash." (The eventual crash was
caused by operator error!). Several Unix experts, including Matt
Welsh, author of "Linux Installation and Getting Started", have stated
that Linux is at least as stable as any commercial Unix. My personal
experience bears this out.
Conclusion
Linux is a real 32-bit operating system. It runs many processes for
many users, and does so solidly and without daily rebooting. It is
equally suitable for the desktop and the server. It is here, now. I
think any person working in computers, whether programmer,
tech. support, or management, should find the time to take a look at
Linux.
[back to Linux, Unix, /etc]
Copyright © 1995-2007
Paul Dunne,
Sponsored links (requires javascript):