2

Ubuntu upstart/Debian SysV および systemd システム用の共通の init スクリプト セットを作成しようとしています。

/etc/init.d/appname新興企業の場合、いつでもファイルに簡単なチェックを入れることができます。

. /lib/lsb/init-functions
check_for_upstart() {
    if init_is_upstart; then
        echo "Upstarted detected. Use upstart service commands. Exiting." >&2
        exit 1
    fi
}

(または、一部のUbuntuスクリプトが行うように、より洗練された関連コマンドをアップスタートに転送することもできます)

systemd が使用されているかどうかを検出し、終了するか systemctl にリダイレクトする同様の方法はありますか? 多くの openSUSE スクリプトが systemctl にリダイレクトされていることは認識していますが、スクリプトを見てみると、これがどのように行われるのか正確にはわかりません。私はそれ/etc/rc_statusが含まれているファイルを介していると推測していますが、これはopenSUSE固有のようで、CentOSには適用されません.

最終的には、Ubuntu 14、Debian 7、CentOS/RHEL 7、および openSUSE (任意の systemd) をサポートしたいと考えています。したがって、私のsystemv initスクリプトは実際にはDebian専用であり、他のすべてのディストリビューションにメッセージとともに存在するだけです(または、標準的な方法でsystemctl / upstartにリダイレクトします)。

これを達成するための例/ベストプラクティスはありますか?

4

0 に答える 0