Arch Rollback Machine 任务单

26 views
Skip to first unread message

Phoenix Nemo

unread,
Aug 21, 2013, 7:13:01 AM8/21/13
to archlin...@googlegroups.com
===开篇废话 start===
A.R.M 关闭了,又是我们中文社区挑起大梁的时候了。
这是我们架设 A.R.M 的任务/TODO清单,由于这货比较特殊,所以没办法简单解决。
===开篇废话 end===

1. 服务器。需要至少200G硬盘空间来保存一年的软件包。这个我已经在Fiberhub机房的机器开好一台KVM的虚拟机了,另外兽兽 @showfom 也愿意赞助我们,做这个仓库。我可以在服务端里配置下载地址使用其他的链接,所以可以我们做一台服务器相应客户端请求,返 回的下载链接走兽兽的服务器。

2. A.R.M 服务端支持。由于 downgrade 脚本需要服务端包查询功能,这个似乎目前没有可用的能直接伸手,官方论坛的帖子也大多表示需要这个功能。所以我下午写了一个 Node.js 的应用来实现这个功能 https://github.com/phoenixlzx/repo-arm-server ,但是我表示搞不懂 downgrade (https://github.com/pbrisbin/downgrade) 需要返回什么样的格式,所以可能需要和作者沟通。目前 repo-arm-server 使用的是我自己写的查询和返回格式。这两天我会继续完善这个服务端,包括 Web 界面也会慢慢做。

3. 包数据库。就是 pkginfo.db,虽然 pacman 用不到,但是要给服务端用,这比每次都读一遍目录快多了。目前是仙子的 archrepo2 (https://geakit.com/lilydjwg/archrepo2) 实现这个功能。对于服务端还需要做一些修改:通过路径在pkginfo表中新增包所属仓库。另外我们将使用官方的pacman包数据库文件,所以对应的 db (core.db/extra.db, etc.) 不需要使用 archrepo2 生成。

4. Nginx 配置和包同步。A.R.M 可以通过添加相应日期的仓库来安装包,所以需要每天下载一份官方仓库的db然后保存在特定目录里,felixonmars 用 try_files 实现重定向包文件到统一的目录,以节约磁盘空间。包同步这个也是交给 felixonmars,一个目录下按原路径保存整个官方仓库一年来的所有包。外加每次release的镜像。

5. 客户端支持。上文已经阐述,目前似乎没人看得懂 downgrade 脚本,所以客户端支持我们将在 https://github.com/pbrisbin/downgrade 开新的 issue 联系作者,目前看来只需要做极少量修改即可正常使用。顺便,谁有兴趣去 downgrade 提交一份中文的翻译?

以上是本次 A.R.M 任务清单。应该没有太大难度,但是我们做好了,可以惠及很多用户。
Good luck team.

-- 
Regards,
Phoenix Nemo
signature.asc

Star Brilliant

unread,
Aug 21, 2013, 8:26:07 AM8/21/13
to archlin...@googlegroups.com, Libertas
怪不得前几天ARM打不开,还以为是网络不好呢。

我记得半个月前还和百合仙子讨论过是否建立一个ARM的镜像站呢。

那么,原来ARM站从2009年的软件包数据还有可能迁移么?

至于downgrade的翻译,我下周考试结束就去做。

最后,表示强烈支持!
Reply all
Reply to author
Forward
0 new messages