欧美AV无码一区二区,麻豆+无码+国产在线+观看,欧美狂躁少妇XXXX高潮无码,美女扒开屁股让男人桶免费观看,极品粉嫩国产18尤物在线播放

Systemd 入門(mén)ガイド:コマンド編

Systemd 入門(mén)ガイド:実踐編

Systemd 入門(mén)ガイド:コマンド編

著(zhù)者: 阮一峰:阮一峰(阮一峰)

日付: 2016年3月7日 2016年3月7日

Systemd はLinuxシステムツールで、起動(dòng)用です。 プロセスを監視するプログラム 多くのリリース版の標準設定となりました。

本文はその基本的な使い方を紹介し、上下の二篇に分けられています。今日は主なコマンドについて紹介します。 次のページ 実際に使う方法を紹介します。 img

一、由來(lái):由來(lái)(由來(lái))

歴史上、 リナックスの起動(dòng) ずっと採用しています init プロセス。

以下のコマンドでサービスを起動(dòng)します。

この方法には二つの欠點(diǎn)があります。

一是起動(dòng)時(shí)間が長(cháng)い。 init プロセスはシリアルで起動(dòng)し、前のプロセスが終わるまで次が始まりません。

二に、スクリプトの起動(dòng)が複雑です。 init プロセスは起動(dòng)スクリプトを実行するだけで、他のことはしない。スクリプトは自分で様々な狀況を処理する必要があり、そのためスクリプトは長(cháng)くなる。

2. Systemd 概要

Systemdはこれらの問(wèn)題を解決するために生まれました。その設計の目的は、システムの起動(dòng)と管理に包括的な解決策を提供することです。

Linuxの慣習に従って、アルファベット d デーモンの略です。Systemdという名前は、システム全體を守ることを意味しています。

img

上図はSystemdの作者です Lennart Poettering

Systemdを使用するので、もう必要ありません。 init Systemdを取って代わった。 initd システムの最初のプロセス(PIDは1)となり、他のプロセスはそのプロセスのものとされます。

上のコマンドで Systemd のバージョンを確認します。

Systemd 的優(yōu)點(diǎn)是功能強大,使用方便,缺點(diǎn)是體系龐大,非常復雜。事實(shí)上,現在還有很多人反對使用 Systemd,理由就是它過(guò)于復雜,與操作系統的其他部分強耦合,違反"keep simple, keep stupid"的 Unixの哲學(xué) img

(上図は Systemd 架構図です)

③ システム管理

Systemdは単一のコマンドではなく、システム管理に涉及するコマンド群です。

3.1 systemctl

systemctl Systemdのメインコマンドで、システムを管理します。

3.2 systemd-analyze

systemd-analyze 起動(dòng)時(shí)間を確認するコマンドです。

3.3 hostnamectl

hostnamectl コマンドは、現在のホストの情報を表示します。

3.4 localectl

localectl 創(chuàng )建コマンドを使用してローカライズ設定を確認します。

3.5 timedatectl

timedatectl コマンドは現在の時(shí)帯設定を確認するために使用されます。

3.6 loginctl

loginctl コマンドは現在ログインしているユーザーを確認するために使われます。

4、ユニット

4.1 範囲/意味

Systemdはすべてのシステムリソースを管理できます。異なるリソースは「ユニット」と総稱(chēng)されます。

ユニットは12種類(lèi)に分かれています。

  • サービスユニット:システムサービス
  • ターゲットユニット:複數のユニットで構成されるグループ
  • デバイス?ユニット:ハードウェアデバイス
  • マウントユニット:ファイルシステムのマウントポイント
  • 自動(dòng)マウントユニット:オートマウントユニット
  • パスユニット:ファイルまたはパス
  • Scope Unit:Systemdで起動(dòng)されていない外部プロセス
  • スライスユニット:プロセスグループ
  • スナップショットユニット:システムドのスナップショット、特定のスナップショットに戻せる
  • ソケットユニット:プロセス間通信のソケット
  • Swap Unit:スワップファイル
  • タイマーベースユニット

systemctl list-units コマンドで現在のシステムのすべてのユニットを確認できます。

4.2 ユニットの狀態(tài)

systemctl status コマンドは、システム狀態(tài)と個(gè)々のユニットの狀態(tài)を確認するために使用されます。

除えて status 命令:命令です。 systemctl 3つのクエリ狀態(tài)の簡(jiǎn)単な方法を提供しました。主にスクリプト內の判定文で使用されます。

4.3 ユニット管理

ユーザーが最もよく使うコマンドは以下の通りです。これらはUnit(主にservice)を起動(dòng)?停止するためのものです。

依存関係

ユニット間に依存関係:AがBに依存する場(chǎng)合、SystemdはAを起動(dòng)するときにBも同時(shí)に起動(dòng)します。

systemctl list-dependencies Unitの全ての依存関係をリストアップしてください。

