在 Stretch 中更新后,Quagga 停止工作

在 Stretch 中更新后,Quagga 停止工作

今天,更新后,在我使用 Debian Stretch 的 DNS 服务器中,OSPF 停止工作,因此该服务器不属于 DNS 任播组。

当我尝试这样做时/etc/init.d/quagga start,init.d 脚本不再存在。我会说我还在用sysVinit,而不是systemd

尽管如此,我在系统中安装了 quagga 软件包。虽然我过去可以quagga在 中安装一个软件包Debian,但现在它已经安装了以下列表。

当前安装的软件包版本是1.1.0-2

怎么了?

$dpkg -l | grep quagga | awk ' { print $2 } '

libquagga0
quagga
quagga-bgpd
quagga-core
quagga-isisd
quagga-ospf6d
quagga-ospfd
quagga-pimd
quagga-ripd
quagga-ripngd

答案1

显然 quagga 软件包进行了修订,并且不再支持 SysVinit。

多个文件丢失,包括/etc/init.d/quagga、 和/etc/quagga/daemons。二进制文件watchquagga也不再安装。

临时的快速修复可以是卸载所有这些quagga软件包,然后安装该jessie软件包。

步骤是:

dpkg --purge `dpkg -l | grep quagga | awk ' { print $2 } ' `

从 Jessie 存储库获取软件包:来自packages.debian.org (jessie quagga)

wget http://security.debian.org/debian-security/pool/updates/main/q/quagga/quagga_0.99.23.1-1+deb8u3_amd64.deb
dpkg -i quagga_0.99.23.1-1+deb8u3_amd64.deb 

激活 zebra(路由)和 OSPF 守护进程:

vi /etc/quagga/daemons
zebra=y
ospfd=y

并启动Quagga服务:

/etc/init.d/quagga start

@derobert 还最方便地指出有一个版本快照存档,其中最新版本位于http://snapshot.debian.org/package/quagga

然而,由于这是一个安全补丁,我建议维护 Jessie deb,并稍后使用 1.1.0-1 为我自己在本地存储库中的 deb 奠定基础。

我提交了一份错误#849011Debian quagga 团队只是被软件包的维护者告知“转移到 systemd”。

我将把我的路由器守护进程移动到或者我的 DNS 系统到 FreeBSD,因为对我来说这不是一个可接受的解决方案。

PS 我最终迁移到了 BIRD。看OSPF:将 Quagga 迁移到 BIRD

PPS 正如 @MatijaNalis 在评论中指出的那样,我因这个问题而提交的 bug 已经开放了近 1.5 年,并且仅在巴斯特中得到解决。因此,在 Debian Stretch 中进行动态网络配置时,对系统的稳定性仍然较小,使用系统V,使用 BIRD 代替 Quagga。

此外,虽然 BIRD 不像 Quagga 那样提供 Cisco 命令行控制台的小型模拟,但它的设计更加优雅,并且允许多个路由 ID/实例。

相关内容