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 はクライアントリクエストデータ内の中国語文字化けの問題を解決します

ブログ    

推薦する

Ubuntu 18.04 に MySQL をインストールする (グラフィカル チュートリアル)

ヒント: 以下の操作はすべて root 権限で実行されます。 # MySQL がインストールされてい...

MySQL ストアド プロシージャの概念、原則、一般的な使用法の詳細な説明

この記事では、例を使用して、MySQL ストアド プロシージャの概念、原則、および一般的な使用法につ...

CentOS6.8 中国語/英語環境切り替えチュートリアル図

1. はじめに英語に慣れていない人は、システムを英語から中国語に変更したいかもしれません。一方、クラ...

Docker で php-nginx-alpine イメージをゼロから構築する方法

これまでにも Docker 環境でいくつかのプロジェクトを実行したことはありますが、まだイメージをよ...

Linux の操作とメンテナンスの基本的なスワップ パーティションと LVM 管理のチュートリアル

目次1. スワップパーティション SWAP 1.1 スワップファイルを作成する1.2 スワップパーテ...

MySQL共通ストレージエンジンの機能と使用方法の詳細な説明

この記事では、一般的な MySQL ストレージ エンジンの機能と使用方法を例を使って説明します。ご参...

インターネットウェブデザインにおけるバイオニックデザインの簡単な紹介

バイオニックデザインといえば、飛行機の発明、ドバイのブルジュ・アル・アラブ、平泳ぎなどを思い浮かべる...

ウェブページのカラーマッチングスキルについての簡単な説明(フロントエンド開発者必読)

一般的に、Web ページの背景色は、より柔らかく、よりシンプルで、より明るく、暗いテキストとマッチし...

MySQL バッチ挿入ループの詳細なサンプルコード

背景数日前、MySql でページングを行っていたときに、ページングに制限 0,10 を使用するとデー...

TypeScriptの列挙型を詳しく説明する

目次1. デジタル列挙2. 文字列の列挙3. 逆マッピング4. 異種列挙5. 定数列挙6. 列挙メン...

Linuxでユーザーが所属するグループを変更する方法

Linuxでユーザーが所属するグループを変更する1. ユーザーのグループを設定する usermod ...

非ルートユーザーを使用してDockerコンテナでスクリプト操作を実行する

アプリケーションをコンテナ化した後、Docker コンテナを起動すると、デフォルトで root ユー...

JS で async await をエレガントに使用する方法

目次jQuery の $.ajax Webpack時代の始まり約束について深く考えるネストをなくすj...

MySQL マスター スレーブ データが矛盾しています。プロンプト: Slave_SQL_Running: 解決策はありません

この記事では、MySQL マスターとスレーブ データ間の不一致の解決方法と、プロンプト「Slave_...

MySQL のテーブル内のレコード数を制限する方法

目次1. トリガーソリューション2. パーティションテーブルソリューション3. 一般的な表領域ソリュ...