FreeBSD 中文社区 2025 第二季度问卷调查
FreeBSD 中文社区(CFC)
VitePress 镜像站QQ 群 787969044视频教程Ⅰ视频教程Ⅱ
  • FreeBSD 从入门到追忆
  • 中文期刊
  • 状态报告
  • 发行说明
  • 手册
  • 网络文章集锦
  • 笔记本支持报告
  • Port 开发者手册
  • 架构手册
  • 开发者手册
  • 中文 man 手册
  • 文章
  • 书籍
  • FreeBSD 从入门到追忆(第三版:草稿)
  • 编辑日志
  • 目录
  • 致谢
  • 初版序言:好望角与塔吊
  • 再版序言:回到复制粘贴,面向教程本身
  • 三版序言:且有大觉而后知此其大梦也(草稿)
  • 前言
  • 第 1 章 FreeBSD 初见
    • 第 1.1 节 操作系统的历程:UNIX、Unix-like、Linux & FreeBSD
    • 第 1.2 节 FreeBSD 简史
    • 第 1.3 节 谁在使用 FreeBSD?
    • 第 1.4 节 为什么要使用 FreeBSD?
    • 第 1.5 节 Linux 用户迁移指南
    • 第 1.6 节 FreeBSD 桌面发行版
  • 第 2 章 安装 FreeBSD
    • 第 2.1 节 安装前准备(新手入门版本)
    • 第 2.2 节 FreeBSD 安装图解(新手入门版本)
    • 第 2.3 节 UNIX 基础(新手入门版本)
    • 第 2.4 节 命令行基础(新手入门版本)
    • 第 2.5 节 安装 FreeBSD——基于 VMware Workstation Pro
    • 第 2.6 节 安装 FreeBSD——基于 Virtual Box
    • 第 2.7 节 手动安装双系统(先安装 FreeBSD)
    • 第 2.8 节 手动安装双系统(后安装 FreeBSD)
    • 第 2.9 节 安装 FreeBSD——基于 Apple M1 & Parallels Desktop 20
    • 第 2.10 节 安装 FreeBSD——基于 Apple M1 & VMware Fusion Pro
    • 第 2.11 节 Qemu 安装 RISC-V FreeBSD(基于 x86 Windows)
    • 第 2.12 节 云服务器安装 FreeBSD(基于腾讯云轻量云)
    • 第 2.13 节 安装 FreeBSD——基于 Hyper-V
  • 第 3 章 包管理器与 FreeBSD 系统更新
    • 第 3.1 节 FreeBSD 镜像站现状
    • 第 3.2 节 FreeBSD 换源方式
    • 第 3.3 节 gitup 的用法
    • 第 3.4 节 通过 pkg 包管理器安装二进制包
    • 第 3.5 节 通过 Ports 以源代码方式安装软件
    • 第 3.6 节 通过 DVD 安装软件
    • 第 3.7 节 通过 freebsd-update 更新 FreeBSD
    • 第 3.8 节 通过源代码更新 FreeBSD
    • 第 3.9 节 使用 pkgbase 更新 FreeBSD
  • 第 4 章 桌面环境
    • 第 4.1 节 显卡驱动(英特尔、AMD)
    • 第 4.2 节 显卡驱动(NVIDIA)
    • 第 4.3 节 GNOME
    • 第 4.4 节 Mate
    • 第 4.5 节 Xfce
    • 第 4.6 节 Cinnamon
    • 第 4.7 节 Lumina
    • 第 4.8 节 LXQt
    • 第 4.9 节 bspwm
    • 第 4.10 节 IceWM
    • 第 4.11 节 Budgie
    • 第 4.12 节 i3wm
    • 第 4.13 节 CDE
    • 第 4.14 节 Hyprland
    • 第 4.15 节 LXDE
    • 第 4.16 节 Window Maker
    • 第 4.17 节 Fluxbox
    • 第 4.18 节 KDE6
    • 第 4.19 节 主题美化
    • 第 4.20 节 远程桌面
    • 第 4.21 节 root 登录桌面
  • 第 5 章 中文环境配置
    • 第 5.1 节 本地化环境变量
    • 第 5.2 节 Fcitx 输入法框架
    • 第 5.3 节 IBus 输入法框架
    • 第 5.4 节 五笔输入法
    • 第 5.5 节 Firefox 与 Chromium
    • 第 5.6 节 QQ(Linux 版)
    • 第 5.7 节 更换字体
    • 第 5.8 节 金山 WPS(Linux 版)
    • 第 5.9 节 压缩与解压
    • 第 5.10 节 微信(Linux 版)
  • 第 6 章 多媒体与外设
    • 第 6.1 节 声卡
    • 第 6.2 节 蓝牙
    • 第 6.3 节 打印机
    • 第 6.4 节 触摸板
    • 第 6.5 节 音频播放器
    • 第 6.6 节 视频播放器
    • 第 6.7 节 音频图形图像处理
  • 第 7 章 代理服务器
    • 第 7.1 节 HTTP 代理
    • 第 7.2 节 V2ray
    • 第 7.3 节 Mihomo(原 Clash)
    • 第 7.4 节 OpenVPN
  • 第 8 章 账户与权限
    • 第 8.1 节 sudo 与 doas
    • 第 8.2 节 用户与组
    • 第 8.3 节 用户权限
  • 第 9 章 Jail
    • 第 9.1 节 Jail 配置
    • 第 9.2 节 Jail 更新
    • 第 9.3 节 使用 Qjail 管理 Jail
  • 第 10 章 虚拟化
    • 第 10.1 节 通过 BVCP 以网页管理 BHyve
    • 第 10.2 节 使用 bhyve 安装 Windows 11(vm-bhyve)
  • 第 11 章 计算机概论
    • 第 11.1 节 存储卡参数简介与测试
    • 第 11.2 节 总线接口与协议
    • 第 11.3 节 网络基础
    • 第 11.4 节 操作系统
    • 第 11.5 节 MySQL 数据库
  • 第 12 章 引导恢复与 TTY 配置
    • 第 12.1 节 单用户模式与密码重置
    • 第 12.2 节 配置 rEFInd(双系统用)
    • 第 12.3 节 FreeBSD 中文 TTY 控制台
    • 第 12.4 节 引导界面与控制台界面
    • 第 12.5 节 Grub & UEFI 与 efibootmgr
  • 第 13 章 FreeBSD 系统管理
    • 第 13.1 节 FreeBSD src 源码概览
    • 第 13.2 节 FreeBSD 系统概览
    • 第 13.3 节 bsdconfig 系统配置工具
    • 第 13.4 节 SSH 配置与相关工具
    • 第 13.5 节 BSD init 管理服务
    • 第 13.6 节 利用脚本自动生成 BSDlibc 库文本
  • 第 14 章 网络管理
    • 第 14.1 节 TCP 堆栈
    • 第 14.2 节 WiFi
    • 第 14.3 节 USB 网络共享(USB tethering)
    • 第 14.4 节 USB 网卡 & 以太网卡
  • 第 15 章 FreeBSD 防火墙
    • 第 15.1 节 网络参数配置命令
    • 第 15.2 节 Packet Filter(PF)
    • 第 15.3 节 IPFilter(IPF)
    • 第 15.4 节 ipfirewall(IPFW)
    • 第 15.5 节 Fail2Ban(基于 IPFW、PF、IPF)
  • 第 16 章 服务器
    • 第 16.1 节 FTP 服务器
    • 第 16.2 节 MinIO 对象存储服务
    • 第 16.3 节 Gitlab-EE
    • 第 16.4 节 时间服务
    • 第 16.5 节 WildFly
    • 第 16.6 节 Rsync 同步服务
    • 第 16.7 节 Samba 服务器
    • 第 16.8 节 NFS 服务器
    • 第 16.9 节 Webmin
  • 第 17 章 网络服务器
    • 第 17.1 节 Apache
    • 第 17.2 节 Nginx
    • 第 17.3 节 PHP 8.X
    • 第 17.4 节 MySQL 5.X
    • 第 17.5 节 MySQL 8.X
    • 第 17.6 节 NextCloud——基于 PostgreSQL
    • 第 17.7 节 Telegraf+InfluxDB+Grafana 监控平台
    • 第 17.8 节 PostgreSQL 与 pgAdmin4
    • 第 17.9 节 AList
    • 第 17.10 节 prometheus 监控部署
    • 第 17.11 节 MongoDB 80
    • 第 17.12 节 Tomcat
    • 第 17.13 节 Caddy
    • 第 17.14 节 OnlyOffice(基于 PostgreSQL)
    • 第 17.15 节 Zabbix 监控(基于 PostgreSQL)
  • 第 18 章 嵌入式(树莓派、RISCV)
    • 第 18.1 节 树莓派简介与配件选用
    • 第 18.2 节 树莓派安装 FreeBSD
    • 第 18.3 节 树莓派 FreeBSD 配置
    • 第 18.4 节 树莓派与 Linux 兼容层
    • 第 18.5 节 树莓派与 OpenBSD
    • 第 18.6 节 在 RISCV 开发板上安装 OpenBSD
    • 第 18.7 节 Radxa X4(x86)
  • 第 19 章 文学故事
    • 第 19.1 节 BSD 与哲学家 George Berkeley(乔治·贝克莱)
    • 第 19.2 节 加州大学伯克利分校与“Fiat Lux”(要有光)
  • 第 20 章 游戏与科学
    • 第 20.1 节 游戏
    • 第 20.5 节 科研与专业工具
    • 第 20.6 节 我的世界(Minecraft)
  • 第 21 章 Linux 兼容层
    • 第 21.1 节 Linux 兼容层实现
    • 第 21.2 节 Linux 兼容层——基于 CentOS(FreeBSD Port)
    • 第 21.3 节 Linux 兼容层——基于 Ubuntu/Debian
    • 第 21.4 节 Linux 兼容层——基于 ArchLinux bootstrap
    • 第 21.5 节 Linux 兼容层——基于 archlinux-pacman
    • 第 21.6 节 Linux 兼容层——基于 OpenSUSE
    • 第 21.7 节 Linux 兼容层——基于 Gentoo Linux
    • 第 21.8 节 Linux 兼容层——基于 Rocky Linux
    • 第 21.9 节 Linux 兼容层——基于 Slackware Linux
    • 第 21.10 节 RockyLinux 兼容层(FreeBSD Port)
    • 第 21.11 节 Linux 兼容层——基于 Deepin
    • 第 21.12 节 Linux 兼容层与 Jail
    • 第 21.13 节 Linux 兼容层故障排除与未竟事宜
  • 第 22 章 编程环境与软件开发
    • 第 22.1 节 如何报告 Bug
    • 第 22.2 节 如何开发一个 Port
    • 第 22.3 节 如何参与 FreeBSD 开发
    • 第 22.4 节 C/C++ 环境的配置
    • 第 22.5 节 Java 环境的配置
    • 第 22.6 节 QT 环境的配置
    • 第 22.7 节 Python 与 VS Code
    • 第 22.8 节 Rust/Go 环境的配置
    • 第 22.9 节 Shell
    • 第 22.10 节 通过 IDA 7 调试 FreeBSD
    • 第 22.11 节 如何订阅 FreeBSD 的邮件列表
    • 第 22.12 节 code-server 和 clangd
    • 第 22.13 节 Node.js
  • 第 23 章 文件系统与磁盘管理
    • 第 23.1 节 自动挂载文件系统
    • 第 23.2 节 ZFS
    • 第 23.3 节 磁盘扩容
    • 第 23.4 节 NTFS & Fat32
    • 第 23.5 节 Swap 交换分区的设置
    • 第 23.6 节 Linux 文件系统
    • 第 23.7 节 ZFS 磁盘加解密
  • 第 24 章 DragonFly BSD
    • 第 24.1 节 DragonFly BSD 概述
    • 第 24.2 节 安装 DragonFly BSD
    • 第 24.3 节 配置 DragonFly BSD
  • 第 25 章 TwinCAT/BSD
    • 第 25.1 节 TwinCAT/BSD 系统安装与基本配置
    • 第 25.2 节 TwinCAT/BSD 开发环境配置
  • 第 26 章 OpenBSD
    • 第 26.1 节 OpenBSD 概述
    • 第 26.2 节 安装 OpenBSD
    • 第 26.3 节 配置 OpenBSD
    • 第 26.4 节 OpenBSD 包管理器
    • 第 26.5 节 桌面与其他软件
  • 第 27 章 NetBSD
    • 第 27.1 节 NetBSD 概述
    • 第 27.2 节 NetBSD 安装图解
    • 第 27.3 节 NetBSD 换源与包管理器
    • 第 27.4 节 桌面与中文环境常用软件
