我安装了 Xubuntu 15.04,然后就被迫深入研究 systemd、systemctl、systemd-analyze 的细节。开箱即用,postfix 在配置部分挂在 apt-get 上。dovecot 也是如此。
到目前为止,我了解到 systemd 是一个复杂的服务管理系统,能够并行启动,并具有依赖关系等功能。我认为配置阶段(发生在通过 apt-get(但也包括 synaptic)安装结束时)的原因是服务本身不会启动,因为它正在等待依赖关系。
systemctl list-jobs
告诉我 dovecot 是“开始等待”。开始的意思是,它处于启动模式。等待的意思是它正在等待某事。现在,我遇到的问题是,它在等待什么?
我可以做这样的事情systemd-analyze plot
,dot
和所有其他操作,但没有任何选项或组合能够简单地告诉我它在等待什么。我可以看到它所依赖的所有内容,但它具体对哪一个不满意?我希望我不必手动浏览所有依赖项?
现在,让我的系统运行的唯一方法是忍受启动时的错误,然后使用手动启动这些服务systemctl --job-mode=ignore-dependencies start dovecot postfix
。
我已经在 Google 上搜索过了,但找不到任何方法可以给我提供包含所有基于状态的信息的概览,比如什么服务依赖于什么,以及每个服务处于什么状态。svg 或从点转换的 svg 并没有告诉我这些。