Debian Squeeze に、変更されていないデフォルトの Mumble サーバーをインストールしています (パッケージ「mumble-server」)。以前のセットアップでは、デフォルトの init スクリプトを使用して起動時にサーバー (murmurd という名前) を起動すると、問題なく動作しました。新しいセットアップでは、すべての点で同じであるように見えますが、murmurd は起動時にネットワーク アドレスにバインドされないようです。そのため、起動後にプロセスを再起動するまで、クライアントは接続できません。
ログは非常にわかりやすいです。起動時:
<W>2012-03-25 00:15:01.543 Murmur 1.2.2 (1.2.2-6+squeeze1) running on
X11: Debian GNU/Linux 6.0.4 (squeeze): Booting servers <W>2012-03-25
00:15:01.617 1 => Announcing server via bonjour <W>2012-03-25
00:15:01.650 1 => Not registering server as public
クライアントは接続できません。service mumble-server restart
ただし、起動後に使用すると次のようになります。
<W>2012-03-25 00:22:27.529 Murmur 1.2.2 (1.2.2-6+squeeze1) running on
X11: Debian GNU/Linux 6.0.4 (squeeze): Booting servers <W>2012-03-25
00:22:27.549 1 => Server listening on [::]:64738 <W>2012-03-25
00:22:27.559 1 => Announcing server via bonjour <W>2012-03-25
00:22:27.570 1 => Not registering server as public
3 行目に注目してください。ネットワークが起動して稼働する前に、init スクリプトがデーモンを起動しようとしているように見えます。/etc/rc2.d/S19mumble-server
ただし、パッケージに付属するスクリプトには次のように書かれています。
# Required-Start: $network $local_fs $remote_fs dbus
まったく同じ設定が別のマシン (Debian Squeeze も実行) でも正常に動作するため、起動時のタイミングやその他の非決定的な要因に関係しているのではないかと疑い始めています。
アイデアは?
答え1
この質問はすでに 2 年前のものですが、最近、'wheezy' を実行しているマシンで同じ問題に遭遇しました。さまざまなサイトで解決策を検索したところ、ネットワーク マネージャーがネットワーク インターフェイスを十分な速度で起動せず、mumble がソケットを開けないことが原因であることが判明しました。
そのため、ブートシーケンスからネットワークマネージャを削除し、 説明されているように-および-ファイルupdate-rc.d network-manager remove
を使用してネットワークインターフェイスを構成しました。/etc/interfaces
/etc/resolv.conf
ここ。
mumble-server の init スクリプトに network-manager を依存関係として追加して/etc/init.d/mumble-server
実行したところupdate-rc.d mumble-server remove && update-rc.d mumbleserver defaults
、mumble はより高いシーケンス値 (19、network-manager は 18) を受け取ったにもかかわらず、残念ながらうまくいきませんでした。