第一章:获取更多帮助

FreeBSD项目支持各种各样的信息资源,包括许多邮件列表和FreeBSD网站、官方手册和Handbook。

为什么不寻求帮助?

FreeBSD提供了两种常用的帮助资源:邮件列表(mailing lists)和论坛(forums)。

学会自己搜索资源,做好功课。

FreeBSD的态度

The information technology business is nothing but lifelong, self-guided learning. Get used to it or get out.

终生学习,爱学不学,不学滚蛋。

No, you may not speak to a manager and for a good reason: you are the manager.

自我管理,自我升级。

支持选项

FreeBSD社区包括许多非常关心FreeBSD质量的开发人员、贡献者和用户,他们很乐意与愿意分担工作的用户合作。

FreeBSD提供了所需的一切:完全访问用于创建系统的源代码、将源代码转换为程序所需的工具、以及开发人员使用的相同调试器。

人们愿意帮助那些与自己兴趣相近的人。FreeBSD的一般支持社区根本没有动力去帮助那些不愿自助或无法遵循指示的人。

除了本书之外的可用资源,包括集成手册、FreeBSD网站、邮件列表和其他网站。

手册页

manual pages,缩写为 man pages。

呈现Unix文档的原始方式。

手册页以迟钝、困难甚至难以理解而闻名,但它实际上对特定用户非常友好。

手册页初始创建时,一般的系统管理员是C程序员,因此,这些页面是由程序员为程序员编写的。如果你能像程序员一样思考,手册页会非常适合你。

系统管理所需的技能水平有所下降,你不必再当程序员了。

同样,手册页也变得越来越易读。但手册页不是教程。它们解释一个特定程序的行为,而不是如何达到预期的效果。

如果你在没有查看手册的情况下向邮件列表发送问题,你可能会得到一个简单的回复:man whatever

手册章节

FreeBSD手册分为九个部分。大致来说,包括这些:

  1. General user commands
  2. System calls and error numbers
  3. C programming libraries
  4. Devices and device drivers
  5. File formats
  6. Game instructions
  7. Miscellancous information
  8. System maintenance commands
  9. Kernel interfaces

【注:以上是原作的内容。以下是当前分类:】

  1. General commands——一般命令
  2. System calls——系统调用
  3. Subroutines——子程序
  4. Special files——特殊文件
  5. File formats——文件格式
  6. Games——游戏
  7. Macros and conventions——宏和约定
  8. Maintenance commands——维护命令
  9. Kernel interface——内核接口
  10. New commands——新命令

每个手册页都以它记录的命令名称开头,后面是括号中的章节号,如:reboot(8)。

当你在其他文档中看到这种格式的内容时,它会告诉你阅读手册该部分的手册页。几乎每个主题都有一个手册页。例如,要查看编辑器vi的手册页,请键入以下命令:

作为回应,你应该看到以下内容:

页面以手册页的标题(vi)和章节号(1)开头,然后给出页面的名称。此特定页面有三个名称:ex、vi和view。键入man ex或man view将带您进入同一页面。

浏览手册页

按空格键或PGDN键可前进一个全屏。按Enter键或下箭头向下滚动一行。

按b键或按PGUP键可以返回一个全屏。

要在手册页中搜索,可以键入/,然后输入你要搜索的单词。将会跳到单词的第一次出现的地方,它会被突出显示;随后按n将找到该单词下一个出现的地方。这跟more(1)的使用方法一样,因为FreeBSD默认的分页器为more(1)。如果你指定了其他分页器,可以使用相对应的语法。

查找手册页

可以使用apropos(1)和whatis(1)在手册页上执行基本的关键字搜索。

要搜索包含你指定单词的任何手册页名称或描述,请使用apropos(1)。

要只匹配整个单词,请使用whatis(1)。

例如,如果你对vi命令感兴趣,可以尝试以下操作:

总共有581个条目,这可能远超你的想象。然而,其中大多数与vi(1)无关;字母vi只出现在名字或描述中。device driver在手册中是一个相当常见的术语,所以这并不奇怪。

另一方面,whatis(1)给出了更有用的结果:

