专注用于个人硬件运行自建服务的操作系统,StartOS 0.4.0 发布
内容提要
StartOS 0.4.0发布,历时六年重写,基于Debian,用于个人服务器自托管。核心变化:用LXC替代Docker,重写网络与备份系统,引入S9PK包格式,改用Ed25519设备密钥认证,支持多架构。升级跨度大,旧备份不兼容,用户需谨慎迁移。
延伸解读
升级前必读:备份不兼容与迁移风险
StartOS 0.4.0 与 0.3.x 的备份格式完全不兼容,旧备份无法恢复到新系统,新备份也不能用于旧系统。升级前必须备份,但该备份仅用于回滚;升级成功后需重新备份。此外,Raspberry Pi 不支持就地 OTA 迁移,需重新写入镜像。用户应仔细阅读官方迁移说明,避免数据丢失。
架构重写:从 Docker 到 LXC 的考量
0.4.0 用 LXC 取代 Docker/Podman 作为服务运行环境,并引入 systemd-oomd 监控,为主机保留至少 1 GiB 内存,防止多服务耗尽资源导致系统无响应。这一变化意味着服务隔离和资源管理方式不同,用户需关注现有服务的兼容性,尤其是依赖 Docker 特定功能的场景。
网络与安全:更灵活的暴露与认证机制
新网络栈支持自动端口映射(PCP/NAT-PMP/UPnP)和 DNS 更新,减少手动配置。StartTunnel 可提供公网访问而不暴露家庭 IP。安全方面,认证改为设备级 Ed25519 签名密钥,旧会话全部失效,需重新登录。公网暴露策略也更严格,仅自动开放 TLS 或自带安全机制的协议。
Q&A
StartOS 0.4.0 是什么?它主要面向什么用户?
StartOS 0.4.0 是一款基于 Debian Stable 的服务器操作系统,主要用于在个人硬件上运行自托管服务。它提供应用发现与安装、网络配置、依赖管理、数据备份和运行状态监控等功能,并通过浏览器提供图形化管理界面。用户可以从 Start9 Marketplace 安装 Bitcoin、Lightning、BTCPay Server、Nextcloud、Vaultwarden、Matrix 和 SimpleX 等服务。
StartOS 0.4.0 相比 0.3.x 有哪些核心架构变化?
核心变化包括:用 LXC 取代 Docker/Podman 作为服务运行环境;重写网络系统,支持自动端口映射和 DNS 更新;引入新的 S9PK 软件包格式;备份系统升级为 StartOSBackupsV2,支持差异备份;身份验证改为设备级 Ed25519 签名密钥;防火墙迁移至 nftables;支持多架构(x86_64、AArch64、RISC-V)。
StartOS 0.4.0 为什么用 LXC 替代 Docker?
文章提到,0.4.0 使用 LXC 取代 Docker/Podman 作为服务运行方式。新的容器架构将每个服务容器放入受 systemd-oomd 监控的 services.slice,为主机保留至少 1 GiB 内存,避免同时运行多个服务时耗尽内存导致服务器无响应。这提高了资源管理和系统稳定性。
StartOS 0.4.0 的备份系统有什么新特性?
新版备份系统使用 StartOSBackupsV2 格式,支持差异备份(首次完整备份后只保存变更内容)、跨服务器恢复和基于 FUSE 的跨平台文件系统访问。系统会显示备份目标可用空间,记录备份用时和进度,并能提示清理旧备份。此外,修复了服务未完全停止就备份的问题,确保数据一致性。
StartOS 0.4.0 的身份验证机制有什么变化?
身份验证从传统会话 Cookie 改为设备级 Ed25519 签名密钥。用户登录时,浏览器生成不可导出的 WebCrypto 私钥,并将公钥登记到服务器。后续 API 请求使用该密钥签名,不再携带 Cookie。用户可以在“活动会话”页面查看和撤销设备,超过30天无活动的密钥会被自动移除。这避免了 Cookie 冲突,并提高了安全性。
StartOS 0.4.0 支持哪些硬件架构?
StartOS 0.4.0 提供 x86_64、AArch64 和 RISC-V RVA23 镜像,同时为 Raspberry Pi 4 准备了独立的 microSD 镜像。x86_64 与 AArch64 版本又分为 Standard 和 其他版本(具体未详述)。
从 StartOS 0.3.x 升级到 0.4.0 需要注意什么?
升级跨度大,0.4.0 与 0.3.x 本质上是两套不同的操作系统,不是普通软件包更新。升级前需备份数据,但旧备份不能恢复到 0.4.0,新备份也不能用于恢复 0.3.5.1。Raspberry Pi 不能就地 OTA 迁移,需重新写入 microSD 卡。用户应遵循官方迁移说明,谨慎操作,避免数据丢失。