绪论

本书定位

本书涉及 FreeBSD 15.0-RELEASE、14.3-RELEASE 和 13.5-RELEASE 的安装与日常使用(并尽量向下兼容),并包含部分 16.0-CURRENT 的内容。

主要面向 x86-64(amd64)和 AArch64(arm64),并尽可能支持其他硬件架构。

Windows 测试环境为 Windows 11,并尽量保持系统更新(使用较新的 Windows Update 服务)。

对读者的要求

以高等院校计算机科学与技术专业一般本科毕业生的及格或以上水平作为难度基准。

本书的组织结构

第 1 章 FreeBSD 初见

围绕自由软件运动与开源运动,为读者介绍 BSD UNIX 的历史与哲学,旨在厘清相关纷争及常见误区。

第 2 章 安装 FreeBSD

指导读者使用 FreeBSD 内置工具 bsdinstall 安装 FreeBSD。

第 3 章 FreeBSD 基础

主要面向 Windows 用户和 Linux 用户。即使读者认为自己已经掌握了一些,也建议概览本章各节。

第 4 章 软件管理和系统升级

本章涵盖使用 pkg 命令安装二进制包、使用 Ports 编译安装软件,以及 FreeBSD 的系统更新。

第 5 章 桌面环境

尽可能列举可在 FreeBSD 上运行的桌面环境。如果没有你喜欢的桌面环境,欢迎 PR。

第 6 章 本地化与中文环境配置

包括中文输入法以及中文世界常用的软件,如 Wine、QQ、微信和 WPS。如果没有你需要的软件,欢迎 PR。

第 7 章 多媒体和外部设备

介绍如何使用 FreeBSD 进行音视频播放。还讲解了蓝牙、打印机等常用设备。

第 8 章 代理服务器

中文世界不可或缺的一类软件。本章暂不展开(相关软件在兼容层运行同样可用,但我们仍期待原生支持),欢迎 PR。

第 9 章 Jail

FreeBSD 的特色功能。

第 10 章 虚拟化与容器

主要讲解 FreeBSD 上的 Bhyve 虚拟机及容器技术。

第 11 章 FreeBSD 高级安装

介绍使用手动及其他专业安装方式和介质,在不同平台上安装 FreeBSD。

第 12 章 窗口管理器

尽可能地列举了所有可在 FreeBSD 上运行的窗口管理器。如果没有你喜欢的欢迎 PR。

第 13 章 FreeBSD 系统管理

主要讲解 bsdconfig、SSH 以及系统恢复与引导相关工具的使用方法。

第 14 章 网络管理

IPv4、IPv6 及常用网络命令。

第 15 章 FreeBSD 防火墙

介绍 FreeBSD 防火墙相关内容。

第 16 章 服务器

介绍一些非 Web 服务器。

第 17 章 Web 服务器和监控平台

常用的网络服务器和监控平台。

第 18 章 FreeBSD 与嵌入式平台

主要介绍如何在树莓派、RISC-V 和 x86 等嵌入式设备上运行 BSD。

第 19 章 数据库管理

介绍了常用数据库的安装和使用。

第 20 章 游戏、科学计算和专业工具

游戏和科研教育工具。

第 21 章 Linux 二进制兼容层

介绍如何在 FreeBSD 上运行各类 Linux 发行版。如果没有读者喜欢的发行版,欢迎 PR。

第 22 章 开发生态与贡献社区

如何在 FreeBSD 上搭建各种常用开发环境。

第 23 章 存储与文件系统管理

主要介绍了 UFS 以及常见的 Windows、Linux 文件系统的使用方法。

第 24 章 FreeBSD 内核

内核选项全注全译。

第 25 章 ZFS 文件系统

划时代的新型文件系统——ZFS。

第 26 章 OpenBSD 入门

一款安全至上的操作系统,OpenBSD。

第 27 章 NetBSD 入门

NetBSD。这个应该真的没人用

附录 Ⅰ 计算机概论

涉及 408(计算机学科专业基础)的相关内容。

附录 Ⅱ 工具与资源

