目录

5.1. Debian GNU/Linux 收录了哪些类型的应用程序和开发工具?
5.2. 谁编写了所有这些软件?
5.3. 我应该如何获得一份 Debian 打包的程序的最新列表?
5.4. 我应该如何安装能够构建软件包的开发环境?
5.5. Debian GNU/Linux 缺少什么软件包?
5.6. 我编译程序时为什么会出现“ld: cannot find -lfoo”错误?为什么 Debian 库软件包里没有任何 libfoo.so 文件?
5.7. Debian 是否支持 Java?支持情况如何?
5.8. 我应该如何确认我正在使用的是 Debian 系统,以及使用的是哪一个版本?
5.9. Debian 对非英语语言的支持如何?
5.10. ezmlm/djbdns/qmail 在哪里?
5.11. Flash(SWF)播放器在哪里?
5.12. Google Earth 在哪里?
5.13. VoIP 软件在哪里?
5.14. 我有一张无线网卡不支持 Linux。我该怎么办?

5.1. Debian GNU/Linux 收录了哪些类型的应用程序和开发工具?

和大多数 Linux 发行版类似,Debian GNU/Linux 提供:

  • 用于软件开发、文件管理和文本处理的重要的 GNU 应用,包括 gcc、g++、make、textinfo、Emacs、Bash shell 以及众多改进过的 Unix 工具,

  • Perl、Python、Tcl/Tk 以及用于它们的各种相关的程序、模块和库,

  • Tex(LaTeX)和 Lyx、dvips、Ghostscript,

  • Xorg 窗口系统,它为 Linux 提供了一个基于网络的图形用户界面,以及无数的 X 应用程序,包括 GNOME、KDE 和 Xfce 桌面环境,

  • 一套完整的网络应用程序,包括各种互联网协议的服务器,例如 HTTP(万维网)、FTP、NNTP(新闻)、SMTP 和 POP(电子邮件)以及 DNS(域名服务器);关系数据库,例如 PostgreSQL、MySQL;以及网络浏览器,包括各种 Mozilla 产品,

  • 一套完整的办公应用,包括 LibreOffice 生产力套件、Gnumeric 及其他电子表格应用、所见即所得(WYSIWYG)编辑器、日历。

本发行版包含超过 58100 个软件包,囊括了新闻服务器、新闻阅读器、税务软件、数据库和电子表格应用、图像处理程序、通讯软件、网络工具、邮件工具、Web 服务器,甚至是业余无线电程序。另有 1000 个软件套件作为 Debian 软件包提供,但由于许可证的限制,它们不是 Debian 的正式组成部分。

5.2. 谁编写了所有这些软件?

对于所有软件包,它们的作者都记录在文件 /usr/share/doc/PACKAGE/copyright 中,其中 PACKAGE 需要替换为该软件包的名字。

在 Debian GNU/Linux 系统中打包该软件的维护者记载于各软件包的 Debian 控制文件(参见第 7.4 节 “什么是 Debian 控制文件?”)。位于 /usr/share/doc/PACKAGE/changelog.Debian.gz 的 Debian 变更日志,记载了其他曾为 Debian 打包作出贡献的人。

5.3. 我应该如何获得一份 Debian 打包的程序的最新列表?

完整的列表可以在任何一个 Debian 镜像站点获得,位于文件 indices/Maintainers。该文件包括了软件包的名称和对应的维护者的姓名和电子邮件。

Debian 软件包的 WWW 界面很方便地汇总了 Debian 仓库的大约三十个“区”的软件包。

5.4. 我应该如何安装能够构建软件包的开发环境?

如果您想要在 Debian 系统中构建软件包,您需要一个基本的开发环境,包括 C/C++ 编译器和其他一些必备的软件包。要安装该环境,您只需要安装 build-essential 软件包。这是个元软件包,或称作占位软件包,它依赖构建 Debian 软件包需要的标准开发工具。

