由于澳大利亚只有一个 TeX 服务器,我正在考虑与我的机构进行协商,在大学网站上托管一个 TeX 存储库。
首先,请给我一些提示/线索,告诉我该如何说服大学。换句话说,大学托管这样的存储库有什么好处?
另外,我感兴趣的是了解此类 TeX 存储库的实际数字是多少?例如:
- 需要多少物理空间(即15GB)?
- TeX 存储库每年应该更新多少次新版本的 TeX 包?
- 维护存储库所需的时间、资源和人员
- 每天/每月从 TeX 存储库下载多少数据?
答案1
如果你成为一个官方的CTAN镜像:
需要多少物理空间(即15GB)?
32GB (2013 年:20GB 至 30GB 之间)。
TeX 存储库每年应该更新多少次新版本的 TeX 包?
一天一次。
维护存储库所需的时间、资源和人员
一天的时间来安装、配置、初始化和测试您的服务器(BSD* 或 Linux + Apache + Cron 作业执行自动镜像操作)。
每天花一分钟来验证自动镜像操作。
每天/每月从 TeX 存储库下载多少数据?
取决于用户数量和服务器带宽(我的公共镜像在 2016 年:每月 1500GB 到 2500GB 之间)。
cron 作业示例(FreeBSD):
#!/usr/bin/perl -w
use strict;
use warnings;
my $server = "rsync.dante.ctan.org";
my $local_copy = "/var/ctan-mirror";
my @rsync_comm = (
"/usr/local/bin/rsync",
"-a",
"--delete",
"--no-motd",
"--stats",
"rsync://$server/CTAN/",
$local_copy,
);
my $date = localtime();
print "$date: Starting CT(eX)AN synchronisation...\n";
my $status = system @rsync_comm;
if ($status != 0) {
print "WARNING !!!\n";
if ($? == -1) {
print "failed to execute: $!\n";
} elsif ($? & 127) {
printf "child died with signal %d, %s coredump\n",
($? & 127), ($? & 128) ? 'with' : 'without';
} else {
printf "child exited with value %d\n", $? >> 8;
}
}
$date = localtime();
printf "fix permissions...\n";
system("/usr/bin/find '$local_copy' -type f -perm +0111 -ls -exec chmod 644 {} \\; | wc -l");
print "$date: Ending CT(eX)AN synchronisation...\n";
Apache(2.2)配置示例:
<VirtualHost *:80>
ServerName ctan.example.com
DocumentRoot /var/ctan-mirror
<Directory "/var/ctan-mirror">
Options Indexes FollowSymLinks
IndexOptions FancyIndexing NameWidth=* VersionSort HTMLTable
IndexOptions Charset=UTF-8 SuppressIcon SuppressRules
AllowOverride None
Order allow,deny
Allow from all
</Directory>
</VirtualHost>