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

推薦する

Docker クリーニングの一般的な方法と問題点

大規模な開発に Docker を使用する場合でも、クリーンアップ戦略がなければ、ディスクがすぐにいっ...

Docker 構成コンテナの場所とヒントのまとめ

Docker の使用に関するヒント1. 停止したDockerコンテナをすべてクリーンアップする停止し...

クールなネオンライト効果を実現する純粋な CSS (デモ付き)

私は最近、YouTube の CSS アニメーション効果チュートリアル シリーズをフォローしています...

MySQL での GROUP_CONCAT の使用例の分析

この記事では、例を使用して、MySQL で GROUP_CONCAT を使用する方法について説明しま...

Windows2008 64 ビット システムでの MySQL 5.7 グリーン バージョンのインストール チュートリアル

序文この記事では、MySQL 5.7 グリーン バージョンのインストール チュートリアルを紹介します...

重複データの処理に関するMySQL学習ノート

MySQLは重複データを処理します一部の MySQL テーブルには重複レコードが含まれている場合があ...

MySQL 5.7.27 winx64 のインストールと設定方法のグラフィックチュートリアル

この記事では、MySQL 5.7.27 winx64のインストールと設定方法を参考までに紹介します。...

スクロールバーを非表示にしながらもスクロール効果を維持する純粋な CSS (モバイルと PC)

携帯モバイル ページは Chrome および Safari とのみ互換性があればよいため、カスタム ...

vue3.0+vant3.0の迅速なプロジェクト構築の実装

目次1. プロジェクトの構築2. Vue3 体験 + Vant 紹介2020年9月18日にvue.j...

MySQLを定期的にバックアップしてQiniuにアップロードする方法

ほとんどのアプリケーション シナリオでは、緊急時に備えて重要なデータをバックアップし、安全な場所に保...

Docker を使用して ELK ログ システムを構築する例

以下のインストールではすべて、インストール ルート ディレクトリとして ~/ ディレクトリが使用され...

mysql 3つのテーブルを接続してビューを作成する

3 つのテーブルが接続されています。テーブル A のフィールド a はテーブル B のフィールド b...

Linux は、ディレクトリが存在するかどうかを判断するために if を使用します。

Linux で if を使用してディレクトリが存在するかどうかを判断する方法方法は次のとおりです。...

Vuex のコアコンセプトと基本的な使用法の詳細な説明

目次導入始めるインストール①直接ダウンロードする方法②CND法③NPM方式④糸法NPMインストールの...

JavaScriptはシンプルな計算機能を実装します

この記事では、参考までに、簡単な計算機能を実装するためのJavaScriptの具体的なコードを紹介し...