上記のコマンドの出力結果の中には、ターゲットタイプの依存関係があります(詳細は以下を參照してください)。デフォルトでは、ターゲットは展開(kāi)されません。ターゲットを展開(kāi)するには、次のようにします: --all パラメータ。

5. Unitの設定ファイル

5.1 概要

各 Unit には設定ファイルがあり、それが Systemd に Unit の起動(dòng)方法を指示します。

systemdデフォルトのディレクトリ /etc/systemd/system/ 設定ファイルを読み込みます。しかし、その中には多くのシンボリックリンクがあり、それがディレクトリを指しています。 /usr/lib/systemd/system/ 実際の設定ファイルはそのディレクトリにあります。

systemctl enable コマンドは、その2つのディレクトリ間にシンボリックリンクを作成するために使用されます。

設定ファイルで起動(dòng)時(shí)の開(kāi)始が設定されていました。 systemctl enable コマンドは起動(dòng)のトリガーに相當します。

それに対して、 systemctl disable コマンドは、2つのディレクトリ間のシンボリックリンクを解除するために使用され、起動(dòng)時(shí)のロードを解除するのに相當します。

設定ファイルの拡張子は、その Unit の種類(lèi)を示します。例えば、 sshd.socket 省略すると、Systemdのデフォルトの接尾辭は .service だからって sshd 誤解されるかも sshd.service 。

5.2 設定ファイルの狀態(tài)

systemctl list-unit-files コマンドはすべての設定ファイルをリストします。

このコマンドはリストを出力します。

このリストは各設定ファイルの狀態(tài)を示しており、合計で4種類(lèi)あります。

  • enabled: 啟動(dòng)リンク已建立
  • 未設定:起動(dòng)リンク未設定
  • static:この設定ファイルはありません [Install] (実行不可)、他の設定ファイルの依存関係としてのみ利用可
  • マスクド:この設定ファイルはスタートリンクの作成が禁止されています

注意:設定ファイルの狀態(tài)から、このUnitが運行中かどうかは分かりません。これは前面で述べたことと同じです。 systemctl status 命令です。

設定ファイルを変更したら、SystemDが設定ファイルを再読み込みし、再起動(dòng)させる必要があります。それしないと変更は反映されません。

5.3 設定ファイルの形式

設定ファイルは通常のテキストファイルで、テキストエディタで開(kāi)けます。

systemctl cat コマンドで設定ファイルの內容を確認できます。

上記の表示から、設定ファイルはいくつかのブロックに分かれています。各ブロックの最初の行は、括弧で示される識別名で、例えば: [Unit] 注意:設定ファイルのブロック名とフィールド名は、大文字小文字が區別されます。

各ブロック內には、等號で結ばれたキー値対があります。

5.4 設定ファイルのブロック

[Unit] ブロックは通常、設定ファイルの最初のブロックで、Unitのメタデータや他のUnitとの関係を定義するために使用されます。主なフィールドは以下の通りです。

  • Dsecription 簡(jiǎn)潔に説明
  • Documentation :ドキュメントのURL
  • Requires 現在の Unit が依存する他の Unit が動(dòng)作していない場(chǎng)合、現在の Unit の起動(dòng)に失敗します。
  • Wants 現在の Unit と連攜している他の Unit が動(dòng)作していない場(chǎng)合、現在の Unit は起動(dòng)失敗しません。
  • BindsTo :と Requires 類(lèi)似で、指定されたUnitが退出すると、現在のUnitの動(dòng)作が停止します
  • Before :指定のUnitが起動(dòng)する場(chǎng)合、そのUnitは現在のUnitの後で起動(dòng)する必要があります。
  • After :指定のUnitが起動(dòng)する必要がある場(chǎng)合、そのUnitは現在のUnitより前に起動(dòng)する必要があります。
  • Conflicts 指定のUnitは現在のUnitと同時(shí)に実行できません。
  • Condition... 現在の Unit が実行するための必須條件、それが満たされないと実行されません。
  • Assert... 現在のUnitの動(dòng)作には満たす必要のある條件があります。それが満たされないと、起動(dòng)失敗が報告されます。

[Install] 通常は設定ファイルの最後のセクションで、起動(dòng)方法や自動(dòng)起動(dòng)の有無(wú)を定義します。主なフィールドは以下の通りです。

  • WantedBy その値は、ターゲットの1つまたは複數です?,F在のユニットが有効(enable)時(shí)、シンボリックリンクが格納されます。 /etc/systemd/system カタログの下に Target 名 + .wants 接尾辭で作成されたサブディレクトリ
  • RequiredBy その値は1つ以上のTargetで、現在のUnitがアクティブな際にシンボリックリンクが設定されます。 /etc/systemd/system カタログの下に Target 名 + .required 接尾辭で作成されたサブディレクトリ
  • Alias 現在の Unit が利用できるエイリアス
  • Also 現在の Unit 活動(dòng)(有効)中、同時(shí)に活性化される他の Unit