小众 BSD 操作系统导论、硬件挑选、BIOS 参数注解及开源常识。

附录 Ⅲ 文学故事

只有故事,没有酒。

附录 Ⅳ 参考文献和术语表

全书涉及到的核心参考文献和术语表。

本书中命令及符号含义

权限

# 表示在 root 权限下的操作,通常通过 susudodoas 获得。

$% 表示普通用户权限(注:% 在 FreeBSD 文档中不常用作标准提示符,通常使用 $)。

特别提示

注意

即使是泛读和跳读也不应忽略。

技巧

提示一些有助于提高效率改变思路的方法。

警告

如果不了解或不按要求执行,将无法完成操作或可能造成重大危害的事项。

思考题

美国国家标准与技术研究院(NIST)发布的数字身份指南草案(SP800-63-4 第二版)指出:

必须要求,当密码被用作单因素认证机制时,其长度至少为 15 个字符。可以允许仅作为多因素认证过程一部分使用的密码较短,但必须要求其长度至少为 8 个字符。

应当允许最大密码长度至少为 64 个字符。

应当接受所有可打印的 ASCII(RFC20)字符以及空格字符作为密码的一部分。

应当接受 Unicode【ISO/IEC 10646】字符作为密码的一部分。在评估密码长度时,每个 Unicode 码点必须被计为一个字符。

不得强制要求其他组成规则(例如,要求混合不同类型的字符)用于密码。

不得要求订阅者定期更改密码。然而,如果有证据表明认证器已被泄露,必须强制更改密码。

不得允许订阅者存储提示信息(例如,关于密码如何创建的提醒),该提示信息不应能被未经认证的声明者访问。

不得在用户选择密码时提示其使用基于知识的认证(KBA)(例如“你的第一只宠物叫什么名字?”)或安全问题。

必须要求完整提供密码(而非部分提供),并且必须验证整个提交的密码(例如,不得截断密码)。

“尽管近年来不少专家一再批评现行密码规则的弊端,但银行、互联网平台和政府机构大多依然固守这些过时、无效甚至有害的规则。”——“定期更换密码”是最愚蠢的密码规则?

问题:我们习以为常的“知识”究竟有没有坚实可靠的根基?我们固守的一些东西,究竟是一种传承,还是一种陈规陋习?如何划分二者的界限?

思考题是帮助有意愿探索和有动力追问一切的读者的一种途径。其形式类似于常见的课后习题,不同之处在于思考题的位置是随机的。尽管可能预设了一些立场和理解,但答案通常是开放的,取决于读者自身。如果读者感到疲惫,可以选择跳过。

特殊章节

旨在将现存的问题、改进方向或未解的谜团留置其中,以期借助后人的智慧。

删除线

为何人要活着?越是想探究生命的意义,越会陷入混乱。——《Caligula 卡里古拉》(原作 FuRyu)第三集标题

KDE 6 在 Wayland 下右键单击会导致黑屏

删除线表示过时内容或带有调侃意味的文字,其不属于正文部分;如无法理解相关“梗”,可直接跳过,不影响阅读。

pkg 与 ports

由于 FreeBSD 提供两种软件安装方式(但个别软件不支持 pkg 安装),为方便起见,本教程尽可能同时列出两种方式的安装说明。但这仅为表述方便,并非意味着 ports 与 pkg 不能混用,或必须二者择一。

请注意

ports 通常对应 HEAD 分支,建议 pkg 与 ports 保持在同一主线上,即均选择 latest。你也可以自行使用 pkg 对应的 Ports 季度分支,如 2025Q1

如果要安装软件 yyyyyy 在 ports 里是 xxx/yyy,那么路径便是 /usr/ports/xxx/yyy

  • 那么首先可以通过 pkg 安装二进制软件包,和绝大多数 Linux 用法一样,下同:

还可以这样:

或者这样简写:

  • 那么还可以通过 Ports 编译安装:

系统会不断弹出配置窗口询问你的选择。如果是使用默认选项,请这样做:

如果你想一次性完成所有配置:

最后更新于

这有帮助吗?