Wireguard 在 5.6 被合入了主线,5.5 及之前的内核需要用 dkms 安装进内核。
发行版:Debian 10 Buster
执行apt install wireguard-dkms
,产生如下报错:
Error! The dkms.conf for this module includes a BUILD_EXCLUSIVE directive which
does not match this kernel / arch. This indicates that it should not be built.
Skipped.
难道是 dkms 出 Bug 了吗?
1
mrcn OP [dkms.conf](git.zx2c4.com/wireguard-linux-compat/tree/src/dkms.conf) 中的正则手动测了一下,是可以匹配的。
|
2
mrcn OP 内核包名是
5.5.0-0.bpo.2-amd64 |
3
vk42 2020-07-01 21:29:50 +08:00
你用的什么特殊版本内核或非主流架构?
|
4
dullwit 2020-07-01 21:34:27 +08:00
|
5
mrcn OP @vk42 就在 backports 源里面的内核呀
packages.debian.org/buster-backports/linux-image-5.5.0-0.bpo.2-amd64 很正常的好嘛= = |
6
mrcn OP @dullwit 这个看过了,不知道他用的什么内核,他也是 dkms 装的但是没报错。。安装那里他就一笔带过了
我这 dkms 会报错内核不支持 |
7
mrcn OP 本来是想升级内核到 5.6 直装的,不过升级完内核后再 apt install wireguard 会很奇怪的再要求我安装次别的内核,而且是 rt 后缀的也就是实时的,所以就回退到 5.5 了。
|
8
dullwit 2020-07-01 22:06:52 +08:00
@mrcn #6 我在之前在 debian buster 上安装的,内核版本是 4.19 ,后面改成跑在 docker 里面了
docker-compose 配置是这样的 ```yaml version: "2.1" services: wireguard: image: lsiodev/wireguard container_name: wireguard cap_add: - NET_ADMIN - SYS_MODULE environment: - PUID=0 - PGID=0 - TZ=Asia/Shanghai - SERVERURL=xxxx.com #optional - SERVERPORT=51820 #optional - PEERS=1 #optional - PEERDNS=114.114.114.114 #optional - INTERNAL_SUBNET=10.13.13.0 #optional volumes: - ./config:/config - /lib/modules:/lib/modules - /usr/src:/usr/src ports: - 51820:51820/udp sysctls: - net.ipv4.conf.all.src_valid_mark=1 restart: unless-stopped ``` |
9
mrcn OP @dullwit 其实我之前就是用的 lsio 的镜像,不过有很严重的 Bug,提了[issue](github.com/linuxserver/docker-wireguard/issues/29)官方感觉也没有什么欲望去解决,才想着用原生内核装。。
谢谢你的热心帮助 |
10
wsy2220 2020-07-01 22:13:49 +08:00
建议直接装 5.6 内核
|
11
dullwit 2020-07-01 22:15:02 +08:00 via iPhone
@mrcn #9 我用 linuxserver/wireguard 在 debian 下有 bug,然后把镜像改成 Isodev/wireguard 就正常了,实在不行就用$$ server,要简单一点
|
12
ericFork 2020-07-02 03:13:18 +08:00
|
13
ericFork 2020-07-02 03:16:37 +08:00
另外 buster-backports 源的 5.5.17 就已经把 wg module backport 了,不需要再安装 wireguard-dkms 包,装 wireguard 这个包就可以了
|
14
mason961125 2020-07-02 03:59:09 +08:00
@mrcn #7 你试试直接装 apt install wireguard-dkms 就不会要求你装 gce 的那个内核了,真的非常的睿智这个操作。
|
15
mrcn OP @mason961125 #14 dkms 装不上啊,主帖就是说的这个事😂
@ericFork #13 wireguard 会蜜汁依赖上一个 5.6.0-rt 的内核。 感谢各位的帮助,昨晚升级 5.6 的时候脑子可能不清醒,升级内核后还在想办法装 wireguard 。今天考虑到已经合并进内核了所以只装了个 wireguard-tools,直接用果然就行了。 低版本下这玩意依赖很迷,建议有类似遭遇的尽量考虑直接升级内核。 |
16
mason961125 2020-07-02 23:21:18 +08:00
@mrcn #15 我现在用的 4.19.0,某一次更新 wireguard 这个包的时候,让安装 gce 的内核,我就非常的奇怪。然后我尝试删了 wireguard 的全部包,然后直接装 wireguard-dkms,就不要求装 gce 的那个内核了。
|