评测:FreeBSD 上的 Sylve

Lobsters Hottest 工具

摘要

对 Sylve 早期版本的评测,这是一款用于 FreeBSD 的开源 Web 管理工具,可简化 jails、虚拟机和 ZFS 数据集的管理。

<p><a href="https://lobste.rs/s/dvsuag/review_sylve_on_freebsd">评论</a></p>
查看原文
查看缓存全文

缓存时间: 2026/05/18 06:27

# 让计算回归乐趣。使用 Linux、BSD。 来源:https://distrowatch.com/weekly-mobile.php?issue=20260518 每周 RSS 订阅 (https://distrowatch.com/news/dww.xml) DistroWatch WeeklyDistroWatch Weekly,第 1173 期,2026 年 5 月 18 日 **欢迎来到今年的第 20 期 DistroWatch Weekly!** 你是否曾想过搭建一个 FreeBSD 服务器,或许还带一些虚拟机或 jail,但又不想手动配置和敲命令行?如果是这样,那么 Sylve 管理工具提供了一个解决方案。Sylve 是一个基于 Web 的管理工具,可用于远程管理 FreeBSD 系统。基于 Web 的体验使得只需点击几下即可创建和管理 jail 和虚拟机。本周,我们首先来看看 Sylve 的早期版本,并报告它提供的体验。在我们的问答环节中,我们将讨论另一个管理工具 BleachBit,以及如何使用它来清理文件系统。你有喜欢的文件系统清理工具吗?请在意见调查中告诉我们你首选的清理方法。在我们的新闻专栏中,我们将讨论 Debian 对可重现构建的承诺,而 Haiku 则引入了对 ARM64 处理器的多核支持。我们分享 Fedora 计划以及其逆转——在一个新变体中包含 AI 工具和应用——的最新情况。我们还报道 KDE 收到一笔慷慨捐赠,用于支持项目基础设施,同时 Rocky Linux 引入了一个新的安全仓库。本周,我们链接到一篇关于科技行业和开源文化的深度评论,并总结了过去一周的发布。祝大家一周愉快,阅读开心! --- **本周的 DistroWatch Weekly 由 TUXEDO Computers (https://distrowatch.com/k/tuxedo.php) 呈现。** **内容:** - 评测:FreeBSD 上的 Sylve (https://distrowatch.com/weekly-mobile.php?issue=20260518#sylve) - 新闻:Debian 承诺可重现构建,Debian 发布更新安装介质,Haiku 在 ARM64 处理器上引入 SMP 支持,Rocky Linux 创建选择加入安全仓库,Fedora 重新考虑 AI 工具,KDE 收到慷慨捐赠 (https://distrowatch.com/weekly-mobile.php?issue=20260518#news) - 问答:BleachBit 的好处 (https://distrowatch.com/weekly-mobile.php?issue=20260518#qa) - 上周发布:Unraid OS 7.3.0, Archcraft 2026.05.12, RakuOS 2026.05.16, Rescuezilla 2.6.2 (https://distrowatch.com/weekly-mobile.php?issue=20260518#released) - 即将发布:FreeBSD 15.1-RC1 (https://distrowatch.com/weekly-mobile.php?issue=20260518#upcoming) - 意见调查:你如何清理系统? (https://distrowatch.com/weekly-mobile.php?issue=20260518#poll) - 站点新闻:高级用户的缓慢消亡 (https://distrowatch.com/weekly-mobile.php?issue=20260518#sitenews) - 读者评论 (https://distrowatch.com/weekly-mobile.php?issue=20260518#comments) 专题文章(作者:Jesse Smith) **FreeBSD 上的 Sylve** FreeBSD (https://distrowatch.com/freebsd) 最近 FreeBSD (https://distrowatch.com/freebsd) 季度状态报告中提到 (https://www.freebsd.org/status/report-2025-10-2025-12/#_sylvea_unified_system_management_platform_for_freebsd) 的项目之一是 Sylve (https://sylve.io/)。Sylve 是什么? > "Sylve 是一个用于 FreeBSD 虚拟化和存储的开源控制面板。它将 Bhyve、FreeBSD Jails 和 ZFS 整合到一个现代化的 Web 用户界面中。后端用 Go 编写,前端使用 Svelte/SvelteKit。目标很简单:无需沉浸在 shell 脚本中即可管理客户机、容器和数据集。" Sylve 网站进一步详细介绍了主要功能: > Sylve 提供:Bhyve 管理:创建、启动、停止、快照和进入 VM 控制台。从同一位置配置 CPU、内存、PCI 直通、VNC 和串口访问。Jails 采用类似 VM 的工作流程:Jails 遵循与 VM 相同的生命周期模型,包括网络、数据存储、限制以及控制台/shell 访问。ZFS 优先存储:在一个界面中管理池、数据集、磁盘和数据存储,具有清晰的 VM/Jail 存储映射。网络和服务控制:配置物理接口、虚拟交换机和 DHCP 范围,并提供可选的集成,如 Samba 和 libvirt。 根据项目文档,Sylve 的 Web 门户需要约 400MB 内存。我们还被告知 Sylve 需要 ZFS;它无法在运行经典文件系统(如 UFS)的 FreeBSD 系统上正常工作。 **安装** Sylve 网站和文档 (https://sylve.io/docs/) 说明,要安装控制中心,我们可以运行 "pkg install sylve" 来开始,前提是我们运行的是 FreeBSD 15.0 或更高版本。 我登录到一个运行 ZFS 的 FreeBSD 15.0 系统并运行了上述命令。我被告知这个包 *sylve* 在仓库中不存在。我搜索了任何名称中包含 "sylve" 的包,以为它可能被重命名为类似 "sylve-go" 或 "sylve-admin" 的东西,但没有找到匹配项。 凭直觉,我将 FreeBSD 包管理器从操作系统的默认 "quarterly" 发布仓库切换到了前沿的 "latest" 仓库。在 "latest" 分支中,找到了 *sylve* 包,并且我能够安装它。在 Sylve 文档和网站上可能应该提到切换 FreeBSD 默认仓库的要求,以避免混淆,但(最终)quarterly 分支会赶上,这种情况会自行解决。 Sylve 文档指出,一旦安装了包,我们就可以使用 Web 浏览器通过端口 8181 连接到远程控制面板。文档跳过了两个关键信息。首先,我们需要先激活 Sylve 服务(以 root 用户运行 "sysrc sylve_enable="YES" ; service sylve start" 即可实现)。其次,我们的 Web 浏览器必须通过 HTTPS 协议连接到服务器的 8181 端口;通过普通 HTTP 连接将返回错误消息。 在 Web 浏览器中连接到 8181 端口会显示一个登录屏幕。系统要求我们提供用户名和密码。默认情况下,界面使用 "sylve" 作为身份验证方法(大概会使用内部定义的帐户),但如果我们想使用普通用户帐户登录,则需要将登录方法切换为 "PAM"。 我以普通系统用户身份登录。Sylve 会显示一个页面,询问我们想要管理哪些服务,例如虚拟化、ZFS 管理和 Samba。当我们做出选择后,Web 界面表示需要重新启动服务器。我有点惊讶,我的普通用户能够通过 Sylvie 网页界面执行此确认并执行系统重启。我的普通用户不属于 wheel 或 operators 组,通常无法执行任何管理操作。 **探索网页界面** 系统重启后,浏览器会自动重新连接到 Sylve 服务并显示状态仪表板。网页界面的左侧是一个树状视图,显示我们控制的 Sylve 节点和机器。我们可以单击机器名称以查看在线节点的摘要以及资源使用统计信息。树中有一个位置可以查看与组中机器相关的备注。我们可以从此树状视图中查看机器集群并创建新集群。此视图中还有另一个用于查看备份的部分。 起初,这个信息树没什么可做的,因为我们只有一个节点,没有 jails、备份或集群。节点树稍后会变得更加有趣。 在页面的右上角,我们看到用于创建新虚拟机和 jails 的按钮。页面顶部还有用于访问帮助和赞助项目的按钮。帮助按钮将打开 Sylve 在线文档 (https://sylve.io/docs/)。 在屏幕底部,我们可以看到 Sylve 仪表板中最近的登录和登录尝试列表。 对于这次试用,我主要感兴趣的是创建 jails,为各种目的创建几个,然后看看是否可以从中央仪表板轻松管理它们。单击创建新 jail 的按钮会在 Sylve 界面中打开一个弹出窗口,其中有五个选项卡: - 基本 - 为新 jail 提供名称和描述。 - 存储 - 选择用于新 jail 的 ZFS 池。 - 网络 - 继承主机网络或禁用 jail 网络。 - 硬件 - 分配 CPU 核心、最大内存,并切换是否在系统启动时启动 jail。 - 高级 - 此屏幕询问我们是要创建 FreeBSD 还是 Linux jail。它还允许我们设置 jail 启动时要运行的进程以及 jail 关闭时要运行的命令。 虚拟机 (VM) 创建的弹出窗口几乎完全相同,但在底层资源分配方面更灵活一些。它还允许我们选择要使用的安装介质。 我执行的第一项任务是创建一个用于公共 FTP 服务的 jail。我点击了创建 Jail 按钮,浏览了上面提到的屏幕。当我到最后并点击创建按钮时,Sylve 报告我没有选择 "base"。后退几步,我发现存储选项卡要求我们选择一个 ZFS 池 (zpool),jail 将放置在其中。我们还被要求从下拉菜单中选择一个 "base"。不幸的是,下拉菜单中没有列出任何 base,而且从上下文也不清楚 Sylve 所说的 "base" 是什么意思。 创建新 jail (https://distrowatch.com/images/screenshots/sylve-15.0-create-jail.png) **Sylve -- 创建新 jail**(完整图片大小:102kB,分辨率:1491x839 像素) 此时文档证明很有用。它解释说,这里的 "base" 指的是 FreeBSD 使用的经典软件包集之一: > 在存储选项卡中,你可以选择将创建 jail 根文件系统的数据集 (pool),你还需要选择一个你下载的 base。你可以使用下载器从 https://download.freebsd.org/releases/amd64/15.0-RELEASE/base.txz 下载 base.txz(记得选择正确的架构和版本),并在下载器中启用提取。 缺少 jail 的 base (https://distrowatch.com/images/screenshots/sylve-15.0-base-image.png) **Sylve -- 缺少 jail 的 base**(完整图片大小:116kB,分辨率:1491x839 像素) 这解释了存储屏幕所说的 "base" 是什么意思,但提出了一个新问题:文档引用的下载器是什么?通过探索网页门户,我发现可以点击页面左侧信息树中我的 FreeBSD 服务器的名称。选择服务器会弹出一个选项,用于处理服务器、调整其网络设置、查看其存储以及访问终端。终端会自动以 root 用户身份登录。在此树中有一个名为 Utilities 的部分,在此子部分下,我们找到了一个名为 Downloader 的工具。该工具接受一个 URL,并在获取文件时显示进度。我使用此下载工具从 FreeBSD 服务器获取了 *base.txz* 文件。 使用下载器实用工具 (https://distrowatch.com/images/screenshots/sylve-15.0-downloader.png) **Sylve -- 使用下载器实用工具**(完整图片大小:127kB,分辨率:1491x839 像素) 然后我再次尝试创建 jail。这次,在存储屏幕上,我刚刚下载的 "base" 包出现在下拉菜单中,我选择了它。当我完成创建 jail 的选项卡时,出现了一个新错误,提示 "选择的 base 镜像在磁盘上找不到"。这让我感到困惑,因为我不仅下载了 *base.txz* 文件,而且 jail 创建向导已经找到它并将其添加到下拉菜单供我选择。它报告一个它检测到并提供给我的文件找不到。 然后我记起文档中指定,下载的 *base.txz* 文件需要解包后才能被 jail 创建向导使用。我回到下载器实用工具,确保勾选了自动提取存档的复选框。完成后,我能够创建一个 jail,在节点树中访问它,并访问其终端来安装新包和服务。 **Linux Jails** 由于 jail 创建窗口同时提供 FreeBSD 和 Linux jail 创建,我决定看看创建 Linux jail 的过程会涉及哪些内容。当尝试创建 Linux jail 时,创建窗口仍然要求我们选择一个 "base" 包。换句话说,我们需要找到一个提供最少文件系统包(不仅仅是 ISO 文件)的 Linux 发行版。 我使用 Sylve 下载器工具下载了 Alpine Linux (https://distrowatch.com/alpine),它提供了一个最小的文件系统存档。Sylve 能够解压这个 *tar* 存档并将其检测为潜在的 base。然后它创建了一个新的 jail,使用 Alpine 存档提供的用户空间,并运行在宿主的 FreeBSD 内核上。 在 Linux jail 中运行 Alpine (https://distrowatch.com/images/screenshots/sylve-15.0-alpine.png) **Sylve -- 在 Linux jail 中运行 Alpine**(完整图片大小:219kB,分辨率:1491x839 像素) Alpine jail 对我来说大部分工作正常。我能够使用 *apk* 包管理器下载新软件,包括 OpenRC 服务管理器。从那里,我能够添加新服务,例如 OpenSSH,以提供对 jail 的远程访问。 存在一些限制。并非 Linux jail 中的所有软件都能运行,至少在默认系统设置下是这样。任何依赖于 */proc* 文件系统存在的工具(例如进程监视器)都会失败。一些更复杂的软件,例如为 Linux 编译的 Web 浏览器,在尝试在 FreeBSD 内核上运行时也可能会遇到不兼容问题。 **快照** Sylve 需要 ZFS 存储卷才能运行,并且它还寻求提供对 ZFS 功能的访问,包括文件系统快照。通过屏幕左侧的节点树,我们可以访问存储选项,包括创建 jails 快照和回滚到早期快照的选项。我测试了这些功能,发现它们运行良好,允许我将 jails 恢复到早期的时间点。界面简单愉快,使基本的快照管理变得相当容易。 管理 ZFS 快照 (https://distrowatch.com/images/screenshots/sylve-15.0-snapshots.png) **Sylve -- 管理 ZFS 快照**(完整图片大小:98kB,分辨率:1491x839 像素) **结论** Sylve 还处于相当早期的阶段,最近才被添加到 FreeBSD 的 "latest" 仓库中。尽管还很年轻,但 Sylve 软件已经有了一个强劲的开端。安装包成功,用户界面相当容易导航,文档涵盖了我们需要的大部分必要信息。 我发现 Sylve 仪表板、文件系统快照工具和 jail 管理工具都能正常工作(至少在我习惯了界面使用的术语之后)。我喜欢 jail 网络大部分是自动化的,并带有合理的默认值。我对一些项目感到惊讶,比如选择 FreeBSD base 没有像其他 jail 管理器那样自动化,而且 Sylve 没有为 jails 提供预选的受支持 Linux 发行版列表。然而,我怀疑这些功能将在未来,一旦基本工具进一步完善后才会出现。 我的普通用户自动以 root 身份登录终端 (https://distrowatch.com/images/screenshots/sylve-15.0-terminal.png) **Sylve -- 我的普通用户自动以 root 身份登录终端**(完整图片大小:240kB,分辨率:1491x839 像素) 在我试用期间,Sylve 的主要问题几乎是完全缺乏安全性。主机 FreeBSD 系统上的任何用户,甚至是 compl

相似文章

FreeBSD 网站的新设计

Lobsters Hottest

FreeBSD 项目为其官方网站推出了新设计,突出了操作系统的特性,如 ZFS、虚拟化、Jails、网络、文档和社区。

FreeBSD 的 AI 审计

Lobsters Hottest

一次 AI 辅助的安全审计揭示了 FreeBSD 内核中的 15 个漏洞,包括权限提升和虚拟机逃逸,并详细描述了与 FreeBSD 团队协作报告和修补漏洞的过程。

我的新家庭服务器软件选择

Lobsters Hottest

一篇个人博客文章,详细描述了作者为新家庭服务器选择操作系统和服务管理软件的经历,比较了Synology、TrueNAS、Debian以及使用Runit的Void Linux。