MiracleJobLogo
エンジニアのエンジニアによるエンジニアのためのサイト
News 07/19 おすすめ情報に 『 【資格取得者速報】 Aさん 「 Microsoft Security, Compliance, and Identity Fundamentals」 』 を追加しました。
会員登録するとキャリア診断やサイトに参加することができます。
あなたにおすすめな技術情報、資格、仕事などをお知らせします。

無料会員登録


パスワードを忘れた場合
LINEで送る
MiracleJobBanaLeft1
MiracleJobBanaLeft2


【Linux】Systemdとは
profile-img
投稿者: YHさん
投稿日:2023/12/29 13:42
更新日:2023/12/29 16:11
like-img
分類
資格 / 技術
テクノロジー
Unix系サーバ
キャリア
運用・保守 / 構築
投稿内容



この記事ではLinuxのSystemdが何をやっているのかを初学者の身から同じく初学者の仲間の皆さんに解説していきたいと思います。


Linux起動順序は下図のような順序で起動していきます。

ちなみにこのLinuxのブートプロセスを理解することはトラブルシューティングを行う際に

重要になってくるらしいのでLinuxをお仕事で触わられる方は、一緒に勉強していきましょう。





systemdとは一言でいうと、システム管理を担うソフトウェア群のことです。

これだけでは何を言ってるのかさっぱりなので解説していきます。

さて、Systemdに関してですが一度はLinuxを触ったことがある方なら一度は目にしてるかと思います。

下記のようなコマンドを使用したことがあるはずです。

 

コマンド 

systemctl start httpd.service


今回指定したのはhttpデーモンすなわち、webサーバーを実際に立ち上げるコマンドです。

これにより、ブラウザのUrl から自身のホストipアドレスでアクセスすることができ、私たちが日常的に目にするwebサイトを使用することができるようになります。

 

実際には私たちが今アクセスしているmiracle-jobのサイトを利用するためには、

データベースサーバーや名前解決を行うDNSサーバー、phprubyといったプログラムを

動かすためのAPサーバーの起動なども必要になってくるのですが、これらすべてのサーバーを起動したり、停止したりさせているのがこのsystemdになります。


すごく重要なソフトウェア群になりますね。

そして、これらのサーバーを起動するのに必要なプロセスもsystemdはまとめて管理していてくれています。

例えば、webサーバーはネットワークの通信があってこそ成り立つものになるので

webサーバーを立ち上げる前にネットワークのプロセスを起動するといった形です。

このように依存関係の管理もそれぞれしてくれているのです。

 

さてこのようにプロセスもとい、デーモンの管理をしているSystemdですが、実はこれだけではなく

もっとたくさんのことを管理していたりします。

 

例えば、私たちが今目にしているディスプレイはGUIですが、

そのGUIを使用して起動するかどうかさえSystemdのターゲットを変更することによって切り替えることができます。

設定コマンドは下記になります。


コマンド 

systemctl set-default (ターゲット名).target

 

それぞれのターゲット名とその説明は下記になります。

 

 

poweroff.target

システムをシャットダウンし、電源を切ります。

 

rescue.target

レスキューシェルを設定します。

 

multi-user.target  

非グラフィカルなマルチユーザーシステムを設定します。

 

graphical.target

グラフィカルなマルチユーザーシステムを設定します。

 

reboot.target

システムをシャットダウンして再起動します。


このように、パソコンをいろんな仕方で起動することができるようになります。

現在のターゲット名を確認するコマンドは下記になります。

 

コマンド 

systemctl get-default

 

おそらく、マルチーユーザーでグラフィカルターゲットになっているかと思います。

このようにデーモンの管理以外にもSystemdはいろいろ管理しており、他にもファイルシステムのマウントや各種システムの設定などを行っています。

この設定ファイルが書かれたディレクトリの場所は下記になります


① /usr/lib/systemd/system/

システムのデフォルトの設定

② /etc/systemd/system/

ユーザ独自設定(管理者が作成・管理するUnitの設定ファイル)

 

この設定ファイルに書かれている順番等でそれぞれのシステムを起動していき

依存関係をしっかり解決したうえで私たちが普段利用するようなOSの全般的なシステムが利用可能になります。


 

今回systemdの簡単な説明は以上になります。

Unitなどのファイルの設定の説明等は省きましたが参考にさせていただいたサイト様を下記に

記載しておきますので興味があれば閲覧してみてください。

 

https://qiita.com/yuzo_____/items/3dadff33556502b1b7f5>

systemdとは - 意味をわかりやすく - IT用語辞典 e-Words

LinuxSystemd - Unitの概念を理解する #Linux - Qiita

systemdのお勉強 #Linux - Qiita


コメント


MiracleJobBanaRight1
MiracleJobBanaRight2
MiracleJobBanaRight3