Installing Software on Fedora

Linux has a reputation for being difficult to install software applications to. In my experience, that reputation is not true - it's not DIFFICULT to install software applications on Linux, it's PRACTICALLY IMPOSSIBLE to install software applications on Linux. Let's compare the process of installing software on Linux to that of Windows.

With windows, you execute the applications setup program (by double-clicking on setup.exe) and, 99 percent of the time, the application will install succesfully. Sure, older versions of Windows had the problem of letting the setup program overwrite newer DLLs with older DLLs (commonly referred to as DLL hell), but that was fixed with Windows XP. A Windows application setup program almost always contains all the software components required for the program.

Compare that to installing software on Linux. Linux software applications come in "packages" that almost never contain all the software components required for the program. The Linux community has developed several "package managers". like yum and synaptic, that are supposed to search internet repositories and gather all the components required for the program. In reality they work more like automated complaint generators.

One reason Windows experiences more problems with viruses than Linux is because with a click of the mouse any software application can be installed on Windows, whereas with Linux it's practically impossible to install software applications. When I say "practically impossible", I mean the average desktop user is not going to struggle with the Linux software installation process, they'll just go back to using Windows. I think this one of the main reasons why Linux has made no progress in replacing Windows on the desktop.

It wasn't long ago that Linux software was distributed as "tarballs". A tarball is a compressed archive created with the Linux tar command. A tarball file has the file extension .tar or .tar.z, or .tgz or something else. To extract the program, you would use the Linux uncompress command with a string of options like -xZvf Once you extracted the file, you usually ended up with source code that you were expected to compile. After compiling the source code - that's were the real complications began!

To be fair, a great portion of the Linux community are developers and tarballs might be a good way for developers to cooperate, but often users who are experimenting with Linux get caught up in this nightmare.

Software Availability

Everyone assumes there is much more software available for Windows than for Linux. In fact there's about the same amount of software available for both operating systems. However, the amount of FREE software available for Linux is much greater than for Windows. Free Windows programs are often "beta" stage applications released free for the public to find bugs. After the bugs are fixed, a pay version of the applications is released.

Since Linux itself is free, the Open source and GPL (General Public License) communities have focused more on developing applications for the Linux operating system. With powerful applications like gimp (Image Processing Program), Openoffice (Office Suite), MySQL (Database), and Apache (Web Server) available for Linux, it can do anything windows can do. Because Linux is the preferred operating system at major universities and research facilities, you will find many free science applications available for Linux.

RedHat Package Manager

In my opinion, the most success at installing software applications on Linux will be realized by using the RedHat Package Manager (RPM). A "package" is a collection of individual software modules (executables, libraries, and documentation) contained in a file with the extension .rpm.

After downloading an RPM file, to install the application, login as the root user and open a terminal window and enter the command shown below.

[root@localhost ~]#  rpm <package-name> -ivh

Don't forget Linux is case sensitive.

The options -ivh instruct the RedHat Package Manager to install the package, provide some feedback information, and display hash marks to show progress while performing the operation.

RPM Command Options

i install
e remove
U update
V verify
q query
V verbose
h provide hash marks
v provide feedback

This command will usually return "error: failed dependencies". Then you need to search the various RPM depositories on the Internet for the required packages. After downloading and installing additional RPM packages, you can check the installation with the command shown below.

rpm <package-name> -V

This command will usually return the message "Unsatisfied dependencies".

Maybe I'm being a little negative here, but I can only relay my own experience. If you are having difficulty meeting all the dependency requirements for an application, you can search the Internet for information related to the error you are receiving. More than likely you will find some individual who has encountered the same problem and worked their way though it.

For example, after much effort in attempting to install an application to display Windows HTML Help files, I search the Internet and found the information below. With information, I was able to successfully install the xchm application.

Download the following rpms and install them in the same sequence as listed.


xchm allows you to display only basic Windows HTML Help files, not the ebooks you download from this website, which contain Java Script.

Information about the software installed on your system is stored in the /var/lib/rpm directory. In that directory, the main database of installed software is in the file "Packages". To list all the packages installed on your system, in a terminal windows type the command shown below.

[root@localhost ~]# rpm -Va

Add or Remove Packages

The Fedora graphical package management tool is called "Add or Remove Packages". It can only install or remove software, you'll still need to use the command line to perform other package management functions. It organizes packages into groups.


Clicking on the "Details" link provies details about the installed applications.

Yellow Dog Update Manager

Fedora includes the ellow Dog Update Manager (YUM). Use the command shown below to install an application with Yum.

Yum Install <package name>

Yum is supposed to track down the package you request, along with any required dependency files, download them, and install them for you. Good luck with that. For more information about Yum visit


Synaptic is a graphical package management tool available for Fedora that works with Apt, the package management tool that come with the Debian Linux distribution. For more information about Synaptic visit

There are several other package management tools available for Fedora. The mode of operation for Linux software application installation is, rather than provide complete easy to use install programs, search the Internet for bits and pieces of applications. This is a band-aid fix resulting from Linux root as a geeks operating system. With this kind of thinking, Linux will not be replacing Windows on the desktop anytime soon.

To be fair, I'll point out that Fedora installation discs usually contain gimp, Openoffice, MySQL, Apache, and hundreds of other powerful applications. You can do anything you need to do without ever downloading any RPM packages from the Internet.

Learn more at

More Windows Administration Information:
• Virtualization Technology an Emerging Technology
• An introduction to the Linux Boot and Startup Processes
• Configuration of Conky System Monitor for Linux
• Easy Way to Install Linux
• Understanding the Linux Boot Process
• Installing Software on Fedora
• How to Partition a Drive for Linux and Microsoft Windows
• What You Need to Know to Set Up a Simple Firewall in Linux
• Connecting Linux to the Internet
• Commands to Display Your Linux Computer's Hardware Information