mirrors修复BioConductor和Loongson源

这两个源都是因为上游源地址换掉,我们没有及时跟进导致长期同步失败的。

BioConductor此次修复后增加了2.13版本的源,现在共有2.11/2.12/2.13三个版本。

而来自anheng的龙芯补充源则是在联系了其维护者后,重新完成了同步。在此摘录部分邮件内容加以说明:

新的Debian不再支持老的软件源的方式,因此增加了bjlx 目录,用于龙芯补充源,目录说明如下:
 
loongson: 包含一些2e的补充源和一些老的龙芯的东西,install目录是离线安装包发布目录,还在更新。
 
Loongson2f: 2f的补充源,不再更新。
 
loongson3: wheezy源,已经合并到bjlx。
 
bjlx: 统一的补充源,经常更新。

因此我们选择同步loongson/loongson2f/bjlx这三个源,频率是每天一次。

mirrors恢复qomo源

qomo 的上游源即官方源把 rsync 的 path 从 qomo/ 调整到了 yum-repo/ ,mirrors 不知为何一直没有跟进。故此次重新修正,并手工同步完成。目前 qomo 源每天 6 点 42 分同步一次。

mirrors修复archlinuxarm源以及status页面的排序bug

在上半年或者更早的时候,我们申请了 archlinuxarm 的官方源,并由主站进行 push。不过自从暑假里 mirrors 服务器重装系统,mirrors-lab 虚拟机停止工作后,这个源就一直没有恢复。目前,我们从亚琛工大的 rsync://ftp.halifax.rwth-aachen.de/archlinux-arm/ 这个源进行同步,每小时一次,基本恢复了 archlinuxarm 源的正常工作。将来有机会的话我们会积极申请恢复官方 push 的。

最近 mirrors 上的 status 页面恢复后,我们用jquery的tablesorter插件来对表格进行排序。可是对于占用空间大小一列,这个插件并不能很好的识别。因此我在 status 页面的生成脚本里,把未经转换的真实大小(bytes)直接以 ‘display:none’ 的样式插入,并写了个函数作为 TextExtraction 让 tablesorter 选取这个 ChildNode 作为排序依据。

但是后面又发现了新的问题,即第一列里因为有锚元素的存在,又导致 TextExtraction 对第一列失效。即对于这样的一个 <td> 元素:

<td><a href="/anthon/">anthon</a></td>

如果要取其中的连接部分的话,应该用:

node.childNodes[1].innerHTML;

而非:

node.childNodes[0].innerHTML;

因此调整了一下脚本和页面后即告完工。

mirrors 修复 linux.git 源

最近有人反映 mirrors 上的 linux.git 源无法 clone。具体表现为 git clone 到 700MB 左右时卡住,git 无输出。登录后发现 linux.git 有差不多 7GB 大小,判断为 git 存储的松散对象没有被重新打包,导致这个 git 镜像越来越大。

因此先手动对 linux.git 进行 git gc 操作,其占用空间从 7GB 下降到 700MB,服务恢复。随后在同步用的LXC虚拟机中,添加crontab规则:

0       0       * * mon (cd /srv/ftp3/git-repos/linux.git; git gc) > /dev/null 2>&1

即每周一零点零分对 linux.git 进行一次 git gc 操作。