手当たり次第に書くんだ

飽きっぽいのは本能

目次に戻る

Overview

SysVinit は、Unix および Unix 系オペレーティングシステムで長年にわたって利用されてきた初期化システムの一つです。この初期化システムは、システム起動時に必要なサービスやデーモンと呼ばれるプロセスを管理し、ランレベルに基づきシステムの動作を制御します。

SysVinit の特徴

プロセス管理: SysVinit は、従来の方式に基づいてサービスやデーモンを管理します。この方式では、/etc/inittab ファイルを使用してランレベルの設定を行い、システムの起動時に実行されるプロセスを指定します。各サービスは、/etc/rc.d ディレクトリに配置されたスクリプトに基づいて、サービスの起動・停止が行われます。しかし、近年の初期化システムでは、サービスユニットと呼ばれる新しい概念が導入され、これによってサービスの管理がより柔軟になりました。Systemd などの新しい初期化システムでは、サービスユニットを使用して各サービスの起動や停止が管理されます。

init プロセスの起動: SysVinit では、通常、init プロセスは /sbin/init にあります。Upstart は、通常は /sys/fs/cgroup/init(または類似の場所)に自身のプロセスを配置します。Systemd では init プロセスの概念自体がなく、Systemd 自体が init の役割を果たします。

自動起動プロセスの管理: SysVinit では、自動起動プロセスは通常は /etc/rc.d ディレクトリに配置されたスクリプトに基づいて管理されますが、Systemd ではサービスユニットが使用されます。Upstart もジョブファイルを使用して自動起動プロセスを管理しますが、これは Systemd とは異なる方法です。

その他: Upstart や SysVinit などの従来の初期化システムは、Systemd などの新しい初期化システムに置き換えられつつあります。新しい初期化システムは、より高度な機能を提供し、パフォーマンスが向上しています。

/etc/inittab

/etc/inittab は、SysVinit の設定ファイルです。

  • /etc/inittab は、システムの起動時に読み込まれます。
  • /etc/inittab は、ctrl+alt+del キーを押下した際のシステムの動作を設定します。
  • /etc/inittab は、デフォルトのランレベルの設定します。
  • 稼働中のシステムで /etc/inittab の変更を即時反映するには、init または telinit コマンドに q または Q オプションを指定して実行します。


SysVinit は、システムの起動時やランレベルの変更時に、init が /etc/inittab を参照し、各ランレベルに応じたスクリプトを実行して各種サービスを順次起動または停止します。それぞれのランレベルに対応するスクリプトは /etc/rc[0-6].d に配置されています。

スクリプトのファイル名(実際はシンボリックリンク)は次の規則に従います。 例)K01smartd

  • 1文字目:S(Start:サービスを起動)、K(Kill:サービスを停止)
  • 数字:実行の優先順位。数字が小さいほど先に実行されます。
  • サービス名:任意の名前を付けます。

目次に戻る

LPIC SysVinit

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)

トップへ戻る