我们只得到一个结果,显然与vi(1)相关。

在其他搜索中,apropos(1)给出的结果比whatis(1)更好。尝试两者,你会很快了解它们如何适合你的风格。

man -k命令模拟apropos(1),而man -f模拟whatis(1)。

章节编号和man

您可能会发现单个命令出现在手册的多个部分中的情况。例如,每个man部分都有一个介绍性的手册页,解释了该部分的内容。要指定要搜索手册页的部分,请在man命令后立即给出数字:

这引出了本手册第3节的介绍。我建议你阅读手册各部分的介绍页,即使只是为了帮助你了解可用信息的广度和深度。

手册页内容

手册页分为几个部分。虽然作者可以在手册页上添加他或她喜欢的任何标题,但有几个是标准的。有关这些标题以及其他手册页标准的部分列表,请参阅mdoc(7):

FreeBSD官网上提供了网页版的手册页。

FreeBSD.org

FreeBSD网站(http://www.freebsd.org/)包含有关FreeBSD一般管理、安装和管理的各种信息。最有用的部分是手册、常见问题解答和邮件列表档案,但你也会发现许多关于几十个主题的文章。除了有关FreeBSD的文档外,该网站还包含有关FreeBSD项目内部管理和项目各部分状态的大量信息。

web文档

FreeBSD文档分为文章和书籍。两者之间的区别是非常武断的:通常,书籍比文章长,涵盖的主题更广泛,而文章短,只关注一个主题。新用户最感兴趣的两本书是《手册》和《常见问题解答》(FAQ)。

该手册是FreeBSD项目的教程风格手册。它不断更新,描述了如何执行基本的系统任务,是您第一次启动项目时的绝佳参考。我故意选择不在这本书中包括一些主题,因为它们在手册中有足够的覆盖范围。

FAQ旨在快速回答FreeBSD邮件列表中最常见的问题。其中一些答案不适合纳入《手册》,而另一些则只是指向《手册》的相应章节或文章。

其他几本书涵盖了各种主题,如《FreeBSD开发人员手册》、《Porter‘s 手册》和《FreeBSD架构手册》。

在现有的50多篇文章中,有些只是出于历史原因而保留的(例如原始的BSD 4.4文档),而另一些则讨论了系统特定部分的微妙之处,例如串行端口或构建过滤桥。

另一方面,官方文件也被删减了。手册和常见问题解答涵盖了当前的FreeBSD版本,文档团队无情地删除了过时的信息。如果你想确切地知道什么适用于当前的FreeBSD,请参阅手册(Handbook)。

这些文件非常正式,需要准备。因此,他们总是落后于现实世界。当新功能首次推出时,相应的手册条目可能会在几周或几个月内不会出现。如果网络文档似乎已经过时,您获取最新答案的最佳资源是邮件列表存档。

邮件列表存档

你遇到的问题,极大概率曾经被其他人遇到过,甚至已经解决了。

邮件列表存档可以追溯到1994年,包含数百万条信息。唯一的问题是,有数百万封电子邮件,其中任何一封都可能包含你想要的答案。

在查看邮件列表档案时,一定要检查日期。邮件列表是永久的。讨论1995年的硬件问题可能会让你觉得自己是长期以来一直在与劣质主板作斗争的系统管理员的一部分,但这可能无助于你解决全新服务器的问题。这些古老的信息基本上是亡灵文献(undead documentation),从坟墓中升起,给你虚假的希望。不过,它们是该项目历史的一部分,不会被清除。

论坛

https://forums.FreeBSD.org/

论坛是一个有价值的信息来源。

许多人还在论坛上发布了长篇教程。基于论坛的教程应该适当地放在手册或官方文章中,但还没有人做过将其转移的工作。在遵循这些教程之前,请先阅读关于它们的讨论;人们经常会指出错误或异常,或者评论说整个教程在较新版本的FreeBSD中已经过时。如果你想参与FreeBSD,将这些教程转换为官方文档将是一个很好的起点。

这些论坛对真正的旧信息没有太大问题,但这只是因为它们在2009年正式成立。当论坛的历史达到四分之一个世纪时,它们将拥有相同数量的亡灵文献。不过,到那时,一个更神奇的讨论系统将会出现——或者,也许,只是也许,我们将有一种更好的方法来索引和检索在线讨论中的有用信息。

其他网站

几乎每个聚合网站,如lobste.rs和Reddit,都有一个FreeBSD部分。

最受欢迎的FreeBSD网站之一是freshports,它跟踪FreeBSD的更改。

FreeBSD杂志是FreeBSD基金会的一个项目。

使用FreeBSD问题解决资源

密码学是一个复杂的话题,由于它的不同引用方式,搜索它的信息变得复杂。它可能会显示为cryptography、cryptographic、crypto、encrypt。

查看手册和常见问题

浏览一下《手册》的目录,就会发现“加密磁盘分区”和“加密交换”这两个条目,它们似乎确实很相关。常见问题解答也指向了这些主题。这是一个开始。这些条目将引导您找到合适的手册页,从而引导您找到更多的手册页。

检查手册页

让我们使用apropos和whatis查询手册页中的密码学。

这只是两个条目,但第一个条目非常长。以krb5开头的任何内容都与Kerberos身份验证有关,Kerberos身份验证是大型网络的关键功能,确实涉及密码学,因此这是相关的。不过,第二个条目有点有趣:有一个关于crpyto(4)和cryptodev(4)的手册页。(这两个词都指向第4节中的同一个手册页,因此该数字只出现在一个搜索结果中。)让我们看看手册页。

等等,OpenSSL不是加密设备。有些事情显然是不对的。仔细看看这个手册页;它来自手册的第3节,C库部分。您需要在手册中搜索包含加密的其他条目。让我们尝试更具体的whatis(1)搜索。

答对了!我们有三个crypto手册页:一个在第4节、第7节和第9节。这为我们提供了有关访问硬件加密功能的程序接口的信息、支持的算法列表以及内核加密服务的描述。阅读这些将为您提供FreeBSD加密支持的良好基础。每个链接中的“另见”链接将引导您获取更多信息。现在,你可以用crypto填满你的大脑。

邮件列表存档和论坛

虽然邮件列表和论坛是不同的平台,但你搜索它们的方式是相似的。你可以使用FreeBSD网站搜索引擎来搜索邮件列表档案,但我更喜欢谷歌或DuckDuckGo。搜索crypto site:lists.FreeBSD.org发布了一大堆结果,搜索crypto site:forums.FreeBSD.org也是如此。

使用这类讨论来概括一个主题的问题是,人们会陷入细节。你不会得到密码学的概述,但你会在那个版本的FreeBSD上找到与硬件加速一起使用的这个算法的详细信息。如果你进行非常详细的搜索,你可以得到一个非常详细的答案。

使用你的答案

你对一个问题的任何回答都会做出某些假设。如果你在谈论密码学,那么讨论假设你知道为什么加密很重要,明文与密文有何不同,以及密钥是什么。这是基本问题所需专业知识水平的典型代表。如果你得到的答案超出了你的理解范围,你需要做研究来理解它。虽然经验丰富的开发人员或系统管理员可能对解释公钥加密不感兴趣,但如果你问得好,他或她可能愿意为你指出一个解释它们的网页。永远记住,自1994年以来,人们一直在问这个问题与FreeBSD有关,与Unix有关的问题已经有近半个世纪了。

寻求帮助

当你最终决定寻求帮助时,请以一种允许人们实际提供你所需帮助的方式进行。无论你喜欢电子邮件还是论坛,你都必须包括你所掌握的所有信息。有很多建议的信息要包括在内,你可能会认为你可以跳过其中的一些或全部。但是,如果你懈怠了,没有提供所有必要的信息,就会发生以下情况之一:

另一方面,如果你真的想得到帮助来解决你的问题,请在你的消息中包含以下信息:

最好以“我的有线调制解调器无法连接到我的ISP。调制解调器是BastardCorp v.90型号BOFH667。我的操作系统是四核Opteron上的12.2版本。这是我尝试连接时/var/log/messages和/var/run/dmesg.boot的内容。当我手动运行dhclient时,我会收到这些消息。”你会跳过一整轮的讨论,看到这样的消息,你会更快地得到更好的结果。

撰写你的信息

首先,要有礼貌。人们经常在网上说一些他们做梦也不会当面说的话。这些名单由志愿者组成,他们纯粹是出于善意而回复你的信息。在你点击“发送”或“提交”按钮之前,问问自己,我会迟到吗?在与公司电话支持合作时,偶尔需要的激烈态度只会让这些知识渊博的人删除你未读的电子邮件,或者彻底屏蔽你在论坛上的帐户。他们的世界不必包括粗鲁的混蛋。在处理商业软件支持时,大喊大叫直到有人帮助你是一项宝贵的技能,但这会积极损害你从任何开源项目获得支持的能力。

无论你选择论坛还是电子邮件,都要专注于主题。如果您在X.org上遇到问题,请查看X.org网站。如果你的窗口管理器不工作,问问负责窗口管理器的人。要求FreeBSD人员帮助您配置Java应用程序服务器,就像向工业机械销售人员抱怨您的快餐午餐一样。他们可能有一个额外的番茄酱包,但这不是他们的问题。另一方面,如果你想让你的FreeBSD系统在启动时不再启动邮件系统,这是FreeBSD的问题。

发电子邮件

FreeBSD开发人员倾向于使用邮件列表,而不是论坛。这意味着邮件列表可以吸引更多了解该系统的人的注意,但这也意味着你需要遵守该环境的礼仪。

纯文本电子邮件,每行72个字符,依回复顺序排序,不要使用附件

效率比易用性重要,明文邮件最标准。

不要使用长签名。电子邮件签名的标准是四行,每行72个字符。

不要问愚蠢的问题。

论坛发帖

论坛的人口与邮件列表的人口不同。一些开发人员在那里闲逛,但没有邮件列表上那么多。不过,论坛上的人对帮助你解决问题非常感兴趣。

论坛比邮件列表更容易。您只能以网站支持的格式发布。没有关于顶部发布与内联发布或不可读HTML的担忧。这种轻松是他们受欢迎的一部分。不过,如果你深入了解FreeBSD,你最终会想加入邮件列表。

但无论你选择哪种场合,礼貌都是至关重要的。

回复邮件

你的答案可能是一个带有网址的简短说明,甚至只是两个词:man such-and-such。如果这就是你得到的,那就是你需要去的地方。在你真正研究过该资源之前,不要询问更多细节。如果您对所提供的参考文献的内容有疑问,或者您对参考文献感到困惑,请将其视为另一个问题。缩小你困惑的来源,具体一点,然后问这个问题。手册页和教程并不完美,有些部分在你理解之前看起来是矛盾的或相互排斥的。

最后,坚持到底。如果有人要求你提供更多信息,请提供。如果你不知道如何提供,请学习如何提供。如果你名声不好,没有人会愿意帮助你。

互联网是永恒的

我们这些在80年代上网的人还记得,当时我们把它当作私人游乐场。我们可以随心所欲地对任何人说。毕竟,这纯粹是短暂的。没有人保管这些东西;就像CB电台一样,你可以做一个十足的蠢蛋,然后逍遥法外。

所有这些早期的Usenet讨论?是的,谷歌恢复了它们并将其放到了网上。我们的信仰与事实完全相反。

潜在的雇主、潜在的约会对象,甚至家庭成员可能会在互联网上扫描你在邮件列表或留言板上的帖子,试图了解你是什么样的人。我拒绝根据邮件列表和讨论板上的帖子雇佣多个人。我想和一个系统管理员一起工作,他会向支持论坛发送礼貌、专业的信息,而不是幼稚、语无伦次的咆哮,没有足够的细节来提供任何指导。如果我在某个留言板上偶然发现他们中的一个人发来的信息,他们表现得像个傻瓜,我会对我的姻亲不那么在意。FreeBSD的讨论被广泛存档;好好选择你的话,因为它们会困扰你几十年。