绪论

本书定位

本书涉及了 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 基础

涉及一些 Unix 基础知识和 FreeBSD 特色功能。主要面向 Windows 用户和 Linux 用户。即使你认为自己已经掌握了一些,也建议概览一下子目录。

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

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

第 5 章 桌面环境

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

第 6 章 本地化——i18n/L10n

包括中文输入法和中文世界常用软件,如 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 章 嵌入式平台

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

第 19 章 数据库管理

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

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

游戏和科研教育工具。

第 21 章 Linux 二进制兼容层

如何在 FreeBSD 上运行各式 Linux。如果没有你喜欢的 Linux 发行版,欢迎 PR。

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

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

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

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

第 24 章 DragonFly BSD 入门

面向桌面用户和 X86 平台的蜻蜓 BSD。

第 25 章 TwinCAT/BSD 入门

倍福自动化操作系统。

第 26 章 OpenBSD 入门

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

第 27 章 NetBSD 入门

NetBSD。这个应该真的没人用

附录 Ⅰ 计算机概论

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

附录 Ⅱ 工具与资源

硬件挑选、BIOS 参数注解及开源常识。

附录 Ⅲ 文学故事

只有故事,没有酒。

附录 Ⅳ 参考文献和术语

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

本书中命令及符号含义

权限

# 代表 root 下的操作,基本等同 susudodoas

$% 代表普通用户账户权限。

特别提示

注意

提示一些注意事项。

技巧

提示一些技巧。

警告

如果不知道、不做就无法完成或造成重大危害的事项。

思考题

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

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

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

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

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

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

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

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

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

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

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

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

思考题是帮助有意愿探索和有动力追问一切的读者的一种途径。

特殊章节

故障排除与未竟事宜

旨在将现存的问题和改进的方向/建议或谜团留置其中,以期后人的智慧。

删除线

为何人要活着?越是想探究生命的意义,越会陷入混乱。——《卡里古拉》(原作 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 用法一样,下同:

# pkg install yyy

还可以这样:

# pkg install xxx/yyy

或者这样简写:

# pkg ins yyy
  • 那么还可以通过 Ports 编译安装:

# cd /usr/ports/xxx/yyy
# make install clean

将会不断地弹出来窗口询问你怎么选。如果是使用默认选项,请这样做,则:

# cd /usr/ports/xxx/yyy
# make BATCH=yes install clean

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

# cd /usr/ports/xxx/yyy
# make config-recursive # 会一直问你,直到结束依赖
# make install clean

最后更新于

这有帮助吗?