Beginners Guides: Linux Part 3: Installing New Software
Linux is
free, relatively easy to install, but what about software? How do you add
programs and software in an environment that isn't based on the familiar rules of the Microsoft Windows world? - Version 1.1.0
In the first two parts of our set of Beginner's Guides to
the Linux operating system, we familiarized you with the popular KDE
desktop environment via a 'live' CD Linux distribution and explored installing Linux permanently onto your system.
As you've probably realized by now, modern Linux versions
including SUSE 9.1, which we used in Part
2 of the guide, can perform almost all of the functions
which we take for granted with Windows, making switching operating systems much
less painful. But what if you need or want to install new programs in the
future? Everyone knows how to install new software in Windows… Just double
click the installation file and 'next, next, next,' etc. Linux is a little more
complicated and installing programs is not near so immediately intuitive.
In this third PCSTATS Beginner's Guide to the Linux operating system, we're going to
explore an essential Linux skill; how to track down and add new software
packages to your Linux installation.
Installing new software in Linux: The package
system
The most common format for software installation files in Linux is the
package. Linux Packages are simply groups of the necessary files for
installing and running that specific program bundled within a single file that
can be executed by a package manager.
There are a few different package formats out there, but the most common are
RPM (RPM Package Manager) files. These are used by most of the major Linux
distributions including SUSE.
Selecting and adding these packages to your Linux installation is where the
incredible diversity of the Linux world may become more of a burden than a
benefit. Since each Linux distribution is different, there's no telling whether
your particular version has all the background files needed to allow a given
package to install and run correctly. For this reason, it is best to use
packages formatted especially for your version of Linux. Unfortunately, this is
often impossible. With hundreds of Linux distributions available, no programmer
could possibly tailor his or her software for each one.
Packages and Dependencies
Since it is impossible to create a separate installation package for every
available Linux distribution, most software manufacturers create a single RPM
package for a single Linux distribution. Users who wish to install this
package on other distributions must resolve any dependencies that package may
have.
Dependencies are a package's links to other software resources that must
either already be present on the host computer or be installed previously from
the same package in order for the program to work correctly.
Due to the open source nature of Linux, individual files and applications
(for example the KDE desktop manager that SUSE 9.1 uses) are constantly being
changed and updated, often breaking compatibility with other applications in the
process. In contrast, major Linux distributions like SUSE 9.1 itself are
static, since each version of a distribution comes with a list of applications
and program libraries that it always contains when first installed. Using
this list, software developers can easily prepare their programs for that
distribution by tailoring the packages to include any missing files that will be
needed.
If a user downloads a package for a different Linux distribution than the one
he or she is currently using, it will still work, but that user may first have
to track down other packages which install resources that the first package
depends upon. This is where package management software comes in.
Package management software analyzes each package the user wants to install and
compares its list of dependencies to the software installed on your Linux system.
It will inform the user if anything is missing, and name of the
missing packages so that they can be downloaded and installed.