Linux システム構成 (サービス制御) の詳細な紹介

Linux システム構成 (サービス制御) の詳細な紹介

序文

Linux オペレーティングシステムには、多数のサービスプログラムが含まれています。これらのサービスプログラムは、操作レベルを切り替えるときに、事前に設定された状態に従って開始または終了します。多くのシステムサービスは、ユーザーには必要ではないかもしれませんが、デフォルトで実行されています。

1. システムサービス制御

1. システムctl

CentOSシステムでは、さまざまなシステムサービスの制御スクリプトはデフォルトでusr/lib/systemdディレクトリに配置されます。systemctlコマンドツールを使用して、指定されたシステムサービスを制御することができます。構文形式は次のとおりです。

systemctl 制御タイプ サービス名

ほとんどのシステム サービスでは、次のような一般的な制御タイプがあります。

開始 (start): 指定されたシステム サービス プログラムを実行してサービス機能を実行します。停止 (stop): 指定されたシステム サービス プログラムを終了し、対応する機能をオフにします。再起動 (restart): 最初に終了してから、指定されたシステム サービス プログラムを再実行します。再ロード (reload): サービス プログラムを終了せず、構成を更新するだけです。これは、一部のサービスの再起動操作と同じです。ステータス (check status): 指定されたシステム サービスの実行状態と関連情報を確認します。

実際の運用環境で実行されているサーバーの場合、クライアント アクセスが中断され、不要な損失が発生するのを避けるため、停止または再起動操作を簡単に実行しないでください。システム サービスに対して新しい構成を有効にするだけの場合は、突然「再起動」を実行する代わりに、比較的穏やかな「reload」パラメータを使用して構成を再ロードできます。たとえば、ユーザーに Web アクセスを提供している httpd サービスの場合、新しい構成を適用する必要がある場合は、「systemctl restart httpd.service」を実行するのではなく、「systemctl reload httpd.service」コマンドを実行して構成を再ロードすることをお勧めします。

2. ターゲット

(1)ターゲットを表示

現在のシステムのターゲットがわかっていると、管理者は一部のアプリケーション障害のトラブルシューティングに役立ちます。現在のターゲットがわからない場合は、「ru​​nlevel」コマンドを直接実行して照会できます。表示される結果の 2 つの文字は、それぞれ切り替え前のターゲットと現在のターゲットを表します。実行レベルが以前に切り替えられたことがない場合は、最初の列に「N」が表示されます。

ユーザーがシステムの起動時にデフォルトで実行されるターゲットを表示したい場合は、「systemctl get-default」コマンドを実行してシステムのデフォルトターゲットを表示できます。

実行レベルのターゲットの説明systemd 0target このレベルを使用すると、ホストがシャットダウンします 1rescue.target シングルユーザー モード。パスワードの確認なしでシステムにログインできます。主にシステム メンテナンスに使用されます 2multi-user.target ユーザー定義/ドメイン固有の実行レベル。33multi-user.target に相当します 文字インターフェイスの完全なマルチユーザー モード。ほとんどのサーバー ホストはこのレベルで実行されます 4multi-user.target ユーザー定義/ドメイン固有の実行レベル。35graphical.target に相当します グラフィカル インターフェイスのマルチユーザー モード。グラフィカル デスクトップ操作環境を提供します 6reboot.target 再起動。このレベルを使用すると、ホストが再起動します

(2)ターゲットを切り替える

ユーザーがシステムを別のターゲットに切り替える必要がある場合、従来の init プログラムで実行レベルに対応する番号 (0-6) をコマンド パラメータとして使用して切り替えるか、systermctl コマンドを使用してターゲットを切り替えることができます。たとえば、システム リソースを節約するために、システム実行ターゲットをグラフィック モード (5) からキャラクター モード (3) に切り替えることができます。「init 3」または「systemctl isolate multi-user. target」コマンドを実行できます。システムがキャラクター モードに切り替わった後、グラフィカル デスクトップ環境は使用できなくなります。このとき、Alt + F7 キーの組み合わせを押しても、グラフィカル デスクトップ環境を復元することはできません。グラフィカル デスクトップを再度使用する必要がある場合は、「init 5」または「systermctl isolate graphical target」コマンドを実行して切り替えることができます。

ターゲットを切り替えることで、シャットダウンと再起動という 2 つの特別な機能を実現できます。実行レベル 0 と 6 は、それぞれシャットダウンと再起動の 2 つの特別なモードに対応しています。したがって、「init 0」または「init 6」コマンドを実行するだけで、対応するシャットダウンまたは再起動操作を実現できます。実行レベル 0 と 6 は、それぞれ systemd の「poweroff.target」および「reboot.target」ターゲットに対応しているため、「systemctl poweroff」および「systemctl reboot」コマンドを実行しても、対応するシャットダウンおよび再起動操作を実現できます。

