Linux サービス管理の進化論:systemctl と service コマンドの違いと選び方
· 約9分
Linux システム管理において、サービス(Service)の起動、停止、およびステータス監視は、日々の運用における基本スキルです。Linux ディストリビューションの進化に伴い、サービスの管理方法も大きなアーキテクチャの転換を経験しました。初期の SysVinit に基づく service コマンドから、現在主流の systemd とその関連ツール systemctl への移行です。
これら 2 つのツールの違いを理解することは、システム管理者の必須知識であるだけでなく、様々な年代のサーバー環境に直面した際に、正しい判断と対応を行うのに役立ちます。

背景:2 つの起動システムの歴史的文脈
SysVinit と service コマンド
初期の Linux システム(Debian 6、CentOS 5 など)では、最初に起動するプロセス(PID 1)として SysVinit(System V init)が採用されていました。このアーキテクチャでは、サービス管理は /etc/init.d/ ディレクトリに保存された Shell スクリプトを通じて実現されており、service コマンドはこれらのスクリプトを呼び出すための統一インターフェースでした。
# 従来の service コマンドの構文
service <