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, moreverb
和 svn
以重建队伍手册。此外,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
。