Publish licensed data snapshots with LAN LFS transfer and content audits
This commit is contained in:
@@ -34,8 +34,18 @@ DoOR 作者为 Daniel Münch、C. Giovanni Galizia、Shouwen Ma、Martin Strauch
|
||||
|
||||
`pack-summary.json` 存在且 complete=true 仅表示本地打包完成,不等于上传/远程恢复成功。上传后使用独立 clone 和新的 LFS object store 实际下载,再逐块、逐归档、逐内部文件流式校验。对应 receipt 只有在真实校验完成后才会提交。
|
||||
|
||||
本批实际范围:8 组、226,859 个原文件、24,040,546,041 字节;tar+zstd 分块总计 9,806,419,307 字节(不含小型目录/成员清单)。本地完整内容校验已通过。226,849 个文件与 2026-09-29 历史索引逐 SHA/大小吻合,另 10 个后增参考文件不在该旧索引,明确记为部分历史覆盖;其中 synaptic-partners 登记 SHA、作者模型 LICENSE pin 另有校验,来源原记录随包保留。不得把这次检查描述为所有历史科学阶段重新通过。
|
||||
|
||||
本次不是服务器所有内容的完整灾备。Gitea LFS 与 Git 仓库数据目录均需另有服务端备份;删除服务端 LFS 对象会破坏恢复能力。尚未核验 Gitea 主机磁盘容量和备份策略。
|
||||
|
||||
### 本次内网传输
|
||||
|
||||
Git SSH 本来使用 `192.168.10.31:2222`,但服务器返回的 LFS HTTPS 域名在本机解析到代理地址,导致大对象传输很慢。本次使用仓库本地的 `malecns-lan-https` transfer adapter:TCP 只连接 `192.168.10.31:443`,TLS SNI/证书验证仍使用 `git.lain.asia`,不关闭证书检查、不修改 hosts、系统代理或 Gitea 服务配置。通过原 SSH key 获取短期鉴权,凭据只保留在内存并经标准输入交给 curl,不写入提交或命令行参数。
|
||||
|
||||
adapter 遵循 [Git LFS 官方 custom-transfer 协议](https://github.com/git-lfs/git-lfs/blob/main/docs/custom-transfers.md),只允许该仓库的 HTTPS API/object 路径;Gitea 的 `Transfer-Encoding: chunked` 只在上传 PUT 场景被精确处理。它仍上传标准 LFS 对象,其他电脑可以继续使用普通 Git LFS 下载,不依赖这个内网 adapter。并发为 2,分块可重试;科学实验不得因此重启或重试。
|
||||
|
||||
最初通过代理的核心数据 push 为切换路线而主动停止,未完成的远端分支更新不计为成功。Git 提交和已传对象保留,后续按内容地址续传;严格 header 校验曾在开始 PUT 前拒绝服务器 chunked header,适配后再测试,未改变任何源文件。最终状态以独立下载回执为准,不把这些准备动作记为完成。
|
||||
|
||||
## 安全恢复(Linux 示例)
|
||||
|
||||
先安装 Git LFS、Python 3 和 zstd。只在新目录恢复,不要覆盖运行中的 `/data/digital-drosophila`。
|
||||
|
||||
Reference in New Issue
Block a user