山有木兮木有枝
心悦君兮君不知

觉得 UOJ 社区版太难用了打算装个 SYZOJ ,由于然而主机已经装了一套环境所以不太敢直接装,于是准备在 lxd 中玩一玩 ...

安装 lxd

使用 apt

sudo apt update
sudo apt install -y lxd
sudo apt install -y zfsutils-linux

进行初步配置,默认即可

sudo lxd init

创建容器

创建一个名为 syzoj 的容器,使用 ubuntu 18.04 系统

需要从网上拉取镜像可能需要等待较长的时间

sudo lxc launch ubuntu:18.04 syzoj

进入 syzoj 的终端

sudo lxc exec syzoj -- /bin/bash

进行安装

可以直接参考官方的部署指南

需要注意

  1. 直接创建的容器可能没用运行沙盒的权限

    sudo lxc config set syzoj raw.lxc "lxc.apparmor.profile=unconfined"
  2. 配置评测端的时候并不能直接修改 grub ,需要在宿主机修改并重启

  3. 直接拉去 lxd 的系统镜像为标准时区,需要手动改为 UTF + 8

    rm /etc/localtime && ln -s /usr/share/zoneinfo/Asia/Shanghai /etc/localtime

    修改后重启网站端生效。

nginx 配置

可以通过

sudo lxc list

来查看容器的 ip ,然后直接在宿主机中按照类似的方式用 nginx 进行端口转发即可。

已有 10 条评论

  1. Flamire Flamire

    对安装的电脑系统有要求吗

    1. 理论上来说 linux / mac 都行吧

      Windows 应该不大行 没试验过

      1. 不过如果是 Windows 的话或许你可以用 VMware / VBox 来开个虚拟机 QAQ?

  2. qwq qwq

    memset0在吗qwq

  3. _ _

    有好用的服务器吗qwq

  4. 我就说怎么您昨天一直在Github star SYZOJ

  5. memset0:“emm ...
    个人认为 UOJ 很好看啊,
    可能只是口味不同吧”

    哈哈哈哈哈哈哈哈哈~~~
    随便调侃一下

洛谷4647 [IOI2007] sails 船帆
上一篇 «
如何在家中访问内网 OJ ?
» 下一篇