The Debian GNU/Linux FAQ
Chapter 4 - Software available in the Debian system
4.1 What types of applications and development software are available for Debian GNU/Linux?
Like most Linux distributions, Debian GNU/Linux provides:
the major GNU applications for software development, file manipulation, and
text processing, including gcc, g++, make, texinfo, Emacs, the Bash shell and
numerous upgraded Unix utilities,
Perl, Python, Tcl/Tk and various related programs, modules and libraries for
each of them,
TeX (LaTeX) and Lyx, dvips, Ghostscript,
the X Window System, which provides a networked graphical user interface for
Linux, and countless X applications including GNOME,
a full suite of networking applications, including servers for Internet
protocols such as HTTP (WWW), FTP, NNTP (news), SMTP and POP (mail) and name
server; also provided are web browsers, and development tools.
More than 7890 packages, ranging from news servers and readers to sound
support, FAX programs, database and spreadsheet programs, image processing
programs, communications, net, and mail utilities, Web servers, and even
ham-radio programs are included in the distribution. Another 350 software
suites are available as Debian packages, but are not formally part of Debian
due to license restrictions.
4.2 Who wrote all that software?
For each package the authors of the program(s) are credited in the
file /usr/doc/PACKAGE/copyright, where PACKAGE is to be
substituted with the package's name.
Maintainers who package this software for the Debian GNU/Linux system
are listed in the Debian control file (see What is a Debian control file?, Section
6.4) that comes with each package.
4.3 How can I get a current list of programs that have been packaged for Debian?
A complete list is available in two parts:
the list of packages that can be distributed everywhere
from any of the Debian
mirrors, in the file indices/Maintainers. That file
includes the package names and the names and e-mails of their respective
maintainers.
the list of packages that cannot be exported from the US
from any of the Debian
non-US mirrors, in the file indices-non-US/Maintainers.
That file includes the package names and the names and e-mails of their
respective maintainers.
4.5 Why do I get "ld: cannot find -lfoo" messages when compiling programs? Why aren't there any libfoo.so files in Debian library packages?
Debian Policy requires that such symbolic links (to libfoo.so.x.y.z or similar)
are placed in separate, development packages. Those packages are usually named
libfoo-dev or libfooX-dev (presuming the library package is named libfooX, and
X is a whole number).
4.6 (How) Does Debian support Java?
Since the official Java Development kit from Sun Microsystems is non-free
software, it cannot be included in Debian proper. However, both the JDK and
several free implementations of Java technology are available as
Debian packages. You can write, debug and run Java programs using Debian.
Running a Java applet requires a web browser with the capability to recognize
and execute them. Several web browsers available in Debian, such as Mozilla or
Konqueror, support Java plug-ins that enable running Java applets within them.
Netscape Navigator, while non-free, is also available as a Debian package and
it can run Java applets.
4.7 How can I check that I am using a Debian system, and what version is it?
In order to make sure that your system has been installed from the real Debian
base disks check for the existence of /etc/debian_version file,
which contains a single one-line entry giving the version number of the
release, as defined by the package base-files.
The existence of the program dpkg shows that you should be able to
install Debian packages on your system, but as the program has been ported to
many other operating systems and architectures, this is no longer a reliable
method of determining is a system Debian GNU/Linux.
Users should be aware, however, that the Debian system consists of many parts,
each of which can be updated (almost) independently. Each Debian
"release" contains well defined and unchanging contents. Updates are
separately available. For a one-line description of the installation status of
package foo, use the command dpkg --list foo. To
view versions of all installed packages, run:
dpkg -l
For a more verbose description, use:
dpkg --status foo
4.8 How does Debian support non-English languages?
Debian GNU/Linux is distributed with keymaps for nearly two dozen keyboards,
and with utilities (in the kbd package) to install, view, and
modify the tables.
The installation prompts the user to specify the keyboard he will use.
Vast majority of the software we packaged supports entering non-US-ASCII
characters used in other Latin languages (e.g. ISO-8859-1 or ISO-8859-2), and
a number of programs support multi-byte languages such as Japanese or Chinese.
Currently, support for German-, Spanish-, Finnish-, French-, Hungarian-,
Italian-, Japanese-, Korean- and Polish-language manual pages is provided
through the manpages-LANG packages (where LANG is the two-letter
ISO country code). To access an NLS manual page, the user must set the shell
LC_MESSAGES variable to the appropriate string.
For example, in the case of the Italian-language manual pages, LC_MESSAGES
needs to be set to 'italian'. The man program will then search
for Italian manual pages under /usr/share/man/it/.
4.9 What about the US export regulation limitations?
US laws place restrictions on the export of defense articles, which includes
some types of cryptographic software. PGP and ssh, among others, fall into
this category.
Due to its restrictive license, it's in the non-free area. Moreover, since
license does not even allow modified binaries to be distributed, you have to
compile it yourself from the source and the Debian patches.
The source package name is pine. You can use the
pine-tracker package to be notified about when you need to
upgrade.
Note that there are many replacements for both pine and pico, such as
mutt and nano, that are located in the main section.