不过,有些软件可能需要额外的软件才能被重新构建,这些依赖包括库的头文件或其他工具,例如 autoconf 或 gettext。Debian 提供了将其他软件编译为 Debian 软件包时需要的许多工具。

准确地找出需要哪些依赖可能是很困难的,除非您打算重新编译的是 Debian 软件包。后者相对来说比较容易,因为官方的软件包必须包含编译该软件包需要的额外的软件(除了 build-essential 中的软件包以外)的列表,这叫做编译时依赖(Build-Dependencies)。要安装编译指定源码包所需的全部软件包,并编译该源码包,您只需运行:

# apt-get build-dep foo
# apt-get source --build foo

注意,如果您想要构建 Debian 分发的 Linux 内核,您还需要安装 kernel-package 软件包。欲了解更多信息,请阅读第 10.2 节 “Debian 提供了哪些工具来编译定制内核?”

5.5. Debian GNU/Linux 缺少什么软件包?

有一个 Debian 需要打包的软件包列表,叫做需要帮助和预期的软件包列表

欲了解关于添加缺少的软件包的详细信息,请阅读第 13 章 向 Debian 计划作出贡献

5.6. 我编译程序时为什么会出现“ld: cannot find -lfoo”错误?为什么 Debian 库软件包里没有任何 libfoo.so 文件?

Debian 政策(Debian Policy)要求这类符号链接(到 libfoo.so.x.y.z 或类似文件)需放在单独的开发软件包中。这些软件包通常命名为 libfoo-dev 或者 libfooX-dev(假设库软件包名为 libfooX,X 为整数)。

5.7. Debian 是否支持 Java?支持情况如何?

一些 Java 的自由实现有 Debian 软件包可用,既可以提供 JDK,也可以提供 JRE。您可以使用 Debian 编写、调试及运行 Java 程序。

运行 Java applet 需要一个能够识别并执行它的网络浏览器。Debian 收录的几个浏览器,例如 Mozilla 和 Konqueror,支持 Java 插件,可以用来运行 Java applet。

请阅读 Debian Java FAQ 以了解更多信息。

5.8. 我应该如何确认我正在使用的是 Debian 系统,以及使用的是哪一个版本?

要确认您的系统是从真正的 Debian 基本光盘安装的,请使用

lsb_release -a

命令。这会显示发行版的名称(在 Distributor ID 字段)和系统的版本号(在 Release 和 Codename 字段)。以下是在一个 Debian 系统中的运行结果示例:

$ lsb_release -a
No LSB modules are available.
Distributor ID: Debian
Description: Debian GNU/Linux 7.4 (wheezy)
Release: 7.4
Codename: wheezy

您也可以检查是否存在 /etc/debian_version 文件,它仅有一行,给出了系统的版本号,是由软件包 base-files 定义的。

然而,您需要注意的是,Debian 系统包括许多组成部分,每一部分都(几乎)可以独立升级。每个 Debian“发布版本”都包含良好定义的、不变的内容。而更新会单独提供。要得到一行关于软件包 foo 安装状态的描述,请执行 dpkg --list foo。要得到更详细的描述,请使用:

dpkg --status foo

要查看所有已安装的软件包的版本,请运行:

dpkg -l

注意,程序 dpkg 的存在意味着您可以在您的系统上安装 Debian 软件包。然而,因为该程序已被移植到了许多其他的操作系统和架构上,所以再也没有一个可靠的方法来确定一个系统是不是 Debian GNU/Linux 了。

5.9. Debian 对非英语语言的支持如何?

  • Debian GNU/Linux 包含大约二十多种键盘布局的键盘映射表,也有工具(位于 kbd 软件包)可以安装、查看和编辑这些映射。

    安装过程会提示用户选择键盘布局。

  • Debian 几乎所有的软件都支持以 UTF-8 作为字符集。旧的字符集,例如 ISO-8859-1 和 ISO-8859-2,应当被视作是过时的。

  • 当前,对德语、西班牙语、法语、匈牙利语、意大利语、日语、韩语、荷兰语、波兰语、葡萄牙语、俄语、土耳其语,以及中文手册页的支持,通过 manpages-LANG 软件包提供(其中 LANG 是两个字母的 ISO 国家代号)。要访问本地语言支持(NLS)的手册页,用户需要将 shell 的 LC_MESSAGES 环境变量设置为适当的字符串。

    例如,如果要使用意大利语的手册页,LC_MESSAGES 需要设置为“italian”。然后 man 程序就会在 /usr/share/man/it/ 下搜索意大利语手册页。