由 GitBook 提供支持
LogoLogo

FreeBSD 中文社区(CFC) 2025

在本页
  • 总体目标
  • 编写原则
  • 目标平台
  • pkg 与 ports
  • 本书中命令及符号含义
  • 对用户的要求
  • 本书定位
  • 参考书目
  • 选读书目
在GitHub上编辑
导出为 PDF

前言

总体目标

使之成为“一本书”,确保每个部分都是经过实际验证的:如果是原理性内容,要找出最原始的出处;如果是可操作内容,必须自己试一试。

编写原则

对既成事实和广大教程中的一贯说法持悬置态度。考察其有无真实出处和确定无疑、清楚明白的源代码支撑或历史因素。即使是大家(大家究竟是谁?有这么一个人吗?)一致认为的,也要考察其每一步骤的合理性与必要性,在官方文档或代码中哪里明确写出需要这样做,对不合理的做法予以驳斥,对于明显的错误,向上游相关项目进行反馈。不能说能运行就一定没有问题。凡是存在的有其合理性,但必然也有其不再存在的可能性的合理性存在:简而言之,对默认行为也要考察其原理,持怀疑态度。如果是个人习惯,则明确为个人习惯,并给出安全的、行业推荐的做法(这样就一定正确吗?)版本差异应予以注明。作者不是 Ai,如果个人无法确证,并且看不懂看不明白的坦白讲自己不知道,留置文中(故障排除与未竟事宜),以期后人的智慧。