実行レベルを永続的に切り替えたい場合は、次のコマンドを実行して、現在のシステムのデフォルトの実行レベルをgraphical.targetからmulti-user.targetに変更できます。

systemctl set-default ランレベル3.ターゲット

ブートインターフェースをグラフィカルインターフェースモードに戻すには、次のコマンドを使用します。

systemctl set-default ランレベル5.ターゲット

3. 共通システムサービス

CentOS システムには、デフォルトで 100 を超えるシステム サービスがインストールされています。これらのシステム サービスは、ユーザーに豊富なアプリケーション サービスを提供します。各システム サービスの目的を理解することによってのみ、操作を選択的に最適化し、オンデマンドで Linux サービスを有効にすることができます。

CentOS システムの共通システムサービス

サービス名と目的タスクの定期的な実行BluetoothdiscoveryとBluetooth関連デバイスの認証は、事前に決められた期間に応じてスケジュールされたタスクを構成しますネットワーク構成とネットワークカードとネットワークのアドレスは、selinuxセキュリティメカニズムのREDDACSES RED HAT NETWORKの監視と回復機能を復元し、通知を取得し、サブスクリプションを提出しますLinuxホストのリモートログインと管理機能のリモートログインと管理機能rsyslogrecordsカーネルお​​よびシステムログ情報vsftpdprovidesファイルのアップロードおよびダウンロードFTP(ファイル転送プロトコル、ファイル転送プロトコル)を介して関数をダウンロードする

これらのサービスを有効にするか無効にするかは、ホストの実際の機能要件に基づいて決定する必要があることを強調する必要があります。たとえば、現在の Linux ホストを使用して LAN にファイル共有サービスを提供する場合、smb サービスは無効にするのではなく有効にする必要があります。

4. 自動起動サービス管理

Linux オペレーティング システムは、電源がオンになるたびにデフォルトの systemd 実行ターゲット (文字モードやグラフィック モードなど) に入り、そのターゲットでデフォルトで開始するように設定されているさまざまなシステム サービスを実行します。一部のシステム サービスが自動的に実行されないようにする場合は、ntsysv または systemctl ツールを使用して最適化できます。

(1)ntsysvを使う

ntsysv ツールは文字モードで実行でき、ユーザーにグラフィカルな対話型操作インターフェイスを提供します。これは、さまざまなシステム サービスの起動状態を集中的に構成するために特別に使用されます。複数のサービスの起動状態を同時に設定する必要がある場合は、ntsysv ツールを使用すると非常に便利です。「ntsysv」コマンドを単独で実行すると、現在実行中のターゲット内のサービスの管理にのみ使用されます。「--level」オプションを使用すると、指定された実行ターゲット (レベル) 内のサービスを管理できます。たとえば、「ntsysv --level 35」コマンドを実行すると、ntsysv 管理プログラムを開くことができます。操作中に、矢印キーを押してさまざまなシステム サービスを選択します。スペース キーを押して、サービスのデフォルトの起動状態を設定します ([*] は起動を意味し、[] はシャットダウンを意味します)。選択したサービスの説明情報を表示するには、F1 キーを押してヘルプを表示します。

(2)systemctlの使用

systemctl ツールは ntsysv と同様の機能を持っていますが、systemctl は対話型操作インターフェイスを提供していません。これは、システム サービスのデフォルトの起動状態を照会または設定するために使用されます。現在実行中のターゲットでサービスのデフォルトの起動状態を設定する必要がある場合は、systemetl ツールを使用する方が効率的です。

一般的なオプションは 3 つあります。

     有効: 起動時にシステムを自動的に起動します。無効: 起動時にシステムを自動的にシャットダウンします。有効: 起動ステータスを確認します。

現在のシステムで「systemctl list-units --type=service」コマンドを実行して、現在のシステムでアクティブ化されているすべてのシステム サービスを表示します。

2. サービス管理

1. ファイアウォールとコア保護

通常、ファイアウォールとコア保護をオフにすることは推奨されません。

ファイアウォール操作

systemctl status firewalld.service ファイアウォールの状態を確認します。 systemctl stop firewalld ファイアウォールをオフにします。 systemctl start firewalld ファイアウォールをオンにします。 systemctl enable firewalld 起動時にファイアウォールを自動的にオフにします。 systemctl enable firewalld 起動時にファイアウォールを自動的に起動します。

コア保護操作

setenforce 0 は、Selinux 保護を一時的に無効にします。これは、再起動またはシャットダウン後に無効になります。vim /etc/sysconfig/selinux は、selinux ファイル「modify SELINUX=disable」を開いて保存し、終了して、Selinux 保護を永続的に無効にします。vim /etc/selinux/config は、構成ファイル「modify SELINUX=disable」を開いて保存し、終了して、Selinux 保護を永続的に無効にします。

