3.2 准备工作

关于硬件和软件要求的详细列表,请参阅前一章有关比赛安排的详细内容

Debian 和 ReadHat 的安装命令

为了方便起见,在 Debian GUN/Linux 及其衍生版(如 Ubuntu) 中,下面的命令可以在Domserver上安装上文提及的所有软件依赖。

sudo apt install gcc g++ make zip unzip mariadb-server \
        apache2 php php-cli libapache2-mod-php php-zip \
        php-gd php-curl php-mysql php-json php-xml php-intl php-mbstring \
        acl bsdmainutils ntp phpmyadmin python-pygments \
        libcgroup-dev linuxdoc-tools linuxdoc-tools-text \
        groff texlive-latex-recommended texlive-latex-extra \
        texlive-fonts-recommended texlive-lang-european
# 如需启用命令行提交客户端,还需要加上一下内容:
sudo apt install libcurl4-gnutls-dev libjsoncpp-dev libmagic-dev
# 如需使用 nginx,将 apache2, libapache2-mod-php 换成 nginx, php-fpm, apache2-utils

注意:根据不同发行版,您可能需要手动启用PHP模块。例如在 Ubuntu 中,执行 sudo phpenmod json 以启用 JSON模块。

下面的命令用以在 RedHat 及其衍生版(如 CentOS、Fedora) 中安装依赖。

sudo yum install gcc gcc-c++ make zip unzip mariadb-server \
        httpd php-gd php-cli php-intl php-mbstring php-mysql php-xml \
        python-pygments ntp linuxdoc-tools libcgroup-devel \
        texlive-collection-latexrecommended texlive-wrapfig
# 如需启用命令行提交客户端,还需要加上一下内容:
sudo yum install libcurl-devel jsoncpp-devel file-devel

注意:仍需要手动安装 TeX Live 软件包 expdlist, moreverbsvn 以重建队伍手册。此外,phpmyadmin 可以从 Fedora EPEL源 中获得。jsoncpp-devel 在 Fedora 中有,但在 RHEL/CentOS 中则没有。

虽然 Libmagic 并非必需安装,但是强烈建议安装以检测二进制文件的提交。通过 --enable-static-linking 编译参数,可以将静态库链接到 “提交程序”(submit) 的二进制文件中,然后就不需要在提交程序所在的团队设备上安装这些静态库。

在 judgehost 上,以下软件应该就足够了。最后两行是安装一些可能需要的编译器的例子(C、C++、Java(OpenJDK)、Haskell、Pascal),如有需要可以修改它。

对于 Debian:

sudo apt install make sudo debootstrap libcgroup-dev lsof \
        php-cli php-curl php-json php-xml php-zip procps \
        gcc g++ openjdk-8-jre-headless \
        openjdk-8-jdk ghc fp-compiler

对于 RedHat:

sudo yum install make sudo libcgroup-devel lsof \
        php-cli php-mbstring php-xml php-process procps-ng \
        gcc gcc-c++ glibc-static libstdc++-static \
        java-1.7.0-openjdk-headless java-1.7.0-openjdk-devel \
        ghc-compiler fpc

注意:RedHat 7 没有 fpc

Last updated