5.10. ezmlm/djbdns/qmail 在哪里?

Dan J. Bernstein 曾经将他编写的所有软件以一个限制性的许可证发布,不允许发布修改的二进制文件。然而,在 2007 年 11 月,Bernstein 表示 “……我已决定将我过去及未来编写的所有软件发布至公有领域……”。参见发布者的 FAQ 以了解他的发布条款。

截至本段写就时(2016 年 3 月),ezmlm-idx 仅在 experimental 仓库提供(mlmmj 也类似,并随 Debian jessie 提供);djbdns 仅在 sid(unstable)提供,参见 Bug #516394 和 Bug #796118 以了解详细信息,一个类似的替代品是 dbndns 软件包;publicfile 软件仍不是自由软件,publicfile-installer 软件包在 Debian 的 contrib 区提供。

Dan J. Bernstein 的其他软件(qmaildaemontoolsucspi-tcp)随 Debian 提供。

5.11. Flash(SWF)播放器在哪里?

Debian 提供 gnash 和 swfdec:两个自由的 SWF 短片播放器。

5.12. Google Earth 在哪里?

Google Earth 的 GNU/Linux 版本在 Google 的网站上可以找到,但它不仅不是自由软件,而且第三方完全不能重新发布它。不过,googleearth-package(在 contrib 区)可能可以为使用该软件提供帮助。

5.13. VoIP 软件在哪里?

VoIP 有两个主要的开放协议:SIP 和 H.323。在 Debian main 中,两个协议都有多个软件实现。ekiga 是流行的客户端之一。

5.14. 我有一张无线网卡不支持 Linux。我该怎么办?

买一个支持的 :)

另外,也可以用 ndiswrapper 实现在 Linux 系统上使用 Windows 的驱动(如果您有的话)。参见 Debian 维基的 ndiswrapper 页面以了解更多信息。

第 5 章 Debian 系统中可用的软件的更多相关文章

  1. debian 系统中安装中文输入法

    debian wiki 中关于此主题的文档 :https://wiki.debian.org/InputMethodBuster 在图形界面选择 gnome,输入法程序选择 ibus 的情况下,配置较 ...

  2. 替换 Docker 或 Laradock 中 Debian 系统镜像源解决软件安装问题

    Docker Debian 镜像源替换 因多数默认的 Docker 镜像为国外的,而采用的镜像源也是国外的,故访问很慢,所以我们需要替换为国内的(比如阿里云或163等). 163 - Debian A ...

  3. debian系统中添加sudo权限

    刚安装好的Debian默认还没有sudo功能.1.安装sudo# apt-get install sudo2.修改 /etc/sudoers 文件属性为可写# chmod +w /etc/sudoer ...

  4. Debian系统中当安装deb软件时出现:deb cdrom:[Debian GNU/Linux 9.3.0 _Stretch_ - Official amd64 DVD Binary-1 20171209-12:11]/ stretch contrib main

    vi /etc/apt/sources.list // 注释掉下面这句话# deb cdrom:[Debian GNU/Linux 9.3.0 _Stretch_ - Official amd64 D ...

  5. debian 系统中安装 broadcom 无线网卡驱动

    首先要修改 apt 的配置文件,允许安装 non-free 软件.即在 /etc/apt/sources.list 中生效的行的最后加上 contrib non-free,再使用 apt-get up ...

  6. 命令行翻译 推荐一个linux系统中可用的终端小程序

    程序的github地址:https://github.com/fanbrightup/fanyi 使用起来非常简单,同时支持中英文互译甚至是整句. 步骤一:首先你需要安装node,参见我的node安装 ...

  7. Pyqt 获取windows系统中已安装软件列表

    开始之前的基础知识 1. 获取软件列表 在Python的标准库中,_winreg可以操作Windows的注册表.获取已经安装的软件列表一般是读去windows的注册表: SOFTWARE\Micros ...

  8. 第十七章——配置SQLServer(2)——32位和64位系统中的内存配置

    原文:第十七章--配置SQLServer(2)--32位和64位系统中的内存配置 前言: 本文讲述32位和64位系统中的内存配置,在SQLServer 2005/2008中,DBA们往往尝试开启AWE ...

  9. 获取Windows系统中的所有可用和在用串口

    目的:获取Windows系统中的所有可用和在用串口 方法:注册表查询法 优点:简单.实用.快速.无遗漏,无多余结果. 说明:另外还有8种方法可以枚举串口,但都不如此法. 代码和详细注释如下: //-- ...

  10. 在Debian/Ubuntu系统中安装*.sh与*.bin文件

    在Debian/Ubuntu系统中安装*.sh与*.bin文件的基本方法.一,安装*.sh文件运行命令行至文件目录下,执行:sudo sh *.sh直接运行在命令行中执行:sudo chmod +x ...

