GNU/Linux >> Linux の 問題 >  >> Cent OS

CentOS / RHEL 7 :systemd ターゲットの初心者向けガイド (SysV init 実行レベルの置き換え)

CentOS/RHEL Linux の以前のバージョンでは、SysV init ラン レベルを使用しています .これらの実行レベルは、システムをさまざまな目的に使用し、特定の目的に必要なサービスのみを特定の実行レベルで開始する機能を提供しました。 RHEL 7 では、実行レベルが systemd ターゲット ユニットに置き換えられました .ターゲット ユニットには .target があります 拡張機能であり、実行レベルと同様に、ターゲット ユニットを使用すると、特定の目的に必要なサービスのみでシステムを開始できます。

RHEL 7 は、以前のバージョンの RedHat Linux の実行レベルに似た一連の定義済みターゲットとともに配布されます。次のコマンドは、これらの事前定義された systemd 実行レベル ターゲット ユニットの絶対パス名を返します:

# find / -name "runlevel*.target"
/usr/lib/systemd/system/runlevel5.target
/usr/lib/systemd/system/runlevel0.target
/usr/lib/systemd/system/runlevel6.target
/usr/lib/systemd/system/runlevel1.target
/usr/lib/systemd/system/runlevel2.target
/usr/lib/systemd/system/runlevel3.target
/usr/lib/systemd/system/runlevel4.target

SysV 実行レベルとターゲット ユニットの比較

実行レベル 対象ユニット 説明
0 runlevel0.target、poweroff.target シャットダウンして電源を切る
1 ランレベル1.ターゲット、レスキュー.ターゲット レスキュー シェルのセットアップ
2,3,4 runlevel[234].target, multi-user.target 非グラフィカル マルチユーザー シェルのセットアップ
5 runlevel5.target、graphical.target グラフィカルなマルチユーザー シェルのセットアップ
6 runlevel6.target、reboot.target システムをシャットダウンして再起動

各 runlevel[0123456].target ファイルは、同等のシステム起動ターゲットへのシンボリック リンクです。例:

# cd /usr/lib/systemd/system
# ls -l runlevel*
lrwxrwxrwx. 1 root root 15 Sep 23 19:52 runlevel0.target -> poweroff.target
lrwxrwxrwx. 1 root root 13 Sep 23 19:52 runlevel1.target -> rescue.target
lrwxrwxrwx. 1 root root 17 Sep 23 19:52 runlevel2.target -> multi-user.target
lrwxrwxrwx. 1 root root 17 Sep 23 19:52 runlevel3.target -> multi-user.target
lrwxrwxrwx. 1 root root 17 Sep 23 19:52 runlevel4.target -> multi-user.target
lrwxrwxrwx. 1 root root 16 Sep 23 19:52 runlevel5.target -> graphical.target
lrwxrwxrwx. 1 root root 13 Sep 23 19:52 runlevel6.target -> reboot.target

1.デフォルト/現在の目標単位を表示

次のコマンドを使用して、デフォルトで使用されるターゲット ユニットを表示します:

# systemctl get-default
graphical.target

graphical.target target unit は、システムがグラフィカルなマルチユーザー状態で実行されていることを示します。これは、SysV init システムの実行レベル 5 に似ています。古いコマンド runlevel を使用してこれを確認できます :

# runlevel
N 5

デフォルトのターゲット ユニットは /etc/systemd/system/default.target で表されます ファイル。このファイルは、現在のデフォルトのターゲット ユニットへのシンボリック リンクです。例:

# ls -lrt /etc/systemd/system/default.target
lrwxrwxrwx. 1 root root 36 Sep 23 20:01 /etc/systemd/system/default.target -> /lib/systemd/system/graphical.target

2.現在アクティブなターゲットを一覧表示

システムで現在アクティブなターゲット ユニットを表示するには、以下のコマンドを使用します。

# systemctl list-units --type target
UNIT                   LOAD   ACTIVE SUB    DESCRIPTION
basic.target           loaded active active Basic System
cryptsetup.target      loaded active active Encrypted Volumes
getty.target           loaded active active Login Prompts
graphical.target       loaded active active Graphical Interface
local-fs-pre.target    loaded active active Local File Systems (Pre)
local-fs.target        loaded active active Local File Systems
multi-user.target      loaded active active Multi-User System
network-online.target  loaded active active Network is Online
network.target         loaded active active Network
nfs-client.target      loaded active active NFS client services
nss-user-lookup.target loaded active active User and Group Name Lookups
paths.target           loaded active active Paths
remote-fs-pre.target   loaded active active Remote File Systems (Pre)
remote-fs.target       loaded active active Remote File Systems
slices.target          loaded active active Slices
sockets.target         loaded active active Sockets
swap.target            loaded active active Swap
sysinit.target         loaded active active System Initialization
timers.target          loaded active active Timers

LOAD   = Reflects whether the unit definition was properly loaded.
ACTIVE = The high-level unit activation state, i.e. generalization of SUB.
SUB    = The low-level unit activation state, values depend on unit type.

19 loaded units listed. Pass --all to see loaded but inactive units, too.
To show all installed unit files use 'systemctl list-unit-files'.

3.デフォルトの対象単位を変更

次のコマンドを使用して、デフォルトのターゲット ユニットを変更します (たとえば、デフォルトを multi-user.target ユニットに変更するには):

# systemctl set-default multi-user.target
Removed symlink /etc/systemd/system/default.target.
Created symlink from /etc/systemd/system/default.target to /usr/lib/systemd/system/multi-user.target.

default.target シンボリック リンクが変更され、現在 multi-user.target ユニットを指していることに注意してください:

# ls -lrt /etc/systemd/system/default.target
lrwxrwxrwx. 1 root root 41 Sep 24 11:58 /etc/systemd/system/default.target -> /usr/lib/systemd/system/multi-user.target

4.現在アクティブなシステム ターゲット ユニットを変更

set-default コマンドは、システムの現在の状態を変更しません。現在アクティブなシステム ターゲットを変更するには (たとえば、現在アクティブなシステム ターゲットを multi-user.target に変更するには):

# systemctl isolate multi-user.target

このコマンドは、telinit [runlevel] を使用するのと似ています 現在の実行レベルを変更します。この telinit コマンドはまだ存在しますが、互換性の理由でのみ含まれています。

次のコマンドを使用して、デフォルトのターゲット単位を入力することもできます:

# systemctl default

これは次のコマンドと同等です:

# systemctl isolate default.target
CentOS / RHEL 7 :systemd コマンド ライン リファレンス (チート シート)
CentOS / RHEL 7 :systemd でランレベル (ターゲット) を変更する方法
CentOS / RHEL 7 :systemd サービス ユニットの初心者向けガイド
CentOS / RHEL 7 :systemd の初心者向けガイド


Cent OS
  1. CentOS / RHEL 7 :firewalld の初心者向けガイド

  2. CentOS / RHEL 7 :systemd でランレベル (ターゲット) を変更する方法

  3. CentOS / RHEL :vsftpd の初心者向けガイド (インストールと構成)

  1. CentOS / RHEL でファイル システムを自動マウントするための初心者向けガイド

  2. CentOS / RHEL における NFS の初心者向けガイド

  3. CentOS/RHEL 7 で systemd にカスタム スクリプトを追加する方法

  1. CentOS 7 /RHEL7でデフォルトのランレベルを変更する

  2. CentOS / RHEL 7 :systemd の初心者向けガイド

  3. CentOS / RHEL :cron の初心者向けガイド