Debian

Quagga 在 Stretch 更新後停止工作

  • December 19, 2018

今天,更新後,在我使用 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

顯然,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 奠定基礎。

我向 Debian quagga 團隊送出了一個錯誤 #849011,但軟體包的維護人員告訴我“移至 systemd”。

我會將我的路由器守護程序移至BIRD或將我的 DNS 系統移至 FreeBSD,因為這對我來說不是一個可接受的解決方案。

PS我最終遷移到BIRD。請參閱OSPF:將 Quagga 遷移到 BIRD

PPS 正如@MatijaNalis 在評論中指出的那樣,我送出的由這個問題引起的錯誤已經開放了近 1.5 年,並​​且僅在 Buster 中得到解決。因此,在使用 SysV在 Debian Stretch 中進行動態網路配置時,使用 BIRD 代替 Quagga 對系統的破壞性仍然較小。

此外,雖然 BIRD 沒有像 Quagga 那樣提供 Cisco 命令行控制台的小型仿真,但它的設計更加優雅,並且允許多個路由 ID/實例。

引用自:https://unix.stackexchange.com/questions/331664