marketing information is wealth: December 2009

Wednesday, December 2, 2009

What's a Linux Release?

A Linux release is a set of files for a complete Linux system. Various changes made by the Linux community are incorporated into each release.

Linux releases are identified by numbers. These numbers are of the form X.YY.ZZ, where X is between 0 and 9, and YY and ZZ are numbers between 0 and 99. Generally, the higher the number, the newer the release. Some release numbers also include pNN, where NN is a number between 1 and 20. These refer to patches to a specific Linux version (a patch is a fix or an update to the software). For example, 0.99p15 would mean the fifteenth patch to the Linux release 0.99.

A release consists of several components called series of disks, or a collection of disks. For example, the X series of disks comes on 10 disks. Each series is referred to by its name. A
name generally tells you who put the software together and what its date is.

Some of the releases of Linux are as follows:
* The Red Hat Software Inc. Release This is a release of Linux from Red Hat Software Inc. The latest version is 3.0.3, which is included on the CD-ROM at the back of this book.
The highlight of the installation package is the Red Hat Packet Manager (RPM). Using the RPM enables you to safely install and uninstall packages. By far, the uninstall capability of the package is the best feature because most upgrades to critical packages require a complete Linux installation. Red Hat Linux is also notable for the ability to install from an X session, assuming the video card and monitor are supported by Linux.

* Slackware
This is a popular release of Linux included with this book's sister books: Linux Unleashed Second Edition and Linux System Administrator's Survival Guide. You can get versions
of this release on CD-ROM from various vendors for about $25. The primary distributor for this release is PatrickVolkerding, who can be reached at volkerdi@mhdl.moorhead.msus.edu.

* The Softlanding Linux System Release (SLS) This release consists of about 23 disks for Linux and 10 for X11. The first disk (a1) must be "rawritten" (using rawrite.exe in Chapter 3, "Installing and Updating Linux") on floppies, and the rest of the images must be put onto
DOS-formatted floppies using the DOS copy command. This release contains all the software package(s) you need to get started with Linux, and for newcomers it is easy to install.
The SLS release can also be found at tsx-11.mit.edu in the directory/pub/linux/packages/SLS and on sunsite.unc.edu in the directory /pub/Linux/SLS. By snail mail, SLS is available from Softlanding Software 910 Lodge Ave. Victoria, B.C. Canada V8X-3A8 (604) 360-0188

* The TAMU (Texas A&M University) Linux Release This release is supposedly like the SLS release, but it has some different software packages and a different installation procedure than SLS. The installation procedure is the main difference from SLS. A single boot diskette,
which boots directly into an automated installation program, is used. This installation program asks a few questions about the desired configuration and sets up everything, including your file systems, booting from the hard drive with LILO (see Chapter 5, "Odds and Ends") and a simplified X configuration. This release is a full-featured package, including X Window, emacs, networking tools, boot utilities, and a list of sources for all installation programs without any use restrictions. TAMU is available from sc.tamu.edu in
pub/free_unix4.

* H.J. Lu's bootable rootdisk This is a release of the Linux kernel and basic binaries on
a single floppy. It, along with Lu's gccdisk, libdisk, and so on, is good for upgrading or installing a basic Linux system by hand. It's not recommended for newcomers, because there's no real install script; it's mostly meant as an upgrade of the basic system software.
H.J. Lu's bootable rootdisk release is found at tsx-11.mit.edu: inthedirectory/pub/linux/packages/GCC.

* The Manchester Computing Centre Interim Release This is the fabled MCC-Interim Linux release, which was originally the de facto standard Linux distribution. This release has almost all of the important Linux software, such as Slackware, but does not contain emacs or X Window.MCC-Interim can be found on sunsite.unc.edu in the directory /pub/Linux/distributions/MCC and also at ftp.mcc.ac.uk in the directory /pub/linux/mcc-interim.

Special Requirements for X

Your 4MB of RAM will make X run very slowly. You should have at least 8MB of RAM for running programs in X. You will need another 6MB to 10MB of disk space for the GCC compiler in addition to X if you want to develop applications for X.


Do not try to bring up an Xserver that does not support your hardware. There have been
cases where damage has resulted from pushing the monitor (especially fixed-frequency
monitors) beyond its capabilities.


As far as mice go, Linux supports both serial and Bus varieties. For the serial mice, you can use Logitech, Microsoft, MouseSystems, or compatibles. The following Bus mice are known to work: Logitech, Microsoft, ATI_XL, and PS/2 (aux). There you have it, a brief introduction to an operating system that could very well change the way you program. Now for getting
yourself ready for Linux.

Other Hardware Requirements

