为什么 dbus-守护进程需要 1 分 30 秒才能启动?


$ time sudo dbus-daemon --system
real    1m30.111s
user    0m0.017s
sys     0m0.003s

Barebone ArchLinux 在 ArchLinux 上的 docker 中。

D-Bus 消息总线守护程序 1.12.16

尝试从 AURdbus-x11,相同。每次。

编辑/详细信息:上面的sudo调用需要 1:30 才能执行,但实际的 dbus-daemon 进程会立即生成,并在 1:30 期间和之后继续运行,成功(即它工作)。为什么我需要 dbus-守护进程?对于avahi-daemon(更具体地说,能够运行avahi-browse --all并发现我的网络上的内容)。

Edit2:似乎即使"一切正常",尽管速度很慢(avahi,网络服务发现等),容器也会变得非常慢。勉强运行sudo echo 'something'需要 25 秒(这个数字可能与/usr/share/dbus-1/system.conf 中的 25000 超时有关)。就像感染一样。对于它的价值,在阅读更多之后,似乎需要dbus的挫败感不仅限于容器化的世界 - 很多这样的文章/社区。

我在各种 Docker 映像中遇到了这个问题,但并非总是如此。我更深入地挖掘了这个问题,并在 systemd 存储库上发现了一个有趣的评论。

我目前正在处理的图像systemdpasswdgroup上配置:

$ cat /etc/nsswitch.conf
passwd:      sss files systemd
group:       sss files systemd

然后我删除了systemd提供程序($ sed -i 's/ systemd//g' /etc/nsswitch.conf),从dbus-daemon --system --nofork开始时,90年代的挂起消失了。这真的是一个PITA来找出答案。

我还可以验证这是否是我正在维护的另一个 Docker 映像的问题/差异。

最新更新