<!-- Subversion revision of original English document "1604" -->
<!--
   Chinese version: $Revision: 1.1 $
   -->  

<chapt id="software">Debian 的软件系统

<sect id="apps">&debian; 上有那些应用程序与开发软件?

<p>和大多数发行版一样, &debian;提供:
<list>
  <item>用于软件开发, 文档管理, 文字处理的主要的 GUN 应用程序, 包括gcc, g++,  make, texinfo, Emacs, Bash shell 和众多的改进版 UNIX 程序,
  <item>Perl, Python, Tcl/Tk 以及各种的相关软件, 模块, 库文件,
  <item>TeX (LaTeX) 和 Lyx, dvips, Ghostscript,
  <item>X 窗口管理程序, 为 Linux 提供了互联的图形用户界面, 和包括 GNOME 在内的 X 图形应用程序,
  <item>一整套网络应用程序, 包括用于互联网协议的服务器如 HTTP (WWW), FTP, NNTP (news), SMTP 和 POP (mail) ， name server; 也包括网页浏览器和开发工具.
</list>

<p>包含超过 &main-pkgs; 个包, 从新闻服务器到读者语音支持, 传真程序 ,数据库与电子表格, 图形处理, 通信, 网络和邮件工具, 网页服务器, 甚至 ham-radio 程序.另外的 &contrib-nonfree-pkgs; 组 Debian 软件包, 因为许可证的原因, 没有成为 Debian 的正式组成部.

<sect id="softwareauthors">谁写的这些软件?

<p>每个软件的<em>作者</em>的名字都在/ <tt>/usr/doc/PACKAGE/copyright</tt> 文件中, 这里 PACKAGE 指软件包的名称.

<p>系统的每个软件的<em>维护者</em>都被写在和软件包在一起的控制文件(参阅 <ref id="controlfile">)中.

<sect id="pkglist">如何得到Debian的当前已开发软件列表?

<p>有两种方式获取一个完整的列表:
<taglist>
  <tag><item>任何一个 <url name="Debian 镜像" id="http://www.debian.org/distrib/ftplist"> 的 <tt>indices/Maintainers</tt> 文件中都有一个可分发包的列表, 文件包括包名及其维护者的名字, e-mail.

  <tag><item>任何一个 url name="Debian non-US 镜像" id="http://www.debian.org/mirror/list-non-US"> 的 <tt>indices-non-US/Maintainers</tt> 文件中都有一个美国禁止出口包的列表, 包括包名及其维护者的名字,e-mail.
</taglist>

<p>Debian包的www查询页面大概20类The <url name="Debian 包的 WWW 查询页面"
id="http://packages.debian.org/"> 大概20类.

<sect id="missing">&debian; 缺少什么?

<p><url id="http://www.debian.org/devel/wnpp/" name="开发中和预期开发表">, 列举了所需的软件包.

<p>更多信息参见 <ref id="contrib">.

<sect id="no-devs">我编译程序时为什么会有 "ld: cannot find -lfoo" 提示?Debian 的库文件里怎么没有?

<p>Debian 规则要求符号链接(类似于 libfoo.so.x.y.z)位于不同的包中, 这些包通常命名为libfoo-dev 或 libfooX-dev(假设库包是 libfooX, X 是个整数).

<sect id="java">Debian 支持 Java 吗?

<p>因为 Sun 官方的 JVAV 开发工具是非自由软件, 因此不能加入 Debian. 但是可以获得Debian 软件包格式的 JAVA 的 JDK 和几个 <em>free</em> 的工具, 你可以使用 Debian 来开发, 调试, 运行 JAVA 程序.

<p>运行 JAVA 小程序(applet), 需要 web 浏览器有识别执行它们的能力, Debian 的一些浏览器如 Mozilla, Konqueror 都支持运行 JAVA 所需的插件, 也能找到 non-free 的 Debian 格式 Netscape 软件包, 它也能运行 JAVA 小程序(applet).

<p> 更多信息参见 <url name="Debian Java FAQ"
id="http://www.debian.org/doc/manuals/debian-java-faq/">.

<sect id="isitdebian">怎么确定我正在使用的是 Debian 系统, 怎么检查它的版本?

<p>通过检查是否存在 <tt>/etc/debian_version</tt> 文件来确认你的系统是不是 Debian, 这个文件中包含了一行显示你的版本号的文字, 这是由 <tt>base-files</tt> 包给定的.

<p><tt>dpkg</tt> 程序的存在使得在你的系统上安装 Debian 包成为可能, 但是这个程序移植到其他系统或构架上后, 不再是一个可靠的鉴别方法.

<p>用户应该知道, Debian 由很多部分构成, 每一部分(几乎)都可以单独升级, 每个版本都有定义好的固定不变的内容. 分步更新是可以的, 使用 <tt>dpkg --list foo</tt> 命令可得到 <tt>foo</tt>, 包的安装状态. 查看所有包的版本, 运行
<example>dpkg -l</example>

更多信息:
  <example>dpkg --status foo</example>

<sect id="nonenglish">对其他语言(非英语)支持的怎么样?

<p><list>
  <item>&debian; 发行版包含很多键盘的键盘映射(keymaps)表, 并提供工具(<tt>kbd</tt> 软件包中)安装, 查看, 修改这写表格.
    <p>安装时会提示用户选择正确的键盘.
  <item>大多数的软件支持在非 US-ASCII 字符的其他拉丁语系(如 ISO-8859-1 或 ISO-8859-2)下使用, 很多程序支持如中文或日文的多字节语言.
  <item>现在, <tt>manpages-LANG</tt>(LANG 是两位的 ISO 国家代码)软件包提供德, 西班牙, 芬兰, 法, 匈牙利, 意大利, 日, 朝鲜, 和波兰语的用户手册. 要使用一个 NLS 手册, 必须正确的设置 shell 的 LC_MESSAGES 变量.
    <p>例如, 要使用意大利语的手册应将 LC_MESSAGES 设为 'italian', man 程序就会到 <tt>/usr/share/man/it/</tt> 下寻找意大利语的手册.
</list>

<sect id="usexports">关于 US 的出口限制?

<p>美国法律中限制密码软件的出口. PGP, ssh 等都在此列.

<p>为了避免不必要的法律问题, 某些 Debian GNU/Linux 软件包, 仅在 <url id="ftp://non-US.debian.org/debian-non-US/"> 提供. 此类镜像站点的完整列表见
<url id="ftp://non-US.debian.org/debian-non-US/README.non-US">.

<sect id="pine">如何得到 pine?

<p>因为许可证的限制, pine 被放在非自由(non-free)区域, 而且, 许可证甚至不允许分发修改后的二进制程序, 因此你必须自己编译源代码和 Debian 补丁.

<p>源码包名是 <package/pine/. 你可以用<package/pine-tracker/ 获取更新通知.

<p>注意有很多 pine 和 pico 的替代品, 如 main 区的m<package/mutt/ 和 <package/nano/.
