書籍概要

Software Design plus

systemdの思想と機能
Linuxを支えるシステム管理のためのソフトウェアスイート

著者
発売日
更新日

概要

systemd(システムディー)はLinuxの基本的な構成要素を提供するソフトウェア群です。システムやサービスの管理機能を中心として,ハードウェアの管理,ログの管理などを行う多数の独立したソフトウェアからなっています。

Linuxでシステム管理を行うときにはsystemdの知識が必要になります。systemdに関するオンラインマニュアルなどは充実しているものの,systemdがどんな機能を提供しているかを知らなければ「どのドキュメントを読めばいいのか」「何を探すべきなのか」の見当がつかないでしょう。

本書はsystemdの概要をつかみ,マニュアルなどを適切に参照できるようになることを目的としています。systemdの設定変更や,設定ファイル(unit file)の解釈/作成/変更,systemdが記録したログの読解などのシーンで役立つトピックを解説します。また,systemdの機能に対応するLinuxカーネルの機能を知ることができます。Red Hat Enterprise Linux 8と9を題材にして解説しますが,多くの内容は他のディストリビューション(Debian,Ubuntu,openSUSEなど)でも活用できます。

※本書は雑誌『Software Design』の2021年6月号~2022年11月号に掲載された連載記事「systemd詳解」を再編集した書籍です。

こんな方におすすめ

  • Linuxユーザー
  • Linuxシステム管理者

サンプル

samplesamplesamplesamplesample

目次

第1章 systemdとは

  • 1.1 systemdとは
  • 1.2 なぜsystemdは広い領域を扱うのか
  • 1.3 サービス管理にみるsystemdの特徴
  • 1.4 systemdの資料とドキュメント

第2章 unitとunit file

  • 2.1 unitとは
  • 2.2 unitが持つ情報
  • 2.3 unit fileとは
  • 2.4 unit fileが配置されるディレクトリ
  • 2.5 unit fileのドロップイン
  • 2.6 unit fileの編集
  • 2.7 unit fileの確認
  • 2.8 unit fileの検証
  • 2.9 unit fileとunitの関係
  • 2.10 unitの状態をもとに戻す

第3章 unitの状態,unit間の依存関係,target unit

  • 3.1 unitの状態
  • 3.2 Job
  • 3.3 unitの依存関係
  • 3.4 トランザクション
  • 3.5 Jobの実行
  • 3.6 現在の依存関係の確認
  • 3.7 target unit

第4章 プロセス実行環境の用意

  • 4.1 systemdはプロセスの実行環境を用意する
  • 4.2 systemd-runでsystemdが用意する環境を試す
  • 4.3 serviceのsandboxing
  • 4.4 nohup代わりにsystemd-runを使う
  • 4.5 systemdによる環境設定を使わずにunitを作る

第5章 service unit

  • 5.1 service unitの役割
  • 5.2 service unitへの操作
  • 5.3 起動/終了のおおまかな流れ
  • 5.4 serviceのTypeとactiveになるタイミング
  • 5.5 サービスの終了
  • 5.6 プロセスの監視と再起動
  • 5.7 起動/終了時の実行フロー
  • 5.8 起動用と確認用のservice unitに分離する
  • 5.9 トラブルシュート集

第6章 timer/path/socket unit

  • 6.1 イベントを契機にserviceをactiveにするunit
  • 6.2 timer unit
  • 6.3 path unit
  • 6.4 socket unit

第7章 generatorとmount/automount/swap unit

  • 7.1 generatorとそれにまつわるunit
  • 7.2 generator
  • 7.3 mount unit
  • 7.4 automount unit
  • 7.5 swap unit
  • 7.6 systemd-mountコマンド

第8章 control group,slice unit,scope unit

  • 8.1 systemdとcontrol group
  • 8.2 control groupとは
  • 8.3 cgroup V2の有効化
  • 8.4 unitとcgroupの対応関係
  • 8.5 slice unit
  • 8.6 scope unit
  • 8.7 関連ディレクティブ
  • 8.8 cgroup管理用のツール
  • 8.9 UResourced

第9章 udev,device unit

  • 9.1 udevとは
  • 9.2 udevでのデバイス
  • 9.3 なぜudevが必要なのか?
  • 9.4 ハードウェアイベント発生からdevice unit作成まで
  • 9.5 uevent
  • 9.6 ルールファイル
  • 9.7 hwdb
  • 9.8 NICの命名

第10章 systemd-journald

  • 10.1 systemd-journaldとは
  • 10.2 systemd-journaldへのログ記録
  • 10.3 journalに保存される情報
  • 10.4 journalctlによる検索と整形
  • 10.5 複雑な検索の例
  • 10.6 journalのファイル配置とローテート
  • 10.7 journalは長期間保存には向かない
  • 10.8 systemd-journaldの起動タイミング
  • 10.9 syslogとの連携
  • 10.10 ログの制限,unitごとの設定
  • 10.11 アプリケーションからのログ出力

第11章 core dump管理

  • 11.1 core dump管理
  • 11.2 core dumpとは
  • 11.3 Linuxカーネルによるcore dump出力
  • 11.4 core dump管理の必要性
  • 11.5 systemd-coredump
  • 11.6 systemd-coredumpの有効化
  • 11.7 coredumpctlコマンド
  • 11.8 デバッグ作業での利用
  • 11.9 コンテナ内プロセスのcore dump
  • 11.10 systemd-coredumpの無効化

第12章 systemd-logind,pam_systemd

  • 12.1 セッションを管理するsystemd-logind,pam_systemd
  • 12.2 Virtual Consoleとハードウェア管理
  • 12.3 マルチシート
  • 12.4 systemd-logindの役割
  • 12.5 セッションの作成
  • 12.6 セッションへの操作
  • 12.7 sleep/shutdown管理
  • 12.8 セッションの終了

第13章 systemd-tmpfiles,systemd-sysusers

  • 13.1 ファイルの自動作成/削除,アカウントの自動作成
  • 13.2 systemd-tmpfilesコマンド
  • 13.3 systemd-tmpfilesの用途
  • 13.4 systemd-tmpfilesのservice
  • 13.5 systemd-tmpfilesの設定
  • 13.6 systemd-tmpfilesでできないこと
  • 13.7 systemd-sysusersコマンド
  • 13.8 systemd-sysusersの設定
  • 13.9 systemd-sysusersのオーバーライド

第14章 D-Busとpolkit

  • 14.1 D-Busとpolkit
  • 14.2 D-Busとは
  • 14.3 busctl
  • 14.4 polkit
  • 14.5 CockpitからのD-Bus利用

第15章 systemd-resolved

  • 15.1 名前解決サービスsystemd-resolved
  • 15.2 systemd-resolvedの概要
  • 15.3 systemd-resolvedを利用しない場合
  • 15.4 systemd-resolvedを利用する場合
  • 15.5 DNS設定変更を行うアプリケーション
  • 15.6 systemd-resolvedの名前解決設定
  • 15.7 Synthetic records
  • 15.8 名前解決の優先順位づけ

第16章 systemdのその他の機能

  • 16.1 ここまでに扱ったトピック
  • 16.2 systemd-networkd
  • 16.3 その他の機能

サポート

現在サポート情報はありません。

商品一覧