2. 時間管理

ntpdateサービスをインストールする

yum -y インストール ntp ntpdate

ネットワークとの時刻同期を設定する

ntpdate タイム サーバー (ntp1.aliyun.com、time.nist.gov、time.nuri.net)
hwclock --systohc システム時間をハードウェア (BIOS) に書き込む
timedatectl システム時刻を表示する Centos の現在のシステム時刻を表示するコマンド

3. SSHサービス

SSH は、リモート ログイン セッションやその他のネットワーク サービスにセキュリティを提供するために設計された信頼性の高いプロトコルです。SSH プロトコルは、リモート管理中の情報漏洩を効果的に防止できます。SSH 接続を確立することで、Linux をリモートで管理できます。SSH を有効にする方法は次のとおりです。

vim /etc/ssh/sshd_config

PasswordAuthenticationの前の#記号を削除し、後ろをyesに変更します。

service ssh start SSHサービスを開始します netstat -anptu | grep sshd サービスプロセスの状態を表示します service ssh status SSHサービスのステータスを確認します update-rc.d ssh enable 起動時にSSHが自動的に開始するように設定します

結論

ターゲットが異なれば、システムのさまざまな動作状態が表され、有効になっているサービスやプログラムも異なります。たとえば、インターネット上の Web サイトや電子メール サーバーなどの場合、グラフィカル デスクトップ プログラムを有効にせずにテキスト モードで実行するだけで済みます。

Linux システム構成 (サービス制御) の詳細な紹介に関するこの記事はこれで終わりです。Linux システム構成に関するより関連性の高いコンテンツについては、123WORDPRESS.COM の以前の記事を検索するか、以下の関連記事を引き続き参照してください。今後とも 123WORDPRESS.COM をよろしくお願いいたします。

以下もご興味があるかもしれません:
  • Linux サーバー オペレーティング システムの強化方法
  • Linux システムサービスを作成する方法

<<:  CSS3 クリックボタン円形進行ティック効果実装コード

>>:  Node.js はクライアントリクエストデータ内の中国語文字化けの問題を解決します

推薦する

MYSQL ロック解除とロックテーブルの紹介

MySQL ロックの概要他のデータベースと比較すると、MySQL のロック メカニズムは比較的単純で...

Vueは下部のポップアップウィンドウで複数選択を実装します

この記事の例では、下部のポップアップウィンドウで複数選択を実装するためのVueの具体的なコードを共有...

30分でReact Hooksを包括的に理解できます

目次概要1. 使用状態1.1 3つの概念に関する質問1.2 例1.3 注記2. リデューサーを使用す...

NODE.JS を使用して WEBSERVER を作成する手順

目次Node.jsとはNodeJSをインストールするNode を使用して Hello World を...

Ubuntu システムログで /var/log/messages を設定する方法

1. 問題の説明今日、システム ログ ファイルを確認する必要がありますが、/var/log/mess...

CSS3 を使用した背景ぼかし効果の 3 つの例

導入から始めず、いきなり本題に入りましょう。通常の背景ぼかし効果は次のとおりです。 プロパティを使用...

HTML テーブル データを Json 形式に変換するサンプル コード

<table>テーブルデータをJSON形式に変換するJavaScript関数は次のとおり...

Vueウォッチの監視方法の概要

目次1. Vueにおけるwatchの役割はその名の通り、監視の役割です。 2. このオブジェクトのプ...

Linux の daily_routine サンプルコードの詳細な説明

まずサンプルコードを見てみましょう: #/bin/bash cal 日付 -u echo "...

シーケンス関数を実装する MySQL コード

MySQLはシーケンス関数を実装する1. シーケンスレコードテーブルを作成する テーブル `sys_...

Ubuntu 20.04 ダブルピンイン入力方式のインストール手順

1. 中国語入力方法を設定する 2. ダブルスペルモードを設定する 3. 注意事項20.04 で S...

Redhat 7.3 に MySQL 8.0.22 をインストールするための詳細なチュートリアル (バイナリ インストール)

目次1. MySQLインストールパッケージをダウンロードする2. MySQLのアンインストール手順3...

MySQLへのJava接続の基礎となるカプセル化の詳細な説明

この記事では、Java接続MySQLの基礎となるカプセル化コードを参考までに紹介します。具体的な内容...

Win10環境にMysql5.7.23をインストールする際の問題点と落とし穴

たくさんのチュートリアルを読みましたが、うまくインストールできませんでした。しばらく試行錯誤した後、...

nginxを使用してドメイン名ベースの仮想ホストを構成する

1. 仮想ホストとは何ですか?仮想ホストは、特殊なテクノロジーを使用して、実行中のサーバーを論理的に...