接入
在 Linux 上挂载
在没有桌面的渲染节点、服务器、CI 机器上,通过 FUSE 把所有空间挂成一个普通文件夹,用令牌和 systemd 服务开机自动挂载。
渲染节点、服务器、CI 机器这类没有桌面的 Linux,用一条命令把你所有的空间挂成一个普通文件夹,任何程序都能直接读写:
sidespace login [email protected] # 或者用令牌,见下面“无人值守”
sidespace mount --at ~/SideSpace # Ctrl-C 或 umount ~/SideSpace 停止
ls ~/SideSpace # 每个空间一个文件夹怎么工作
- 通过 FUSE 挂载,和 Mac 上的挂载是同一套逻辑。
- 读大文件只取用到的那一段:播放器拖到第 40 分钟,只下载那附近的数据块,不用先把整个文件拉下来。
- 写入先放在本机。文件安静 2 秒后保存成一个新版本,
fsync会立刻保存。 - 用临时文件加改名的方式保存,算原文件的新版本,历史不断。
mv、mkdir会同步到空间里。rm把文件放进回收站,30 天内能恢复。rmdir只删空文件夹。- 别人保存的改动一秒左右就能看到:新文件出现,重新打开文件读到的是新内容。
- 停止时(Ctrl-C、
SIGTERM、umount)先把还没保存的写入存好,再卸载。上次异常退出留下的挂载点,下次启动会自动清掉。 - 以 root 运行不需要额外软件。普通用户需要
fusermount3,在fuse3包里:apt install fuse3。 - 默认只有挂载的用户能访问。要让同一台机器的其他用户也能访问,加
--allow-other;非 root 运行时,还要在/etc/fuse.conf里打开user_allow_other。
实测有多快,见性能。
无人值守:令牌和开机自动挂载
不想在机器上登录账号,就给这台机器单独做一个令牌,只给它需要的空间和权限:
# 在你自己的电脑上
sidespace token create render-01 --scope files:read --scope files:write --space "Film A"把令牌放进机器上的 ~/.config/sidespace/mount.env:
SIDESPACE_TOKEN=ssp_…安装包里带一个 systemd 用户服务,负责把空间一直挂在 ~/SideSpace。崩溃会自动重启,停止前会先保存:
systemctl --user enable --now sidespace-mount
loginctl enable-linger $USER # 没人登录时也开机挂载
journalctl --user -u sidespace-mount # 看日志令牌只能看到它被授权的空间。用 sidespace token revoke 撤销后,这台机器马上失去访问。
安装包
scripts/package-linux.sh 在 rust:alpine 容器里编译出一个静态的 sidespace,不依赖 glibc 版本,各个发行版都能用。产物有两个:
sidespace-版本-linux-架构.tar.gz:二进制、服务文件和这份说明。sidespace_版本_架构.deb:装到/usr/bin/sidespace和/usr/lib/systemd/user/,推荐依赖fuse3。
目前还没有公开的下载页:从仓库自己构建,或者找我们要当前的版本。
也可以用 NFS
不能用 FUSE 的环境(比如没有 /dev/fuse 的容器),可以用 sidespace mount --nfs。它会打印对应的 sudo mount -t nfs … 命令,需要装 nfs-common。