[Service] ブロックはServiceの設定に用い、Service型のUnitのみがこのブロックを持っています。主要なフィールドは以下の通りです。

  • Type プロセスの起動(dòng)時(shí)の挙動(dòng)を定義します。以下の値があります。
  • Type=simple デフォルト値、実行 ExecStart 指定のコマンドでメインプロセスを起動(dòng)します。
  • Type=forking 親プロセスからforkメソッドで子プロセスを作成し、作成後親プロセスはすぐに終了します。
  • Type=oneshot 一時(shí)的なプロセス、Systemdは現在のサービスが終了するまで待ち、その後続行します
  • Type=dbus 現在のサービスはD-Busで起動(dòng)しています。
  • Type=notify 現在サービスが開(kāi)始されました。通知します。 Systemd さらに下に進(jìn)む。
  • Type=idle 他のタスクが終わったら、そのサービスが動(dòng)く。
  • ExecStart 現在のサービスを起動(dòng)するコマンド
  • ExecStartPre サービスを開(kāi)始する前に実行するコマンド
  • ExecStartPost サービスを開(kāi)始後の実行コマンド
  • ExecReload 現在のサービスを再起動(dòng)する際に実行するコマンド
  • ExecStop 現在のサービスを停止する際に実行するコマンド
  • ExecStopPost サービス停止後の命令を停止
  • RestartSec 現在のサービスの自動(dòng)再起動(dòng)の間隔(秒)
  • Restart Systemdが自動(dòng)でサービスを再起動(dòng)する定義される條件:可能な値は以下の通りです。 always いつも再起動(dòng)、 on-success 、 on-failure 、 on-abnormal 、 on-abort 、 on-watchdog
  • TimeoutSec Systemdが現在のサービスを停止する前に待つ秒數を定義
  • Environment 指定環(huán)境変數

Unit設定ファイルの完全なフィールドリストは、參照してください。 公式文書(shū)

⑥ ターゲット

コンピュータの起動(dòng)時(shí)に多くの Unit を起動(dòng)する必要があります。毎回、起動(dòng)する Unit を一つずつ指定するのは非常に不便です。Systemd は、その解決策として Target を提供しています。

簡(jiǎn)單說(shuō),Target 就是一個(gè) Unit 組,包含許多相關(guān)的 Unit 。啟動(dòng)某個(gè) Target 的時(shí)候,Systemd 就會(huì )啟動(dòng)里面所有的 Unit。從這個(gè)意義上說(shuō),Target這個(gè)概念類(lèi)似于"狀態(tài)點(diǎn)",啟動(dòng)某個(gè) Target 就好比啟動(dòng)到某種狀態(tài)。

伝統的 init 起動(dòng)モードには RunLevel という概念があり、Targetと似ているが、RunLevelは排他で複數が同時(shí)に起動(dòng)できない。一方で、複數のTargetは同時(shí)に起動(dòng)可能。

ターゲットと伝統的なRunLevelの対応関係は以下の通りです。

それは init 進(jìn)行の主な違いは以下の通りです。

デフォルトのRunLevel (在 /etc/inittab (ファイル設定)は今やデフォルトのターゲットに置き換えられました。場(chǎng)所は /etc/systemd/system/default.target 當然、一般的に、シンボリックリンクは graphical.target (グラフィックユーザインターフェース)または multi-user.target (マルチユーザーコマンドライン)

(2)スクリプトの起動(dòng)場(chǎng)所 以前は、 /etc/init.d 目次、シンボリックリンクは異なるRunLevelディレクトリに指している(例えば) /etc/rc3.d 、 /etc/rc5.d 現在は、(ここに)、所蔵されています。 /lib/systemd/system 「わ」 /etc/systemd/system 目次。

(3)設定ファイルの場(chǎng)所 以前:以前に init プロセスの設定ファイルは /etc/inittab 各種サービスの設定ファイルは、 /etc/sysconfig 目次?,F在の設定ファイルは主に以下に保存されています。 /lib/systemd 目次、在 /etc/systemd 目次の修正は元の設定を上書(shū)きできます。

第七、ログ管理

SystemdがすべてのUnitの起動(dòng)ログを統一管理します。これにより、利用できる利點(diǎn)は次の通りです: journalctl 一つのコマンドで、すべてのログ(カーネルログおよびアプリケーションログ)を確認します。ログの設定ファイルは /etc/systemd/journald.conf 。

journalctl 機能豊富、用途多岐にわたる。

(終了)

文書(shū)情報

最近使用した:

収蔵 メニュー QQ
欧美AV无码一区二区,麻豆+无码+国产在线+观看,欧美狂躁少妇XXXX高潮无码,美女扒开屁股让男人桶免费观看,极品粉嫩国产18尤物在线播放