私はMint 20.3(Ubuntu 20.04ベース)を使用していますが、ネットワーク上ですべてがうまく機能しています。どのウェブサイトにもアクセスしてください。を使用しても同じことが起こるので、これは私のブラウザではありませんcurl
。
systemd-resolve --status
DNSの現在の状態を取得するための使用について言及したスレッドが見つかりました。ネットワークが動作しているときにコマンドが正しく実行され、ネットワークを介して実行されたときの出力と比較するためにコピーが保存されました。
ただし、ネットワークが再実行されているので、コマンドを再実行するとエラーが出力されますFailed to get global data: No buffer space available
。解決策を見つけましたが、何も言及されていないようで、systemd-resolve
何が起こっているのかわかりません。
この回答私は少し希望を与えましたが、バッファサイズを言及されたものの2倍に増やしましたが、何の効果もありませんでした。
誰でもどんなアイデアがありますか?
答え1
これはソースコードの次の部分から来ます。
resolve/resolvectl.c
1843
1844 r = bus_map_all_properties(bus,
1845 "org.freedesktop.resolve1",
1846 "/org/freedesktop/resolve1",
1847 property_map,
1848 BUS_MAP_BOOLEAN_AS_BOOL,
1849 &error,
1850 &m,
1851 &global_info);
1852 if (r < 0)
1853 return log_error_errno(r, "Failed to get global data: %s", bus_error_message(&error, r));
1854
どのような状況で systemd が ENOBUFS を報告しているかを確認しましたが、DBUS の保留中の送受信バッファーを埋めるときにのみこのエラーが発生するようです。
ENOBUFS
DBUS内部ライブラリー要求で基本エラー()が発生します。
これは内部バッファであり、サイズを増やすことはできませんが、これは内部バッファがいっぱいになり、より多くのデータ追加を放棄してENOBUFS
返すのではなく、DBUS(または基本ライブラリ)が要求への応答を停止したという確かな信号です。
システムDBUSを確認することをお勧めします。たぶん止まったり、衝突したり、何らかの形で詰まったりするかもしれません。