💡
原文英文,约600词,阅读约需2分钟。
📝
内容提要
Debian使用Git存储库来维护软件包,但大量数据导致存储问题。他们通过使用git clone --filter命令找到了解决方案,这显著减小了存储库的大小。总体磁盘消耗从近300GB减少到15GB。
🎯
关键要点
- Debian的软件包主要在Git存储库中维护,许多存储在salsa.debian.org上。
- Debian运行一个vcswatch服务来跟踪所有包装存储库的状态,并将其存储在PostgreSQL数据库中。
- 过去,Git数据的存储需求导致scratch分区扩展到300GB,尝试使用浅克隆仅节省了少量空间。
- Debian只需要从存储库中获取最少的信息,因此尝试不获取完整的存储库克隆。
- Gábor Németh建议使用git clone --filter blob:none来解决存储问题,这一建议在bug报告中被忽视了近一年。
- 使用blob:none过滤器后,克隆的存储库大小缩小到原始大小的1/100。
- 进一步使用tree:0过滤器,克隆的存储库大小缩小到原始大小的1/1000。
- 在qa.debian.org上部署新选项后,整体磁盘消耗从近300GB减少到15GB,减少了1/20。
- 一些存储库的大小从GB级别缩小到MB级别。
🏷️
标签
➡️