#OSPP Project
-
项目标题:半自动软件包退休、封存与整理系统
-
项目描述:
软件包更新在现代社会已经不再是什么稀奇事。每天,无数软件包获得更新,有些是修复漏洞,有些是增加功能,还有些是性能优化等等。 然而,并不是每一个软件包都有充分通过回归测试(Regression test),而有些更新则是主动放弃对于旧硬体的支援。 由于系统的软件包仓库亦为业余爱好者维护,打包者的技术、使用的平台与配置等等亦可能导致部分软件包更新后损坏。
作为一个由历史专家带领的专业考古社区,我们提供了大量的软件包供各种不同时代与架构的硬体使用。 以往,为了保证大家可以方便的切换各个版本的软件包,大量的老包被留在了系统的软件源中。 再加上 AOSC 支援的架构数量在某段时间的爆发,于 2017 年时,我们的软件包仓库达到了惊人的数十 GiB 。 庞大的体积对于我们自身以及各种收录了我们的开源镜像站均造成了压力。 我们因此启动了Anthon Optical Storage Center (AOSC Archive) 项目,将过去的软件包从软件源中移除并收录进入 Blu-ray Disc 进行冷储存。 然而使用冷储存造成的不便亦是显而易见的。如果出于各种原因,我们需要取回一个软件包进行测试,那么将会需要比较费事的人工寻找目录并取回对应光盘。 另外,冷储存的成本亦是比较高的。在近期的一次检查时,我们发现有约 1%-5% 的包可能由于各种原因,在收录进入 BD 时出现了重复收录的情况。 这些重复收录的包既提高了维护成本,又不具有价值。同样,整理需要取回的软件包目前也是一个非常耗费人力的工作。 每次退休包时,需要寻找每个架构中有收到更新的包,并移除老包。需要把这些包适当分类并分卷放好,以便于未来取回时不需要跨越多张光盘。 这一个项目就是为了解决该问题而产生的。
我们希望通过这个系统,可以较为方便的将软件包退休,并且避免不小心移除不应当被移除的软件包。 我们希望这个系统可以提供检查重复的功能,以避免将一个软件包重复退休多次,白白占用资源。 我们希望这个系统还可以提供一个软件包搜寻功能,可以方便的告知用户,需要的软件包有哪些版本,分别位于哪些光盘中。 我们希望这个系统可以在未来用在许多发行版上,让每个发行版都可以留下过去的软件包,在未来给大家的老机器使用。
另外,我们还希望这个系统可以快速提供一个「最小软件仓库」,仅包含最新版本的软件包,占用最少的空间。
- 项目难度:低
- 项目社区导师:张顺然 Staph. aureus
- 导师联系方式:staph@aosc.io
- 合作导师联系方式(选填):ID或姓名,电子邮箱
- 项目产出要求:
- 提供一个程序用于查询哪些软件源中的包可以被封存,哪些由于已封存,可以直接丢弃,哪些应当留在仓库中
- 提供一个程序用于封存软件包:移除以及分类归纳,可能的话,最终生成 Blu-ray ISO
- 提供一个稳定且高效的 API 可以方便的使用程式查询已封存软件包资讯
- 提供一个较为美观的用户介面用于查询已封存软件包资讯
- 如果有机会,提供一个老包请求网站,允许部分人上传包给请求者下载
- 项目技术要求:
- 封存部分如果可能,使用较少的非标准库
- 尽量做到无人工介入完成包退休封存与整理工作
- 软件包查询可以使用很少系统资源完成
- 这个系统应当可以较容易的应用于其他发行版的软件仓库
- 相关的开源软件仓库列表: https://github.com/AOSC-Dev/aosc-archive