< Previous | Contents | Next >
Summing Up
In the chapters that follow, we will explore many different programs covering a wide range of application areas. While most of these programs are commonly installed by de- fault, we may need to install additional packages if necessary programs are not already installed on our system. With our newfound knowledge (and appreciation) of package management, we should have no problem installing and managing the programs we need.
The Linux Software Installation Myth
People migrating from other platforms sometimes fall victim to the myth that software is somehow difficult to install under Linux and that the variety of pack- aging schemes used by different distributions is a hindrance. Well, it is a hin- drance, but only to proprietary software vendors who wish to distribute binary- only versions of their secret software.
The Linux software ecosystem is based on the idea of open source code. If a pro- gram developer releases source code for a program, it is likely that a person asso- ciated with a distribution will package the program and include it in their reposi- tory. This method ensures that the program is well integrated into the distribution and the user is given the convenience of “one-stop shopping” for software, rather than having to search for each program's web site.
Device drivers are handled in much the same way, except that instead of being separate items in a distribution's repository, they become part of the Linux kernel itself. Generally speaking, there is no such thing as a “driver disk” in Linux. Ei- ther the kernel supports a device or it doesn't, and the Linux kernel supports a lot of devices. Many more, in fact, than Windows does. Of course, this is of no con- solation if the particular device you need is not supported. When that happens, you need to look at the cause. A lack of driver support is usually caused by one of three things:
1. The device is too new. Since many hardware vendors don't actively support Linux development, it falls upon a member of the Linux community to write the kernel driver code. This takes time.
2. The device is too exotic. Not all distributions include every possible device driver. Each distribution builds their own kernels, and since kernels are very con- figurable (which is what makes it possible to run Linux on everything from wrist- watches to mainframes) they may have overlooked a particular device. By locat- ing and downloading the source code for the driver, it is possible for you (yes, you) to compile and install the driver yourself. This process is not overly difficult, but it is rather involved. We'll talk about compiling software in a later chapter.
3. The hardware vendor is hiding something. They have neither released source code for a Linux driver, nor have they released the technical documentation for somebody to create one for them. This means that the hardware vendor is trying to keep the programming interfaces to the device a secret. Since we don't want se- cret devices in our computers, I suggest that you remove the offending hardware and pitch it into the trash with your other useless items.
Further Reading