systemdはLinuxシステム向けの基本的な構成要素のセットです。 システムおよびサービスマネージャーを提供し、PID 1としてシステムの残りの部分を実行・起動します。
systemdは積極的な並列化機能を提供し、ソケットとDバスのアクティベーションを使ってサービスを開始し、オンデマンドでのデーモン起動を提供し、Linuxコントロールグループを使ってプロセスを追跡し、マウントや自動マウントポイントを維持し、よく設計されたトランザクション依存ベースのサービス制御ロジックを実装しています。 systemdはSysVおよびLSBのinitスクリプトをサポートし、sysvinitの代替が可能です。
その他のセクションには、ログデーモン、ホスト名、日付、ロケーションなどの基本的なシステム設定を制御するユーティリティ、ログインユーザーリストの管理やコンテナや仮想マシンの実行、システムアカウント、ランタイムディレクトリ、設定、さらには単純なネットワークのデーモン設定管理、ネットワーク時間同期、ログ転送、名前解決などが含まれます。
systemdの設定ファイルは以下の3つのフォルダに存在します:
/etc/systemd/system 存放系统启动的默认级别及启动的unit的软连接,优先级最高。
/run/systemd/system 系统执行过程中产生的服务脚本,优先级次之。
/usr/lib/systemd/system 存放系统上所有的启动文件,优先级最低。 復習:
ユニット概要
systemdにおけるユニットファイルとは、systemdが管理可能なさまざまなユニットに関する情報(サービス、ソケット、デバイスなど)をエンコードするファイルです。 このガイドはサービスに焦点を当てており、その場合、私たちが扱っているユニットファイルは.serviceファイルです。 varnish.service デバイス設定ファイルには、systemdがvarnish daemonをどのように実行、監視、管理すべきかに関する情報が含まれています。
[Unit]ブロックは通常、設定ファイルの最初のブロックであり、ユニットのメタデータと他のユニットとの関係を定義するために使われます。 主な畑は以下の通りです。
- 説明:簡単な説明
- 書類:書類の住所
- 必要条件:現在のユニットが依存しているその他のユニットで、それらが稼働していなければ、現在のユニットは起動できません
- 欲しいもの:現在のユニットと連携している他のユニット。もしそれらが稼働していなければ、現在のユニットは起動に失敗しません
- BindsTo:Requiresと同様に、現在のユニットが終了すると動作を停止させるユニットを指定します
- ビフォー:このフィールドで指定されたユニットも起動する場合、現在のユニットの後に起動しなければなりません
- 後:このフィールドで指定されたユニットも開始される場合は、現在のユニットより先に開始しなければなりません
- 競合点:ここで指定されたユニットは、現在のユニットと同時に稼働することはできません
- 条件。。。 : 現在のユニットが動作するために満たなければならない条件、そうでなければ動作しません
- 主張する。。。 : 現在のユニットが動作するために満たなければならない条件を伝え、そうでなければ起動失敗が報告されます
[インストール]は通常、設定ファイルの最後のブロックで、起動方法や起動の有無を定義します。 主な畑は以下の通りです。
- WantedBy:その値は1つ以上のTargetsであり、現在のユニットがアクティブ(有効)な場合、シンムリンクは/etc/systemd/systemディレクトリのサブディレクトリにTarget名+.wantsの接尾辞付きで置かれます
- RequiredBy:その値は1つ以上のターゲットであり、現在のユニットがアクティブの場合、シンムリンクは/etc/systemd/systemディレクトリの下にTarget名+.requiredの接尾辞付きサブディレクトリに配置されます
- エイリアス:現在のユニットが開始に使用できるエイリアス
- また、現在のユニットが起動すると、他のユニットも同時に起動されます
[サービス]ブロックはサービスの設定に使われ、このブロックを持つのはサービスタイプのユニットのみです。 主な畑は以下の通りです。
- タイプ:起動時のプロセスの動作を定義します。 以下の値を持っています。
- Type=simple:デフォルト値で、ExecStartが指定したコマンドを実行してメインプロセスを起動します
- type=forking:forkは親プロセスから子プロセスを作成し、作成直後に終了します
- Type=oneshot:一度きりのプロセスで、Systemdは現在のサービスが終了するのを待ちながら実行を続けます
- タイプ=dbus:現在の運行はDバス経由で開始されます
- type=notify:現在のサービスが開始されると、Systemdに通知され実行が続行されます
- type=idle:現在のサービスは他のタスクが実行された場合にのみ実行されます
- ExecStart:現在のサービスを開始するためのコマンド
- ExecStartPre:現在のサービスを開始する前に実行されたコマンド
- ExecStartPost:現在のサービス開始後に実行されたコマンド
- ExecReload:現在のサービスが再起動されたときに実行されるコマンド
- ExecStop:現在のサービスが停止されたときに実行されるコマンド
- ExecStopPost:実行されたコマンドを停止します
- RestartSec:自動サービスが現在のサービスを再起動する間の秒数
- 再起動:Systemdが現在のサービスを自動で再起動する状況を定義し、常に、成功時、失敗時、異常時、アボート時、ウォッチドッグ上などの値を含みます
- TimeoutSec:Systemdが現在のサービスを停止するまでの待機秒数を定義します
- 環境:環境変数を指定します
Systemctl管理ツール
CentOSのプログラム管理は基本的にツールsystemctlによって行われます。
スタートアップサービス:
systemctl start name.service
サービス中止:
systemctl stop name.service
再開サービス:
systemctl restart name.service
状況表示:
systemctl status name.service
条件付き再開始:
サービスが以前に開始されていた場合は再開され、サービスが始まらなければ運行されません
SystemCTL try-restart name.service
リロードまたは再起動:
まずリロードし、リロードが失敗したら再起動します
systemctl reload-or-restart name.service
リロードまたは条件付き再起動:
SystemCTL reload-or-try-restart name.service
ユーザーが状態を開始するためにサービスを設定できるかどうかを設定します。
systemctl unmask name.service
systemCTL マスク名.サービスは禁止されています
サービスの現在のアクティベーション状況をご覧ください:
サービス開始コマンドのステータス返却値は0です。未開始命令のステータス返却値は0ではありません。
systemctl is-active name.service
起動されたすべてのサービスをご覧ください:
-t 表示されるユニットの種類を指定します。
――すべてがより詳細な情報リストを表示します。
-同値なもの --すべて
systemCTL リストユニット
systemCTL リスト-ユニット -T サービス
systemCTL list-units -t service -a
すべてのサービスを見る:
systemCTL リスト-ユニット -A
すべてのサービス状況を見る:
systemctl list-unit-files
-a 、--all : すべてのサービスの状況を見る
-t 、--タイプ:表示するユニットの種類を指定します
loaded:設定ファイルが読み込まれ、メモリにロードされました
アクティブ(実行中):連続して1回以上処理される実行
アクティブ(終了):ワンタイム設定が正常に完了します
アクティブ(待機中):走り、イベントを待っている
inactive:不运行
enabled:开机启动
disabled:开机不启动
static:开机不启动,但可被另一个启用的服务激活
サービスが有効・無効化される運用レベルを一覧表示するために使われます
ls /etc/systemd/system/*.wants/sshd.service
systemCTL list-unit-files --type target --all
サービスを開始しないように設定するには:
systemCTL サービス名ユニットを無効化
サービスが起動されて起動されているか確認してください:
systemCTL is-enabled name.service
サービスの依存関係を見てみましょう:
SystemCTL list-dependencies Name.service systemCTL list-depebdencies
重荷重サービス:
systemCTL daemon-reload
プロセスを終わらせる:
systemCTL キル プロセス名
リソース:
ハイパーリンクのログインが見えます。
ハイパーリンクのログインが見えます。
ハイパーリンクのログインが見えます。
ハイパーリンクのログインが見えます。
|