随机推荐

  1. USB PD和USB TYPE-C 的区别

    USB Power Delivery (USB PD) 和 USB Type-C 是两个不同但相关的技术标准,它们在功能和应用上有所区别. 1. USB Type-C 连接器标准: USB Type- ...

  2. .NetCore 目录浏览 和 静态文件

    1.  静态文件 包:microsoft.aspdotnet.staticfiles app.UseStaticFiles()  会默认找到 wwwroot文件夹 // 匹配到指定条件然后执行中间件 ...

  3. .Net 的扩展方法

    // 扩展方法 // ps:js中的扩展方法 比如 给数组定义一个自定义的全局的方法 使用 prototype (原型链) // .Net 给 string 添加一些扩展方法 String 是一个密封 ...

  4. Python之爬虫-全民k歌

    import re import os import requests from aip import AipSpeech from pydub import AudioSegment APP_ID ...

  5. 一文详述:AI 网关与 API 网关到底有什么区别?

    近年来AI 发展火热,大模型已经成为推动各行各业业务创新和增长的关键力量.随之而来问题是"企业该如何安全管理和部署AI应用的挑战?"AI基础架构的设计不仅要支持现有的业务需求,还要 ...

  6. 如何集成化管理API_方便企业内外部调用?

    API 已成为企业数字战略中不可或缺的一部分.它们使不同软件系统.应用程序和服务之间能够高效.灵活地相互沟通.API不仅能提升企业内部各部门之间的协作效率,还能加强与外部合作伙伴及客户之间的互动. A ...

  7. [Dest0g3 520迎新赛]funny_upload

    打开靶机抓包发现过滤代码 发现.htaccess能上传后传入图片马 发现内容对<?进行过滤 我们换一种方式写后门代码 <script language="php"> ...

  8. 现在 Llama 具备视觉能力并可以在你的设备上运行 - 欢迎使用 Llama 3.2

    Llama 3.2 来了!今天,我们欢迎 Llama 系列的下一个版本加入 Hugging Face.这次,我们很高兴与 Meta 合作发布多模态和小型模型.在 Hub 上提供了十个开源模型 (5 个 ...

  9. 洛谷P1644跳马问题

    跳马问题 题目链接 题目背景 在爱与愁的故事第一弹第三章出来前先练练四道基本的回溯/搜索题吧-- 题目描述 中国象棋半张棋盘如图 \(1\) 所示.马自左下角 \((0,0)\) 向右上角 \((m, ...

  10. RocketMQ 5.0 如何配置TLS加密传输?

    本文作者:李伟,社区里大家叫小伟,Apache RocketMQ Committer,RocketMQ Python客户端项目Owner ,Apache Doris Contributor,腾讯云Ro ...