如何确定系统是否在系统中使用SysV,Upstart或Systemd [重复]

Modified on: Sat, 30 Jun 2018 10:31:30 +0800
    

这个问题已经有了答案:

    

            
  •             使用shell检测init系统
                                        16个答案
                    跨度>
            
  •     

    

是否有一种简单的方法可以找出正在使用的系统,例如最近的Debian wheezyFedora系统?我知道Fedora 21在系统中使用systemd,但这是因为我读了这个,因为所有相关的脚本/符号链接都存储在/etc/systemd/

有哪些技术可以验证这种系统?

最佳答案

您可以在系统周围寻找指标。一种方法是检查是否存在三个目录:

  • /usr/lib/systemd告诉您基于系统的系统。

  • /usr/share/upstart非常适合您使用基于Upstart的系统。

  • /etc/init.d告诉您该框的历史记录中包含SysV init

问题是,这些是必须一起考虑的启发式方法,可能与其他数据一起考虑,而不是某些指标本身。我正在看的Ubuntu 14.10盒子有三个目录。为什么?因为Ubuntu刚刚从该版本的Upstart切换到systemd,但保持Upstart和SysV init以实现向后兼容。

最后,我认为最好的答案是“体验”。您将看到已登录到CentOS 7盒并知道它是systemd。你是怎么学到这个的?玩耍,RTFMing等等。获得所有经验的方式相同。

我意识到这不是一个非常令人满意的答案,但是当市场出现分裂,创造非标准设计时会发生这种情况。这就像问你如何知道ls是否接受-C,或--color,或者根本不知道颜色输出。同样,答案是“经验”。

作者:,Warren Young

相关问答

添加新评论