質問: 「サービス」と「/etc/init.d/」の違いは何ですか? 私はしばらくの間、ubuntuフレーバーのオンとオフの両方でサーバーのインストールを管理してきました。サーバーを再起動するために/etc/init.d/にかなり慣れてきました。今、私はこのメッセージを受け取ります:root@tatooine:~# /etc/init.d/mysql status rather than invoking init scripts through /etc/init.d, use the service(8) utility, e.g. service mysql status since the script you are attempting to invoke has been converted to an upstart job, you may also use the status(8) utility, e.g. status mysql mysql start/running, process 14048 これはubuntuの最新のltsでもたらされたようです-なぜですか? /etc/init.d/の何が悪いのか、serviceと/etc/init.d/の違いは何ですか?
回答: /etc/init.dスクリプトは、物事を行う古い方法です。それらはsystem v標準に由来します。ただし、これらのスクリプトは特定の順序でのみ起動されるため、実際の依存関係を確立することはできません。したがって、すべての/etc/init.dスクリプトを(/etc/init内の)upstartスクリプトに置き換えることを目的として、upstartが開発されました。serviceは、/etc/init.dスクリプトからupstartスクリプトへのスムーズな移行を可能にします。将来、ますます多くのスクリプトがupstartに転送されても、サービスは両方の可能性を見つけるため、引き続き機能します。 サービスを有効または無効にする方法