9. Application Software Management

Q: How To Determine What Packages Are Installed on a System
Q: How Do I Find a Particular Application?
Q: What Software does Linux Support?
Q: Can Linux Use True Type Fonts?
Q: Can Linux Run Microsoft Windows Programs?
Q: How Do I Install GNU Software?
Q: Where Can I Get Java?
Q: Where Can I Find Kermit for Linux?
Q: Is There an ICQ Program That Runs under Linux?

Q: How To Determine What Packages Are Installed on a System

A: For distributions that use RPM format packages, use the command:

 $ rpm -qa 

You need to be logged in as root. You can save the output to a text file for future reference, a command like:

 $ rpm -qa >installed-packages 

A: For Debian systems, the equivalent command is:

$ dpkg -l 

A: For Slackware and Slackware based distributions, look in the directory /var/log/packages.

[Steven J. Hathaway]

There is one file that describes the contents of each *.tgz package installed on your system.

Q: How Do I Find a Particular Application?

A: Look first in the Linux Software Map. It's at: ftp://metalab.unc.edu/pub/Linux/docs/linux-software-map/, and on the other FTP sites. A search engine is available on the World Wide Web at http://www.boutell.com/lsm/.

Also check out the Freshmeat Web site: http://www.freshmeat.net, which is where many new announcements of free software first appear. Freshmeat is basically a site index that continuously updates the notices of new or upgraded software for Linux, and maintains indexes of the announcements and links to their URL's.

The FTP sites (Where Are the Linux FTP Archives?) often have ls-lR or INDEX directory listings which you can search using grep or a text editor. The directory listings files can be very large, however, making them unwieldy for quick searches.

Also look at the Linux Project's Map: ftp://ftp.ix.de/pub/ix/Linux/docs/Projects-Map.gz.

There's a search engine for Linux FTP archives at: http://lfw.linuxhq.com.

Searching for "Linux" on the World Wide Web provides copious references. (Where Is the Linux Stuff on the World Wide Web?)

If you don't find anything, you could download the sources to the program yourself and compile them. See (How Do I Port XXX to Linux?). If it's a large package that may require some porting, post a message to news:comp.os.linux.development.apps. The popularity of Linux makes this an extremely unlikely occurrence. The great majority of software available on other Unix-type systems has already been ported to Linux.

