值此新春佳节来临之际,科大开源软件镜像 提供了 git 服务。至此,科大开源软件镜像提供了 http、https、ftp、rsync、git 五种服务。

第一批上线的 git 镜像包括:

  • Android Open Source Project (AOSP) 镜像:使用帮助
  • Linux Kernel 镜像:git clone git://mirrors.ustc.edu.cn/linux.git
  • Homebrew 镜像:git clone git://mirrors.ustc.edu.cn/homebrew.git

说明:

  1. 大多数镜像每天同步一次,Linux Kernel 镜像每 6 小时同步一次。
  2. 由于服务器资源限制,每个 IP 地址限制 5 个并发 git 连接。
  3. 暂不提供 gitweb 在线查看源码服务,但可以通过 http 方式访问这些 git 仓库。

如果您希望添加其他开源 git 仓库,欢迎联系 lug (at) ustc.edu.cn。

顺祝各位新春快乐,羊年大吉!


以下内容是给服务器维护人员看的。

需要给 _git._tcp.mirrors.ustc.edu.cn 添加 SRV 记录,指明 git 服务的端口号:

$ dig +short SRV _git._tcp.mirrors.ustc.edu.cn
5 0 9418 mirrors.ustc.edu.cn.

/etc/iptables/rules.v{4,6} 的合适位置分别添加下述防火墙规则,打开 9418 端口:

-A INPUT -p tcp --syn --dport 9418 -m connlimit --connlimit-above 5 -j REJECT
-A INPUT -p tcp --dport 9418 -j ACCEPT

以 mirror 用户身份运行 git daemon --base-path=/srv/git --export-all --reuseaddr --max-connections=128

开机自启动:在 /etc/rc.local 中添加

nohup sudo -u mirror git daemon --base-path=/srv/git --export-all --reuseaddr --max-connections=128 >/dev/null 2>&1 &

添加 Git 源

  1. 把 git bare 目录符号链接到 /srv/git 里面。
  2. 以 mirror 用户身份添加 crontab 自动同步:30 4 * * * /home/mirror/bin/gitsync /path/to/example.git
  3. 配置持久化:crontab -l > ~/etc/crontab.backupgit commit & push