在大学里建立一个新的 LaTeX 存储库

在大学里建立一个新的 LaTeX 存储库

由于澳大利亚只有一个 TeX 服务器,我正在考虑与我的机构进行协商,在大学网站上托管一个 TeX 存储库。

首先,请给我一些提示/线索,告诉我该如何说服大学。换句话说,大学托管这样的存储库有什么好处?

另外,我感兴趣的是了解此类 TeX 存储库的实际数字是多少?例如:

  • 需要多少物理空间(即15GB)?
  • TeX 存储库每年应该更新多少次新版本的 TeX 包?
  • 维护存储库所需的时间、资源和人员
  • 每天/每月从 TeX 存储库下载多少数据?

答案1

如果你成为一个官方的CTAN镜像

  1. 需要多少物理空间(即15GB)?

    32GB (2013 年:20GB 至 30GB 之间)。

  2. TeX 存储库每年应该更新多少次新版本的 TeX 包?

    一天一次。

  3. 维护存储库所需的时间、资源和人员

    一天的时间来安装、配置、初始化和测试您的服务器(BSD* 或 Linux + Apache + Cron 作业执行自动镜像操作)。

    每天花一分钟来验证自动镜像操作。

  4. 每天/每月从 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>

相关内容