我们针对不同 Linux 发行版提供了多种格式的安装包.对于暂未支持的发行版,可以选择容器部署或者静态链接的可执行文件. 我们致力于支持所有架构的 Linux 系统.
镜像已上传 Docker Hub 和 Github Packages.
获取最新镜像
docker pull docker.io/lanthora/candy:latest
容器需要管理员权限读取设备创建虚拟网卡并设置路由,同时需要 Host 网络命名空间共享虚拟网卡.
以默认配置文件启动将加入社区网络.指定的参数为 --rm
当进程结束时会自动销毁容器,且日志会在控制台输出,这有利于初次运行调试.
docker run --rm --privileged=true --net=host --volume /var/lib/candy:/var/lib/candy docker.io/lanthora/candy:latest
以自定义配置文件启动.请在默认配置基础上自定义配置文件.
docker run --rm --privileged=true --net=host --volume /var/lib/candy:/var/lib/candy --volume /path/to/candy.cfg:/etc/candy.cfg docker.io/lanthora/candy:latest
一切正常后,以守护进程的形式启动.
docker run --detach --restart=always --privileged=true --net=host --volume /var/lib/candy:/var/lib/candy --volume /path/to/candy.cfg:/etc/candy.cfg docker.io/lanthora/candy:latest
使用 AUR 或者 archlinuxcn 仓库
# AUR
paru candy
# archlinuxcn
pacman -S candy
emerge --sync gentoo && emerge -av candy
使用 OBS 仓库
# 以 Tumbleweed 为例,更新仓库缓存时选择信任签名
zypper addrepo https://download.opensuse.org/repositories/home:lanthora:candy/openSUSE_Tumbleweed/home:lanthora:candy.repo
zypper refresh && zypper install candy
下载 DEB 安装包后通过以下命令安装
apt install --fix-broken /path/to/candy.deb
当上述所有方式都不适用时,尝试单文件可执行程序.
该程序由交叉编译脚本构建.
如果你的系统在使用 Systemd 管理进程.请复制以下文件到指定目录.
cp candy.service /usr/lib/systemd/system/candy.service
cp candy@.service /usr/lib/systemd/system/candy@.service
cp candy.cfg /etc/candy.cfg
然后按照后续进程管理的方式管理进程.
判断 Systemd 的方法: 检查 ps -p 1
输出的内容里是否包含 systemd
各发行版安装后自带 Service 文件,强烈建议使用 Systemd 管理进程,不要使用自己编写的脚本.
对于自定义配置的用户,可以通过以下方式启动进程,不要修改默认配置.
mkdir /etc/candy.d
# 复制一份默认配置,并修改.文件名为 one.cfg
cp /etc/candy.cfg /etc/candy.d/one.cfg
# 以 one.cfg 为配置启动进程
systemctl start candy@one
# 复制一份默认配置,并修改.文件名为 two.cfg
# 需要注意不同配置文件中的 name 字段不能重复
cp /etc/candy.cfg /etc/candy.d/two.cfg
# 以 two.cfg 为配置启动进程
systemctl start candy@two