Linux will also run on a number of laptop machines (some laptops use certain software interrupts to power the memory, and Linux doesn't work well with these systems to date). The best way to find out if Linux will run on your hardware is just to try it out.

At the time of writing, Linux doesn't run on an IBM PS/2 computer.

There are other hardware drivers currently under development for Linux. To use these drivers, however, you usually have to patch them into your kernel code, which assumes that you already have a running Linux system (a kind of chicken-and-egg problem if you have not already installed Linux). In such cases, you can install whatever Linux you happen to have and then apply the patches with the Linux patch command.

Then there is the issue of tape drives for Linux. There is a working QIC-02 device driver for Linux, supporting Everex/Wangtek cards. There are additional patches for the QIC-02 to support Archive SC402/499R. You can find them in /pub/linux/alpha/qic-02 directory at tsx-11.mit.edu server. (There have been reports of some bugs in the driver, but you can back up and restore.)

Most of the newer tape drivers are all for SCSI drives, so if you have a SCSI tape drive, chances are that it is supported.

Hardware Requirements

Now that you know a little about the good and bad points ofLinux, let's see what's required in terms of hardware.

Unlike some other versions of UNIX for the PC, Linux is very small. You can run an entire system from a single, high-density 5.25-inch floppy. However, to run a complete Linux system, there are other hardware requirements.

Linux, by its very nature, is continuously expanding, and more features are added every day. However, hardware compatibility is limited to that hardware the developers themselves have access to. For instance, if none of the Linux developers has access to the WhizBang Slice-O-Matic T3222 Ethernet card from a no-name manufacturer, then chances are it isn't supported.

On the other hand, there are many generic drivers for hardware, such as the IDE disk driver, which should work with all IDE hard drives and adapters regardless of manufacturer. Of course, the developers of the drivers couldn't test their software against every IDE device on the market, so they assume the IDE standards are followed by manufacturers. If a device doesn't work, it's probably because the manufacturer deviated from the standards, or added features the generic drivers can't handle.

A good place to look on the CD-ROM is in the /docs/howto directory for the Hardware-HOWTO file. This file will list a lot of the supported hardware for Linux.

If your favorite peripheral isn't supported by Linux, all that's required is to write a kernel driver for it. This may be easy or difficult, depending on the hardware and the technical specifications that are available. For example, some hardware developers prefer to write their own drivers for MS-DOS and Windows, and not release specifications for third parties to write their own. Therefore, writing drivers for Linux will be difficult, if not impossible.

The following is a rough guideline of some hardware requirements for Linux. You do not have to follow them directly, but this list should give you a rough idea of what's required:

parts of Linux

* Some of the features on your favorite UNIX system may not be available for your Linux system. Your choice in this matter is to either write the application yourself, convince
someone else to write it, or find an alternative process (the easiest out in most cases).

* As with software, some of the hardware in your machine may not be supported by Linux. Again, your choices are to either write the driver software yourself or get it from somewhere
else.

* You do have to spend some time and effort managing your Linux machine. You do develop a knack for fixing problems from experience. However, only with experience can you learn to recognize common problems and find or develop solutions.

important features of Linux

* Full multitasking and 32-bit support. Linux, like all other versions of UNIX, is a real multitasking system, allowing multiple users to run many programs on the same system at
once. Linux is also a full 32-bit operating system, utilizing the special protected-mode features of Intel 80386 and later processors and their work-alikes.

* The X Window System. The X Window System is the de facto industry-standard graphics system for UNIX machines. A complete version of the X Window System, known as XFree86,
is available for Linux. The X Window System is a very powerful graphics interface, supporting many applications.

* TCP/IP (Transmission Control Protocol/Internet Protocol) support. This is the set of protocols that links millions of university and business computers into a worldwide network
known as the Internet. With an Ethernet connection, you can have access to the Internet or to a local area network from your Linux system. Using SLIP (Serial Line Internet Protocol) or PPP (Point to Point Protocol), you can access the Internet over phone lines with a modem.

* Virtual memory and shared libraries. Linux can use a portion of your hard drive as virtual memory, expanding your total amount of available RAM. Linux also implements shared
libraries, allowing programs that use standard subroutines to find the code for these subroutines in the libraries at runtime. This saves a large amount of space on your system; each application doesn't store its own copy of these common routines.

* The Linux kernel uses no code from AT&T or any other proprietary source. Much of the software available for Linux is free. In fact, a large number of utilities in Linux are developed by the GNU project at the Free Software Foundation in Cambridge, Massachusetts. However, Linux enthusiasts, hackers, programmers, and recently even commercial companies from all over the world have contributed to the growing pool of Linux software.

* Linux supports (almost) all of the features of commercial versions of UNIX. In fact, some of the features found in Linux may not be available on other proprietary UNIX systems.

* GNU software support. Linux supports a wide range of free software written by the GNU Project, including utilities such as the GNU C and C++ compiler, gawk, groff, and so on. Many of the essential system utilities used by Linux are GNU software.

* Linux is compatible with the IEEE POSIX.1 standard. Linux has been developed with software portability in mind, thus supporting many important features of other UNIX standards.

* Virtual memory support. Linux utilizes all of your system's memory, without memory limits or segmentation through the use of a virtual memory manager.

* Built-in support for networking, multitasking, and other features. You'll see this touted as "New Technology" in systems such as Windows NT. In fact, UNIX (and now, Linux)
has implemented this "new technology" for more than 15 years.

* Linux is cheaper to get than most commercially available UNIX systems and UNIX clones. If you have the patience and access to the Internet, the only price you pay for Linux is
your time. Linux is freely available on the Internet. For a nominal fee of anywhere from US $30 to US $90, you can save yourself some time and get CD-ROM or floppy-disk distributions from several commercial vendors (or from this book).

What Do I Get with a Linux System?

Linux is a freely distributable version of UNIX developed primarily by Linus Torvalds at the University of Helsinki in Finland. Linux was further developed with the help of many UNIX
programmers and wizards across the Internet, allowing anyone with enough know-how and gumption to hack a custom UNIX kernel the ability to develop and change the system.

UNIX and its clones have long been perceived as large, resource-hungry, disk-devouring systems. Linux is not such a beast. It is small, fast, and flexible. Linux has been publicly available since around November of 1991. v0.10 went out in November of 1991, v0.11 in December of 1991.
There are very few small bugs now, and in its current state Linux is mostly useful for people who are willing to port code and write new code. Because Linux is very close to a reliable and stable system, Linus decided that v0.13 will be known as v0.95.