メニューを開く

2018/06/17

Linux ~Linuxシステムの起動 Systemd~

Linuxのシステム起動について、従来から使ったわれてきたSystem V init(SysVinit)に変わって、Systemdが使われるようになってきています。SysVinitは、古くから使われているので、お仕事の現場などで遭遇することがまだ多いと想います。Systemdは、Linuxオペレーティングシステムのシステムサービスマネージャーで、SysVinitと後方互換するように設計され、起動時のシステムサービスの並行スタートアップやデーモンのオンデマンドのアクティベーション、システム状態のスナップショットのサポート、依存ベースのサービス管理論理などの多くの機能を提供するそうです。
Systemdの概要については、RedHatのCustomerPortalRHEL7 におけるsystemdの概要という記事が、SysVinitとの機能比較やコマンドの使い方も記載されていて、解りやすいと想いますので、読んでみて下さい。SysVinitの起動手順や設定、ランレベルについては、Linux ~システムの起動/停止手順~も参考にして下さい。ここには、Systemdの起動手順や起動方法、自動起動の設定を記載しておきます。
Systemdの起動手順 
電源ON
    ⇩
BIOSがディスクのMBRという先頭ブロックのブートローダーをメモリ上に読み込みます。
    ⇩
ブートローダーがカーネル(vmlinuz)をメモリに読み込みます。
    ⇩
カーネルが起動し、ドライバなどがロードされて、Systemdプロセスを起動する。
    ⇩
default.targetというファイルに従って、どのターゲットを開始するかを決定し、システムサービスを開始します。

サービスの起動方法

systemctl start サービス名.service
終了     :stop
再起動    :restart
状態表示   :status
設定再読み込み:reload

有効化されているユニットの一覧表示
systemctl list-units

インストールされているユニットファイルの一覧表示
systemctl list-unit-files 


サービスの自動起動設定

systemctl enable サービス名.service

自動起動解除
systemctl disable サービス名.service

設定確認
systemctl is-enabled サービス名.service