先改变系统模型
FreeBSD 不是“换了包管理器的 Linux”。内核、基本用户态、文档和发布工程由同一项目交付;第三方软件位于 /usr/local,本地管理员配置与基础系统配置也有清晰边界。
| 熟悉的概念 | FreeBSD 对应入口 |
|---|---|
| systemd unit / systemctl | rc 脚本、service、sysrc、/etc/rc.conf |
| apt/dnf/pacman | pkg;需要自定义编译时才用 Ports |
/etc/sysctl.conf |
同名文件,但参数集合必须查 FreeBSD sysctl(8) |
| iptables/nftables | PF 或 IPFW,不可直接翻译规则语法 |
/dev/sda、/dev/nvme0n1 |
可能是 /dev/ada0、/dev/da0、/dev/nvd0 等 |
| Linux namespace/container | Jail 共享 FreeBSD 内核;bhyve 才是硬件虚拟机 |
| Event Viewer / Services | /var/log、service、rc 系统 |
从 Linux 迁移
先列出工作负载的内核依赖:eBPF、特定 cgroup、Docker、专有 GPU/网卡驱动或 systemd 紧耦合软件不能假设可直接移植。优先检查是否有原生 FreeBSD package;其次看 Ports;只有用户态 Linux 程序才评估Linux 兼容层。
配置迁移应逐项重建,不要整体复制 /etc。用户数据可用 rsync、ZFS send/receive 或应用自身导出格式迁移;数据库必须采用其支持的逻辑/物理备份流程,并验证版本兼容。
从 Windows 迁移
先确认文件名大小写、ACL、换行符、时区与字符编码。SMB 文件服务可通过 Samba 包提供,但 AD、NTFS 权限和 Windows 专有应用需要单独设计。桌面用户应先在虚拟机检查浏览器、办公、输入法、显卡和音视频需求,参见桌面与中文。
推荐迁移顺序
- 在虚拟机安装 15.1,记录完整安装和回滚步骤。
- 用真实但脱敏的数据副本验证应用、备份和恢复。
- 建立并行运行窗口,逐项比对网络、权限、定时任务和监控。
- 切换前冻结变更并完成最终同步;保留原系统只读回退窗口。
- 切换后从外部验证 DNS、TLS、端口、日志、时钟与备份任务。
迁移成功标准不是“服务进程启动”,而是业务检查、恢复演练、监控和回滚窗口全部成立。