D-Bus 是一个消息总线系统,应用之间相互通信的简单方式。D-Bus 支持系统守护进程(例如添加新硬件设备或打印队列更改事件)和每个用户的登录会话守护进程 (例如用户应用程序之间的一般进程间通信)。另外,消息总线在通用一对一消息传递框架之上构建, 该框架使得任意两个应用可以直接通信(而不需要通过消息总线守护进程)。
准备编译 D-Bus:
./configure --prefix=/usr \ --sysconfdir=/etc \ --localstatedir=/var \ --docdir=/usr/share/doc/dbus-1.8.16 \ --with-console-auth-dir=/run/console
配置选项的含义:
--with-console-auth-dir=/run/console
该选项指定 ConsoleKit 验证目录的位置。
编译软件包:
make
该软件包没有测试套件,但要求 LFS 中没有的几个软件包。运行测试套件的命令可以在 BLFS 指南 http://www.linuxfromscratch.org/blfs/view/systemd/general/dbus.html 中找到。
安装软件包:
make install
需要移动共享库到
/lib
,因此需要重建
/usr/lib
中的 .so
文件:
mv -v /usr/lib/libdbus-1.so.* /lib ln -sfv ../../lib/$(readlink /usr/lib/libdbus-1.so) /usr/lib/libdbus-1.so
创建符号链接,使得 D-Bus 和 systemd 可以使用相同的
machine-id
文件:
ln -sfv /etc/machine-id /var/lib/dbus