bind ^[[3~ ed-delete-next-char # for xterm
FreeBSD 常见问题解答
商标
FreeBSD 是 FreeBSD 基金会的注册商标。
IEEE、POSIX 和 802 是美国电气电子工程师协会的注册商标。
Linux 是 Linus Torvalds 的注册商标。
Microsoft、IntelliMouse、MS-DOS、Outlook、Windows、Windows Media 和 Windows NT 是微软公司在美国和/或其他国家/地区的注册商标或商标。
NetBSD 是 NetBSD 基金会的注册商标。
制造商和销售商使用的许多用于区分其产品的名称声称是商标。在本文档中出现这些名称时,如果 FreeBSD 项目知道商标声明,则这些名称后面将跟随“™”或“®”符号。
目录
摘要
这是 FreeBSD 常见问题解答 (FAQ)。我们已尽力使本 FAQ 尽可能信息丰富。
1. 简介
欢迎来到 FreeBSD 世界!在本节中,我们将全面概述 FreeBSD 是什么,它的起源、目标、用例以及背后的社区。
了解其名称背后的原因,学习如何为这个项目做出贡献,并在开源操作系统环境中探索 FreeBSD 的丰富生态系统。
1.1. 什么是 FreeBSD?
FreeBSD 是一款多功能的开源类 UNIX® 操作系统,以其出色的稳定性、安全性,以及性能而闻名。它由一个专门的志愿者社区开发,基于伯克利软件发行版 (BSD) UNIX 操作系统。
FreeBSD 提供了一个强大且可定制的环境,适用于各种应用,从服务器和嵌入式系统到桌面和网络设备。它对开源原则的承诺确保了透明和协作的开发过程,使 FreeBSD 成为那些寻求可靠且高度可适应的操作系统的用户的信赖之选。
1.2. 为什么叫 FreeBSD?
“FreeBSD”这个名字源于其根源在于伯克利软件发行版 (BSD) UNIX 操作系统,该操作系统以其对开源软件世界的贡献而闻名。FreeBSD 中的“Free”代表其对自由和开源软件原则的承诺,这些原则赋予用户学习、修改和分发代码的自由。
值得指出的是,“免费”一词在这里以两种方式使用:一种含义是“无偿”,另一种含义是“随意处置”。
1.3. FreeBSD 项目的目标是什么?
FreeBSD 项目有一个明确而坚定不移的目标:提供一个高质量的开源类 UNIX 操作系统,在性能、安全性和稳定性方面都表现出色。
它旨在提供一个通用的平台,适合各种计算需求,从服务器和工作站到嵌入式系统等等。FreeBSD 的开发致力于开源原则,培育了一个协作环境,来自全球开发人员社区的贡献帮助塑造和完善了操作系统。这种对质量、自由和可靠性的奉献精神是 FreeBSD 的特色,也是其作为开源项目持续成功的驱动力。
1.4. FreeBSD 适合哪些用例?
FreeBSD 是一款通用的操作系统,在各种用例中表现出色。它特别适合服务器环境,其稳定性和性能使其成为网络托管、数据库和网络应用的热门选择。FreeBSD 的强大安全功能也使其成为防火墙和安全设备部署的理想选择。除了服务器,FreeBSD 还可以定制为在专门的环境中运行,包括嵌入式系统和游戏机设备。其可适应性、可靠性和开源特性使 FreeBSD 成为满足各种计算需求的理想选择。
1.5. 谁负责 FreeBSD?
FreeBSD 是一个社区驱动的开源项目,具有分散的结构。它的开发和维护由全球一个致力于改进和扩展操作系统的志愿者、开发人员和组织社区进行。
FreeBSD 项目的关键决策,例如项目的整体方向或谁被允许向源代码树添加代码,由一个由九人组成的当选核心团队做出。
这种协作和社区驱动的做法一直是 FreeBSD 作为可靠且稳健的类 UNIX 操作系统取得成功和长寿的关键。
1.6. 我如何为 FreeBSD 做贡献?我该怎么做才能帮忙?
我们接受所有类型的贡献:文档、代码,甚至艺术。请参阅有关 为 FreeBSD 做贡献 的文章,以获取有关如何做到的具体建议。
感谢您的考虑!
1.7. FreeBSD 许可证是否有任何限制?
FreeBSD 在 BSD 许可证 下分发,该许可证以其宽松性而闻名。
此许可证对您如何使用 FreeBSD 的限制非常少。
不要声称您写了这个。
如果它坏了,不要起诉我们。
不要删除或修改许可证。
许可证意味着您可以自由修改、分发,甚至出售 FreeBSD,而无需**发布您的修改作为开源**。但是,有一些最小的条件,例如在分发 FreeBSD 时保留原始版权声明和免责声明。总的来说,BSD 许可证提供了高度的自由度和灵活性,使 FreeBSD 成为各种应用和项目的理想选择。
我们源代码树中的代码,如果属于 GNU 通用公共许可证 (GPL) 或 GNU 库通用公共许可证 (LGPL),则至少在强制访问方面,而不是通常相反的方向,会附带一些额外的限制。
1.8. FreeBSD 可以替换我的当前操作系统吗?
对于许多用户和管理员来说,答案是肯定的。但是这个问题并不那么简单。
FreeBSD 是一款功能强大且通用的操作系统,可以替换或与许多其他操作系统共存,具体取决于用户和管理员的特定需求。但是,FreeBSD 是否可以替换您的当前操作系统,取决于诸如您的硬件、软件需求以及对 FreeBSD 的熟悉程度等因素。
虽然它提供了强大而功能丰富的替代方案,但在进行切换之前,务必评估您的特定用例和兼容性要求。
如果应用程序仅在一个操作系统上可用,则该操作系统就无法替换。
从另一个类 UNIX 环境迁移到 FreeBSD 的用户会发现 FreeBSD 与之类似。非 UNIX 用户,如 Windows® 用户,应该预料到需要额外的时间来学习 UNIX 的做事方式。
1.9. FreeBSD 可以运行流行的开源软件吗?
是的,FreeBSD 非常适合运行流行的开源软件。它与各种应用程序和库的兼容性,使其成为那些希望部署和使用开源软件包的用户的理想选择。FreeBSD 提供了一个强大而稳定的环境,支持开源社区中常用的各种编程语言、数据库、Web 服务器和其他软件。它的端口和软件包系统简化了此类软件的安装和管理,确保用户可以轻松访问和在 FreeBSD 上运行其喜爱的开源工具和应用程序,而无需任何麻烦。
1.10. 我如何在 FreeBSD 中安装软件?
FreeBSD 提供了多种软件安装方法。最常用的方法之一是使用内置的 pkg(8) 软件包管理器,它通过获取和安装预构建的二进制软件包来简化流程。另一种方法是从源代码编译和安装软件,使用 ports(7) 集合,提供了一种灵活且可定制的方式来安装软件。
FreeBSD 的文档提供了有关这两种方法的详细指导,确保用户可以轻松地使用他们需要的软件扩展其系统的功能。
1.11. FreeBSD、NetBSD、OpenBSD 和其他开源 BSD 操作系统之间有什么区别?
FreeBSD、NetBSD、OpenBSD 和 DragonFly BSD 都是开源 BSD 家族的一部分,共享着共同的类 UNIX 基础,但每个都拥有自己的独特重点和优先级。这些差异反映了每个项目的独特目标,尽管它们之间存在相似之处,但它们的具体优势和重点迎合了 BSD 生态系统中不同的用例和偏好。
1.12. FreeBSD 是 Linux® 发行版吗?
不,FreeBSD **不是** Linux 发行版。
虽然 FreeBSD 和 Linux 都是类 UNIX 操作系统,并且有很多相似之处,但它们拥有不同的内核。Linux 使用 Linux 内核,而 FreeBSD 使用 FreeBSD 内核,该内核基于伯克利软件发行版 (BSD) UNIX 操作系统。
FreeBSD 和 Linux 都有自己的独特开发社区、发布周期和系统体系结构,使其成为独立的操作系统。
FreeBSD 提供了一套自己的优势,包括与 Linux 发行版相比,不同的许可模式、系统设计和用户空间实用程序。
1.13. 是否可以在 FreeBSD 上运行 Linux 程序?
是的,FreeBSD 提供了一个名为 linuxulator 的兼容层 (linux(4)),允许许多 Linux 程序在 FreeBSD 上运行。此功能便于在无需专门的 Linux 环境的情况下执行各种 Linux 二进制文件。
然而,需要注意的是,许多广泛使用的开源软件**通过端口和软件包系统提供了可用的原生 FreeBSD 版本**。
2. 安装 FreeBSD
安装 FreeBSD 的过程是利用这个强大开源操作系统的第一个步骤。本节提供了有关从何处获取 FreeBSD、详细的安装说明以及对 FreeBSD-CURRENT 和 FreeBSD-STABLE 等概念的见解的重要信息。它还深入探讨了发布和快照时间表、安装后配置工具、软件包搜索方法,并解答了有关软件包更新的常见问题。
2.1. 我从哪里可以获取 FreeBSD?
FreeBSD 可从 FreeBSD 官方网站 免费下载。
此外,FreeBSD 也可能通过各种镜像站点获得,确保全球用户都可以访问。 官方网站 是获取最新 FreeBSD 版本和更新的首要且最可靠的来源,使其成为开始 FreeBSD 之旅的理想起点。
2.2. FreeBSD 安装说明在哪里?
安装说明可以在 手册的安装 FreeBSD 章节 中找到。
2.3. 什么是 FreeBSD-CURRENT 概念?
FreeBSD-CURRENT 代表 FreeBSD 操作系统的开发分支。它是 FreeBSD 的最前沿版本,所有活跃的开发工作都在这里进行。
虽然它包含了最新的特性、改进和实验性更改,但它可能并不像 FreeBSD-STABLE 或发行版本那样稳定。
FreeBSD-CURRENT 作为开发人员和爱好者的平台,他们希望为 FreeBSD 的未来做出贡献并走在其开发的前沿,即使它可能会偶尔经历重大变化,不建议用于生产系统。
2.4. 什么是 FreeBSD-STABLE 概念?
与 CURRENT 相比,FreeBSD-STABLE 分支是一个更稳定的开发分支。它包含正在进一步测试和完善的代码,然后合并到 RELEASE 分支。对于那些希望跟踪 FreeBSD 开发但更喜欢比 CURRENT 更稳定的环境的人来说,STABLE 是一个不错的选择。
2.5. FreeBSD 版本什么时候发布?
发布工程团队 <[email protected]> 平均每 18 个月发布一个新的 FreeBSD 主版本,每 8 个月发布一个新的次要版本。发布日期提前宣布,以便参与系统开发的人员知道他们的项目需要在什么时候完成和测试。在每个版本发布之前都会有一段测试期,以确保新增功能不会影响版本的稳定性。
2.6. FreeBSD 快照什么时候生成?
FreeBSD 快照通常会定期为所有积极开发的分支生成。这些快照捕捉了 FreeBSD 源代码和相关二进制包的某个时间点。这些快照的频率可能会有所不同,但通常每周或双周进行一次。这些快照为用户提供了访问 FreeBSD 最新开发和更改的机会,帮助他们及时了解项目的进展。
2.7. 有没有工具可以执行安装后的配置任务?
是的。 bsdconfig(8) 提供了一个很好的界面来配置 FreeBSD 安装后。
2.8. 如何在 FreeBSD 中搜索要安装的软件?
通过 pkg(8) 包管理器和 pkg search
命令,在 FreeBSD 中搜索要安装的软件变得非常容易。
用户可以使用此命令通过关键字、包名或描述来搜索可用的包。此功能帮助用户在 FreeBSD 端口和包的庞大集合中快速找到所需的软件,简化了将新应用程序和工具添加到 FreeBSD 系统的过程。
2.9. 为什么我的 FreeBSD 系统中没有获得最新的包?
FreeBSD 中最新包的可用性会受到各种因素的影响,包括包库的更新频率以及所使用的 FreeBSD 特定版本。
还需要补充的是,FreeBSD 端口有两个分支。最新的分支称为 latest
,最稳定的分支称为 quarterly
。要使用最新的包,需要配置 latest
分支。有关如何配置分支的信息,请参见 手册的端口章节。
3. 硬件
硬件部分探讨了 FreeBSD 与各种硬件配置的兼容性。它涵盖了一系列主题,包括支持的架构、最大 RAM 容量、处理器可扩展性、显卡兼容性、Wi-Fi 卡支持,以及 10 千兆以太网网卡支持的包含。无论计划在服务器、工作站还是专用硬件上部署 FreeBSD,本部分都提供了有关 FreeBSD 功能和局限性的见解,提供了有关硬件选择和配置的信息。
3.1. FreeBSD 支持哪些架构?
FreeBSD 拥有广泛的支持架构,使其成为各种硬件环境的灵活选择。它的兼容性扩展到 amd64
、arm64
、riscv
等架构。
支持架构的完整列表可以在 平台页面 上找到。
3.2. FreeBSD 支持多少 RAM?
作为操作系统的 FreeBSD 通常支持其运行平台支持的尽可能多的物理内存 (RAM)。请记住,不同的平台对内存有不同的限制。
例如,amd64
平台支持高达 4TB 的物理内存。
3.3. FreeBSD 支持多少个处理器?
FreeBSD 的处理器支持在不同的架构之间有所不同。在 amd64 和 arm64 系统上,FreeBSD 可以有效地利用高达 1024 个处理器的能力。对于基于 powerpc 的系统,FreeBSD 支持高达 256 个处理器,而在 risc-v 系统上,它可以有效地利用高达 16 个处理器。
3.5. FreeBSD 支持哪些 Wi-Fi 卡?
了解 FreeBSD 与各种 Wi-Fi 卡的兼容性,使您能够轻松地将系统连接到无线网络。
已知在 FreeBSD 上运行良好的 USB Wi-Fi 设备列表
已知在 FreeBSD 上运行良好的 Mini PCIe Wi-Fi 设备列表
Realtek RTL8188CE Mini PCIe
3.6. FreeBSD 支持 10 千兆以太网网卡吗?
FreeBSD 为 10 千兆以太网网卡提供了强大的支持,使其成为高速网络环境的可行选择。FreeBSD 内核包含来自各种制造商的各种 10 千兆以太网适配器的驱动程序,确保无缝集成和最佳网络性能。
可以在 FreeBSD Wiki 上获得更多信息。
4. 文档和支持
本节为那些希望加深对 FreeBSD 了解的人提供了宝贵的资源。它涵盖了一系列主题,包括学习 FreeBSD 的推荐书籍、商业培训和支持的渠道、了解 FreeBSD 内部结构的见解,以及在 FreeBSD 社区中寻找帮助的地方。
4.1. 有什么好的关于 FreeBSD 的书籍?
FreeBSD 爱好者和学习者可以探索各种专门针对该操作系统的有用书籍。这些书籍涵盖了从 FreeBSD 基础知识到高级系统管理和开发的主题。
一些值得注意的书籍包括迈克尔·W·卢卡斯的“绝对 FreeBSD:FreeBSD 完整指南”,以及迈克尔·W·卢卡斯的“FreeBSD 精通系列”,等等。这些资源提供了宝贵的见解和知识,帮助各个水平的用户掌握 FreeBSD 并最大限度地发挥其潜力。
除了书籍之外,FreeBSD 项目还制作了大量文档,可以在 文档门户 上在线获取。
4.2. 在哪里可以获得 FreeBSD 商业培训和支持?
对于那些寻求 FreeBSD 专业培训和支持的人来说,一些商业提供商提供定制服务。FreeBSD 项目维护着一个 公司列表,可以从这些公司中请求支持。
4.3. 如何了解更多关于 FreeBSD 内部结构的信息?
为了更深入地了解 FreeBSD 的内部工作原理,感兴趣的个人可以探索诸如“FreeBSD 操作系统的设计与实现”等资源。 FreeBSD 架构手册 是另一个宝贵的资源,它提供了有关 FreeBSD 架构、系统组织和设计原则的详细信息。
此外,通过 FreeBSD 源代码存储库访问 FreeBSD 源代码,可以提供有关操作系统核心组件的宝贵见解。
4.4. 如何在 FreeBSD 系统中获得帮助?
在 FreeBSD 系统中获得帮助非常简单。FreeBSD 提供了大量的内置文档,可以通过 man(1) 命令访问,该命令提供了有关各种命令和系统组件的全面信息。
此外,FreeBSD 手册(在线和本地系统上均有提供)是提供深入指导的宝贵资源。
如果出现特定问题,可以通过邮件列表、论坛或 IRC 向 FreeBSD 社区寻求帮助,可以从经验丰富的 FreeBSD 用户和开发人员那里获得及时的解决方案和见解。
5. 社区问题
探索本节以了解如何参与 FreeBSD 社区。
了解 FreeBSD IRC 频道以进行实时讨论,了解用于分享见解的基于 Web 的论坛,以及访问 FreeBSD 邮件列表和新闻组以进行深入的讨论和新闻更新。
5.1. 有 FreeBSD IRC(互联网中继聊天)频道吗?
是的,大多数主要的 IRC 网络都托管着 FreeBSD 聊天频道,FreeBSD wiki 维护着一个最新的 IRC 频道列表。
这些频道都是独立的,彼此之间没有连接。由于它们的聊天风格不同,请尝试每个频道以找到适合您的聊天风格的频道。
5.2. 有没有基于 Web 的论坛可以讨论 FreeBSD?
官方的 FreeBSD 论坛位于 FreeBSD 论坛主页 上。
5.3. 在哪里可以找到有关 FreeBSD 邮件列表的信息?
公共邮件列表可以在 FreeBSD 邮件列表 上找到。
6. 杂项问题
探索各种关于 FreeBSD 的有趣且实用的问题,涵盖从 Shell 选择到系统怪癖,甚至 FreeBSD 宠物的名字等主题。
6.1. 为什么 /bin/sh 如此精简?为什么 FreeBSD 不使用 bash 或其他 Shell?
许多人需要编写可以在多个系统上移植的 Shell 脚本。这就是 POSIX® 对 Shell 和实用程序命令进行详细规范的原因。大多数脚本都是用 Bourne Shell (sh(1)) 编写的,因为几个重要的编程接口被指定为使用 Bourne Shell 来解释命令。由于 Bourne Shell 如此频繁且广泛地使用,因此它必须快速启动、行为确定性并且内存占用空间小。
现有的实现是我们尽可能同时满足这些要求的最佳尝试。为了保持 /bin/sh
的精简,我们没有提供其他 Shell 具有的许多便利功能。
这就是为什么其他功能更强大的 Shell,如 bash
、scsh
、tcsh(1) 和 zsh
可用的原因。
6.2. 如何在 sh 和 csh 中使用 Delete 键?
对于 Bourne Shell,请将以下行添加到 ~/.shrc
对于 C Shell,请将以下行添加到 ~/.cshrc
bindkey ^[[3~ delete-char # for xterm
6.3. 我忘记了 root 密码!我该怎么办?
不要惊慌!重新启动系统,在 Boot:
提示符处输入 boot -s
进入单用户模式。在询问使用哪个 Shell 的问题时,按下 Enter,这将显示一个 # 提示符。输入 mount -urw /
以读写方式重新挂载根文件系统,然后运行 mount -a
以重新挂载所有文件系统。运行 passwd root
更改 root
密码,然后运行 exit(1) 继续启动。
如果您在进入单用户模式时仍然被提示输入 |
如果根分区无法从单用户模式挂载,则可能是分区已加密,无法在没有访问密钥的情况下挂载它们。有关更多信息,请参阅 FreeBSD 手册 中关于加密磁盘的部分。 |
6.4. 我在 rc.conf 或其他启动文件中犯了一个错误,现在我无法编辑它,因为文件系统是只读的。我该怎么办?
在加载程序提示符处使用 boot -s
重新启动系统以进入单用户模式。当提示您输入 Shell 路径时,按下 Enter 并运行 mount -urw /
以读写方式重新挂载根文件系统。您可能还需要运行 mount -a -t ufs
以挂载定义您喜欢的编辑器的文件系统。如果该编辑器位于网络文件系统上,请在挂载网络文件系统之前手动配置网络,或使用位于本地文件系统的编辑器,例如 ed(1)。
为了使用全屏编辑器,例如 vi(1) 或 emacs(1),运行 export TERM=xterm
,以便这些编辑器可以从 termcap(5) 数据库加载正确的数据。
执行完这些步骤后,编辑 /etc/rc.conf 以修复语法错误。内核启动消息后立即显示的错误消息应该指示文件中的错误行号。
6.6. 我的时间不对,如何更改时区?
使用 tzsetup(8)。
6.7. 即使计算机还有空闲内存,FreeBSD 也会使用大量的交换空间。为什么?
FreeBSD 会主动地将完全空闲、未使用的主内存页面移入交换空间,以便为主动使用腾出更多主内存。这种大量使用交换空间是通过使用额外的空闲内存进行缓存来平衡的。
请注意,虽然 FreeBSD 在这方面是主动的,但它不会在系统真正空闲时随意决定交换页面。因此,在将其闲置过夜后,系统不会被完全换出。
6.9. 这个可爱的小红人的名字是什么?
他并没有名字,只是被称为“BSD 守护进程”。如果您坚持使用一个名字,可以叫他“beastie”。请注意,“beastie”的发音是“BSD”。
有关 BSD 守护进程的更多信息,请访问他的 主页。
6.10. 我可以使用 BSD 守护进程图像吗?
也许可以。BSD 守护进程的版权由 Marshall Kirk McKusick 所有。请查看他的 关于使用 BSD 守护进程图形的声明 以了解详细的使用条款。
总之,该图像可以在适当的范围内用于个人用途,只要给予适当的署名即可。在商业使用该徽标之前,请联系 Kirk McKusick <[email protected]> 获取许可。更多详情请访问 BSD 守护进程的主页。
6.11. 为什么我应该关心自行车棚是什么颜色?
真正简短的答案是,你不应该。稍微长一点的答案是,仅仅因为你能够建造一个自行车棚,并不意味着你应该阻止别人建造一个,仅仅因为你不喜欢他们计划使用的颜色。这是一个比喻,表明你不必仅仅因为你知道如何做而争论每一个细小的功能。有些人评论说,更改产生的噪音量与更改的复杂性成反比。
更长更完整的答案是,在关于 sleep(1) 是否应该接受小数秒参数进行了非常长时间的争论之后,Poul-Henning Kamp <[email protected]> 发布了一篇名为 一个自行车棚(任何颜色都可以)在更绿的草地上… 的长文章。
7. FreeBSD 的趣闻
从技术细节中休息一下,深入了解 FreeBSD 的有趣一面。
7.1. FreeBSD 有多酷?
有人在运行 FreeBSD 时进行过温度测试吗?
没有,但我们对戴着眼罩的志愿者进行了多次味觉测试,这些志愿者之前也服用过 250 微克的 LSD-25。35% 的志愿者说 FreeBSD 的味道有点像橙子,而 GNU/Linux® 的味道像紫色迷雾。两组都没有提到温度有明显的差异。
说真的,FreeBSD 使用 ACPI(高级配置和电源接口),因此 FreeBSD 可以将 CPU 置于低功耗模式。
7.2. 写入 /dev/null 的数据去了哪里?
它进入 CPU 中的一个特殊数据汇,在那里它被转换为热量,并通过散热器/风扇组件排出。这就是为什么 CPU 冷却越来越重要的原因;随着人们习惯了更快的处理器,他们变得粗心大意,越来越多的数据最终进入 /dev/null,导致 CPU 过热。
如果您删除 /dev/null(实际上会禁用 CPU 数据汇),您的 CPU 可能会运行更冷,但您的系统很快就会因为所有多余的数据而变得便秘,并开始表现异常。
如果你有快速的网络连接,你可以通过读取 /dev/random 中的数据并将其发送到其他地方来降低 CPU 的温度;但是你也有可能导致网络连接过热和/或惹恼你的 ISP,因为大多数数据最终会通过他们的设备转换为热量,但他们的设备通常具有良好的冷却系统,因此如果你不过度使用,应该没有问题。
7.3. 我的同事在电脑前坐得太久了,我怎样才能恶作剧他们?
安装 games/sl,然后等他们将 sl
误输入为 ls
。
上次修改时间:2024 年 5 月 22 日,由 Dag-Erling Smørgrav 修改