第 5 章 Debian 系统中可用的软件
目录
- 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-depfoo
# apt-get source --buildfoo
注意,如果您想要构建 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 的其他软件(qmail
、daemontools
、ucspi-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 系统中可用的软件的更多相关文章
- debian 系统中安装中文输入法
debian wiki 中关于此主题的文档 :https://wiki.debian.org/InputMethodBuster 在图形界面选择 gnome,输入法程序选择 ibus 的情况下,配置较 ...
- 替换 Docker 或 Laradock 中 Debian 系统镜像源解决软件安装问题
Docker Debian 镜像源替换 因多数默认的 Docker 镜像为国外的,而采用的镜像源也是国外的,故访问很慢,所以我们需要替换为国内的(比如阿里云或163等). 163 - Debian A ...
- debian系统中添加sudo权限
刚安装好的Debian默认还没有sudo功能.1.安装sudo# apt-get install sudo2.修改 /etc/sudoers 文件属性为可写# chmod +w /etc/sudoer ...
- 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 ...
- debian 系统中安装 broadcom 无线网卡驱动
首先要修改 apt 的配置文件,允许安装 non-free 软件.即在 /etc/apt/sources.list 中生效的行的最后加上 contrib non-free,再使用 apt-get up ...
- 命令行翻译 推荐一个linux系统中可用的终端小程序
程序的github地址:https://github.com/fanbrightup/fanyi 使用起来非常简单,同时支持中英文互译甚至是整句. 步骤一:首先你需要安装node,参见我的node安装 ...
- Pyqt 获取windows系统中已安装软件列表
开始之前的基础知识 1. 获取软件列表 在Python的标准库中,_winreg可以操作Windows的注册表.获取已经安装的软件列表一般是读去windows的注册表: SOFTWARE\Micros ...
- 第十七章——配置SQLServer(2)——32位和64位系统中的内存配置
原文:第十七章--配置SQLServer(2)--32位和64位系统中的内存配置 前言: 本文讲述32位和64位系统中的内存配置,在SQLServer 2005/2008中,DBA们往往尝试开启AWE ...
- 获取Windows系统中的所有可用和在用串口
目的:获取Windows系统中的所有可用和在用串口 方法:注册表查询法 优点:简单.实用.快速.无遗漏,无多余结果. 说明:另外还有8种方法可以枚举串口,但都不如此法. 代码和详细注释如下: //-- ...
- 在Debian/Ubuntu系统中安装*.sh与*.bin文件
在Debian/Ubuntu系统中安装*.sh与*.bin文件的基本方法.一,安装*.sh文件运行命令行至文件目录下,执行:sudo sh *.sh直接运行在命令行中执行:sudo chmod +x ...
随机推荐
- USB PD和USB TYPE-C 的区别
USB Power Delivery (USB PD) 和 USB Type-C 是两个不同但相关的技术标准,它们在功能和应用上有所区别. 1. USB Type-C 连接器标准: USB Type- ...
- .NetCore 目录浏览 和 静态文件
1. 静态文件 包:microsoft.aspdotnet.staticfiles app.UseStaticFiles() 会默认找到 wwwroot文件夹 // 匹配到指定条件然后执行中间件 ...
- .Net 的扩展方法
// 扩展方法 // ps:js中的扩展方法 比如 给数组定义一个自定义的全局的方法 使用 prototype (原型链) // .Net 给 string 添加一些扩展方法 String 是一个密封 ...
- Python之爬虫-全民k歌
import re import os import requests from aip import AipSpeech from pydub import AudioSegment APP_ID ...
- 一文详述:AI 网关与 API 网关到底有什么区别?
近年来AI 发展火热,大模型已经成为推动各行各业业务创新和增长的关键力量.随之而来问题是"企业该如何安全管理和部署AI应用的挑战?"AI基础架构的设计不仅要支持现有的业务需求,还要 ...
- 如何集成化管理API_方便企业内外部调用?
API 已成为企业数字战略中不可或缺的一部分.它们使不同软件系统.应用程序和服务之间能够高效.灵活地相互沟通.API不仅能提升企业内部各部门之间的协作效率,还能加强与外部合作伙伴及客户之间的互动. A ...
- [Dest0g3 520迎新赛]funny_upload
打开靶机抓包发现过滤代码 发现.htaccess能上传后传入图片马 发现内容对<?进行过滤 我们换一种方式写后门代码 <script language="php"> ...
- 现在 Llama 具备视觉能力并可以在你的设备上运行 - 欢迎使用 Llama 3.2
Llama 3.2 来了!今天,我们欢迎 Llama 系列的下一个版本加入 Hugging Face.这次,我们很高兴与 Meta 合作发布多模态和小型模型.在 Hub 上提供了十个开源模型 (5 个 ...
- 洛谷P1644跳马问题
跳马问题 题目链接 题目背景 在爱与愁的故事第一弹第三章出来前先练练四道基本的回溯/搜索题吧-- 题目描述 中国象棋半张棋盘如图 \(1\) 所示.马自左下角 \((0,0)\) 向右上角 \((m, ...
- RocketMQ 5.0 如何配置TLS加密传输?
本文作者:李伟,社区里大家叫小伟,Apache RocketMQ Committer,RocketMQ Python客户端项目Owner ,Apache Doris Contributor,腾讯云Ro ...