目标平台

目前版本兼容 FreeBSD 14.2-RELEASE 及 FreeBSD 15.0-CURRENT,并尽量向下兼容。

主要面向 x86-64(amd64)、AArch64(arm64),并尽可能多的支持其他体系平台。

Windows 测试环境为 Windows 10、11,并尽量使用最新版本的 Windows。

pkg 与 ports

因为 FreeBSD 有两种安装软件的方式(但个别软件不支持 pkg 安装):因此为了方便,在本教程中已经尽可能地列出了两种方式的安装说明。但希望大家明白,只是为了方便,而并非不能使用 ports 或者 pkg 进行安装或必须使用二者其一进行安装。

请注意

ports 一般是 HEAD 分支,你的 pkg 最好与 ports 保持在同一主线上,即都选择 latest。但是你亦可以自行拉取 pkg 对应的 Ports 季度分支,如 2025Q1。


要安装软件 yyy,yyy 在 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

本书中命令及符号含义

# 代表 root 下的操作,基本等同 su、sudo 和 doas。

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

┌---------------┐        ┌--------------┐
│ 普通用户       │--su-→▶│   root 用户   │
│ ($ 或 % 提示符)│←------ │   (# 提示符)  │
└---------------┘  exit  └---------------┘

注意

提示一些注意事项。

技巧

提示一些技巧。

警告

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


章节:

故障排除与未竟事宜

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

对用户的要求

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

本书定位

本书旨在深入剖析 FreeBSD 操作系统,敉平从初学者到研究者之间的鸿沟。

参考书目

相关书籍:新的变化也不是很大。不像 Linux 有这么多入门书籍。出于历史上的原因,看 UNIX 相关书籍即可。

技巧

以下有多本书籍可通过微信读书免费阅读。

封面
书名
作者
ISBN
出版社
说明

《FreeBSD 技术内幕》

Brian Tiemann、Michael Urban

9787111102010

机械工业出版社

2002 年的书,居然还能用。你该说 BSD 没有发展,还是该说他稳定?本书推荐选读第 1、4、8、9、10、11、12、13 章

《Unix & Linux 大学教程》

Harley Hahn

9787302209560

清华大学出版社

命令行基础

《UNIX/Linux 系统管理技术手册(第 5 版)》

Evi Nemeth、Garth Snyder、Trent R.Hein、Ben Whaley、Dan Mackin

9787115532763

人民邮电出版社

命令行进阶与 UNIX 基础

《FreeBSD 操作系统设计与实现(原书第 2 版)》

Marshall McKusick、George Neville-Neil、Robert N.M. Watson

9787111689973

机械工业出版社

主要讲解了内核。轻型纸,居然还有几个章节要自己在网络自己下载?

《UNIX 编程艺术》(TAOUP)

Eric Raymond

9787121176654

电子工业出版社

主要讲解了 UNIX 的设计哲学与软件工程理论。

《大教堂与集市》

Eric S. Raymond

9787111452478

机械工业出版社

主要介绍了开源运动的发展史。

《4.4BSD 操作系统设计与实现》

Marshall Kirk McKusick

9787111366478

机械工业出版社

4.4BSD 操作系统设计与实现

《深入理解 FreeBSD 设备驱动程序开发》

Joseph Kong

9787111411574

机械工业出版社

FreeBSD 设备驱动程序开发

《UNIX 环境高级编程(第 3 版)》

W. Richard Stevens、Stephen A. Rago

9787115352118

人民邮电出版社

深入了解驱动 UNIX 内核的编程接口的实用知识

《UNIX 网络编程 卷 1:套接字联网 API(第 3 版)》

W. Richard Stevens、Bill Fenner、Andrew M. Rudoff

9787115367198

人民邮电出版社

如何使用套接字 API 进行网络编程

《UNIX 网络编程 卷 2:进程间通信(第 2 版)》

W. Richard Stevens

9787115367204

人民邮电出版社

深入了解各种进程间通信形式。这书原作者没出第 3 版,不用再找了

《深入理解 UNIX 系统内核》

Uresh Vahalia

9787111491453

机械工业出版社

UNIX 内核基础

选读书目

封面
书名
作者
ISBN
出版社
说明

《UNIX 传奇——历史与回忆》

Brian W Kernighan

9787115557179

人民邮电出版社

主要讲解了 UNIX 的发展历史。写的比较粗略。

Absolute FreeBSD 3rd

Michael W. Lucas

9781593278922

No Starch Press

英文版,目前没有译文。词汇包括内容都非常基础。切记,有计算机基础的人不需要阅读。

上一页三版序言:且有大觉而后知此其大梦也(草稿)下一页第 1.1 节 操作系统的历程:UNIX、Unix-like、Linux & FreeBSD

最后更新于10天前