If you compile a large-ish program, please upload it to one or more of the FTP sites, and post a message to news:comp.os.linux.announce (submit your posting to linux-announce@news.ornl.gov.

If you're looking for an application program, the chances are that someone has already written a free version. The news:comp.sources.wanted FAQ has instructions for finding the source code.

Q: What Software does Linux Support?

A: Linux runs all of the standard open source utilities, like GCC, (X)Emacs, the X Window System, all the standard Unix utilities, TCP/IP (including SLIP and PPP), and all of the hundreds of programs that people have compiled or ported to it.

There is a DOS emulator, called DOSEMU, that lets Linux run programs written for DOS. The latest stable release is 0.98.3. The FTP archives are at ftp://ftp.dosemu.org/dosemu. The Web site is http://www.dosemu.org.

The emulator can run DOS itself and some (but not all) DOS applications. Be sure to look at the README file to determine which version you should get. Also, see the DOSEMU-HOWTO (slightly dated at this point it doesn't cover the most recent version of the program), at ftp://metalab.unc.edu/pub/Linux/docs/HOWTO.

Work has been progressing on WINE, an emulator for Microsoft Windows binaries. See Can Linux Run Microsoft Windows Programs?.

Intel Binary Compatibility Standard (iBCS2) emulator code for SVR4 ELF and SVR3.2 COFF binaries can be included in the kernel as a compile-time option. There is information at ftp://tsx-11.mit.edu/pub/linux/BETA/ibcs2/README. For more information see the INFO-SHEET.

Some companies have commercial software available. They often announce their availability on news:comp.os.linux.announce try searching the archives. See Are the News Groups Archived Anywhere?.

Q: Can Linux Use True Type Fonts?

A: Yes. There are a number of True Type font servers for the X Window System. One of them is xfsft. Its home page is http://www.dcs.ed.ac.uk/home/jec/programs/xfsft/. There are also instructions for configuration.

A: Another True Type font server is xfstt

A: People have reported success with other True Type font servers. There are links from the xfsft Home Page to them as well.

A: You can also compile True Type Font support into your X server directly. Again, refer to the xfsft Home Page for details.

A: Debian users should consult the TT-Debian-HOWTO.

Q: Can Linux Run Microsoft Windows Programs?

A: If you need to run MS Windows programs, the safest bet is to dual-boot Windows and Linux. LILO, the Linux boot loader, can boot one of several operating systems from a menu. Booting Windows is obviously the most reliable way to run all your Windows programs. See the LILO documentation for details on dual booting. Also, LOADLIN.EXE (a DOS program to load a Linux, or other OS, kernel is one way to make Linux co-exist with DOS. LOADLIN.EXE is particularly handy when you want to install Linux on a 3rd or 4th drive on a system (or when you're adding a SCSI drive to a system with an existing IDE).

In these cases, it is common for LILO's boot loader to be unable to find or load the kernel on the "other" drive. So you just create a C:LINUX directory (or whatever), put LOADLIN.EXE in it with a copy of your kernel, and use that.

LOADLIN.EXE is a VCPI compliant program. Win95 will want to "shutdown into DOS mode," to run it (as it would with certain other DOS protected-mode programs).

Earlier versions of LOADLIN.EXE sometimes required a package called REALBIOS.COM, which required a boot procedure on an (almost) blank floppy to map the interrupt vectors (prior to the loading of any software drivers). (Current versions don't seem to ship with it, and don't seem to need it).

[Jim Dennis]

A: WINE (WINE Is Not an Emulator), is a reimplementation of Windows APIs for Linux and Unix. WINE is a great project with huge potential, but it is still not ready for general distribution. The WINE team is still working toward a 1.0 release. However, it is already capable of running many Windows programs. If you want to contribute to its development, look for the status reports in the news:comp.emulators.ms-windows.wine newsgroup.

There is also a FAQ, compiled by P. David Gardner, at ftp://metalab.unc.edu/pub/Linux/docs/faqs/Wine-FAQ/.

A: A proprietary program called VMWare is also available to let you run Windows under a Linux "host" operating system. See the company's website at http://www.vmware.com.

A: Another package that will help is Win4Lin, a proprietary package. Win4Lin also allows you to run many Windows programs under *NIX.

Here is how one user reports on Win4Lin:


I just finished installing it on a new installation of Mandrake 8.1 and I have found it to be very satisfactory. It only cost $49 (received a special offer after registering at their website for information). I installed it in just a very few minutes, and it now allows me to run all of the Windows applications programs I have been used to using for a long time (Pagemaker, Lview, Paint Shop Pro, Explorer etc.) in a window on one of my Linux KDE desktop screens ... concurrently with all of my Linux tools.

--Josef Lowder 

Q: How Do I Install GNU Software?

A: On a correctly configured system, installing a GNU software package requires four steps:

  1. With the source.tar.gz archive in the /usr/src/ directory, or wherever you maintain your source files, untar and decompress the package with the command:

     tar zxvf package-name.tar.gz 

  2. Run the ./configure script in the untarred source archive's top-level directory with whatever command line arguments you need. The options that configure recognizes are usually contained in a file called INSTALL or README.

  3. Run make. This will build the source code into an executable program (or programs) and may take a few minutes or a few hours, depending on the speed of the computer and the size of the package.

  4. Run make install. This will install the compiled binaries, configuration files, and any libraries in the appropriate directories.

Q: Where Can I Get Java?

A: The Sun Microsystems Java runtime environments and developer's kits are at http://java.sun.com

You can also get the source code, which is licensed by Sun Microsystems.

A: The home page of IBM's Jikes Java compiler is http://www10.software.ibm.com/developerworks/opensource/jikes.

A: There is a version of Sun's HotJava browser for Linux at: http://www.java.sun.com/products/hotjava/.

A: Kaffee, a free Java clone, is available from: http://www.kaffe.org.

A: There is a resource page of free and commercial Java packages at: http://www.blackdown.org/java-linux.html.

A: Netscape Communicator comes with its own version of the Java Runtime Environment, so if you need Java only to view Web graphics, you may already have the runtime version of the Java Virtual Machine and libraries that you need installed on your system. You can download Communicator from http://www.netscape.com.

Q: Where Can I Find Kermit for Linux?

A: Kermit is distributed under a non-GPL copyright that makes its terms of distribution somewhat different. The sources and some binaries are available on ftp://kermit.columbia.edu.

The WWW Home Page of the Columbia University Kermit project is http://www.columbia.edu/kermit/.

Q: Is There an ICQ Program That Runs under Linux?

A: Several ICQ clients are available on metalab.unc.edu. Refer to Where Are the Linux FTP Archives?). ICQ itself does not have a Linux client, but there is a Java client at http://www.mirabilis.com/download/.

Q; Where Can I Find lint for Linux?|lint-for-linux

A: Roughly equivalent functionality is built into GCC. Use the -Wall option to turn on most of the useful extra warnings. See the GCC manual for more details (type F1-i in Emacs and select the entry for GCC).

There is a freely available program called lclint that does much the same thing as traditional lint. The announcement and source code are available at ftp://ftp.sds.lcs.mit.edu/pub/lclint; on the World Wide Web, look at http://lclint.cs.virginia.edu.