記事ディレクトリ
序文
- Linuxのサービスは2つのカテゴリに分類できます。1つは RPMパッケージにデフォルトでインストールされるサービス(独立したサービスとxinetdサービスを含む)であり、もう1つはソースパッケージによってインストールされるサービスです。サービス管理は、サービスの開始と自己開始です。だから私はこれらの2つのタイプの起動方法と自動起動方法を学びます
- サービスとは何ですか???Windowsに表示される.exeプログラムは、バイナリでコンパイルされたパッケージです。インストール方法は同じですが、インストールされるプログラムの一部は、システムで一般的に使用されるアプリケーションソフトウェアにすぎませんが、システムサービスとしてインストールできるものもあります。例:qqはアプリケーションソフトウェアで、仮想マシンはインストール後のサービスです。
自動:サービスは、電源をオンにするか再起動すると自動的にオンになります。
手動:本サービスは起動後は起動しませんが、他のサービスで必要な場合に呼び出されます管理者の許可は必要なく、本サービスから直接呼び出されます。
1.サービスの分類
図の説明:
- (1) RPMパッケージによってデフォルトのサービスがインストールされるのはなぜですか???Linuxシステム全体がrpmでインストールされ、rmpパッケージでインストールされるサービスはシステムのデフォルト値と同じであるため、デフォルトのサービスです。
- (2) 独立サービスとは:???Linuxのほとんどのサービスは独立しています。ダイレクトサービスはメモリ内にあり、ユーザーがアクセスすると、サービスはユーザーに直接応答します。利点は次のとおりです。サービスアクセスの応答が高速であり、欠点:そのような独立したサービスが多いほど、より多くのメモリリソースが消費されます。
- (3) xinetdに基づくサービスは何ですか???Xinetd自体はメモリ内で独立しています。Apacheサービスとは異なり、誰かがアクセスした場合は、Apacheで応答します。次に、自分のWebページを開きます。ただし、Xinetdのサービスは異なります。xinetdにアクセスすると、xinetd自体には機能がありません。唯一の機能は、彼の後ろに管理されている一連のサービスがあることです。
栗を与える:Linuxのネットワークバックアップサービスであるrsyncサービスなど、彼の背後にあるサービスにアクセスする場合は、アクセスを追加します。このサービスはメモリ内にないため、顧客は直接見つけることができません。最初にxinetdを見つけて、xinetdからアクセスします。 rsync、 このサービスはxinetdサービスによって管理されているため 、sryncはxinetdに応答し、xinetdはクライアントに応答します。Xinetdサービス自体は独立していますが、バックグラウンドで管理するサービスはxinetdベースのサービスと呼ばれます。
利点は、後者のxinetdベースのサービス自体がメモリを消費しないことと、欠点:独立したサービスよりも応答速度が遅いことです。
2.起動と自己起動
- サービス開始:現在のシステムでサービスを実行させ、機能を提供することです。
- サービスの自動起動:自動起動とは、システムの電源を入れた後、または再起動した後にシステムが起動したときにサービスを自動的に開始し、システムが起動したときに自動的にサービスを開始することです。
ヒント:サービス管理。サービスの起動と自動起動の1つです。これは、次に学習する3つのタイプのサービスを開始およびセルフスタートする方法です
3.インストールされているサービスをクエリする
3.1 RPMパッケージインストールサービス
- コマンド:
chkconfig --list
機能:サービスの自動開始ステータスを表示します。RPMパッケージによってインストールされたすべてのサービスを表示できます
ヒント:
- (1)このコマンドは、rpmパッケージによってインストールされたサービスのみを表示できます。しかし、このコマンドを使用すると、システムにインストールされているすべてのrpmパッケージを表示できます。
(2) 上の画像の0〜6の数字は何を表していますか??? 実行レベルを表します: 0〜6はLinuxの7つのデフォルト実行レベルを表し、0はシャットダウンを表し、1はシングルユーザーを表し、2は不完全なマルチユーザーを表し、3は文字インターフェイスを表し、4は割り当てられていません、5はグラフィカルインターフェイスを表します、6再起動に代わって
(3)サービス2345が有効になっている場合、それは意味します。コンピューターが再起動したときに、2345がLinuxに入ると、4つの実行レベルのいずれかがシステムに従います。自動運転を開始します。2345で書かれたサービスが開始されている場合、2345レベルに入った後にサービスが開始されます。
大きなヒント:
- ここで記述されている有効化は、このサービスがすでに現在のシステムで実行されていることを意味するのではなく、システムが起動したときにこのサービスが実行されることを意味します。
- しかし、それが現在のシステムですでに実行されていることを確認するにはどうすればよいですか???1つは使用します
ps aux
。パイプを使用してシステムで実行中のすべてのプロセスps aux | grep crond
をnetstat –tlun
表示でき、もう1つを使用して表示できますが、crondがデーモンプロセスであるなどの問題があり、このサービスは開始されておらず、ポートもありません。したがって、psコマンドを使用して、より正確に表示します。
3.2ソースパッケージのインストールのためのサービス
- サービスのインストール場所を確認します。通常は/ usr / localの下にあります
- インストールを開始する前に、INSTALLファイルを確認してください。このファイルには、インストールプロセスだけでなく、サービスの起動方法も含まれています。
ヒント:
(1) インストール場所が異なるため、コマンドで確認できない
(2)このrpmパッケージを書いた人が適切と思うところにrpmをインストールする。どちらもシステムのデフォルトの場所です。構成ファイルは/ etc /ディレクトリーにインストールされ、始動スクリプトは/etc/rc.d/initd/にインストールされますこれは規則です。
3.3 RPMインストールサービスとソースパッケージインストールサービスの違いは、インストール場所です。
- RPMパッケージはデフォルトの場所にインストールされます
- ソースコードパッケージは、指定された場所、通常は/ usr / local /にインストールされます
ヒント:
- これは、インストール後のインストール場所が異なるため、管理方法が異なり
service httpd start
、Apacheなどのサービスを開始できるという違いです。chkcongfig --list
rpmパッケージのインストールの自己起動ステータスを表示できます。
ただし、これらのコマンドはソースパッケージのサービスを管理できません。これらのコマンドは、指定された場所を検索するためですservice httpd start
。apacheによってインストールされたrpmパッケージを開始できるのは、検索結果が/etc/rc.d/init.d
、apache起動スクリプトhttpd がこのディレクトリにあるためです。したがって、デフォルトでは、ソースパッケージによってインストールされるサービスは絶対パスで開始されます。
コマンドを使用して、ソースパッケージによってインストールされたサービスを開始する方法はありますか???
- 回答:ソースパッケージによってインストールされたサービスをコピーし、その起動スクリプトをこの
/etc/rc.d/init.d
パスにコピーするか、接続を確立すると、サービスはソースパッケージによってインストールされたサービスを識別できます。ただし、ソースパッケージサービスをrpmと同じ管理方法に変えることはお勧めしません。 理由は:ソースパッケージとrpmパッケージサービスを区別するマーク管理方法が同じになると初心者に混乱を招きます。インストール場所が異なるため、サービスの起動方法と自己起動方法が異なります。
ソフトウェアの削除におけるソースコードパッケージとrpmパッケージの違い:
- (1) rpmパッケージを削除する場合、このファイルパッケージはどこにでもインストールされるため、-eオプションを使用してパッケージを削除する必要があります。
(2)ソースコードパッケージ:ソフトウェアがインストールされているディレクトリを削除するだけです(たとえば、/ usr / local / apache内のすべてのファイルが指定したディレクトリにインストールされるため、ディレクトリを削除するだけで済みます)。
4.まとめ
- サービスを次の3つのタイプに分けます。それぞれに異なる管理方法があります。最終的な分析では、3つのタイプのサービスが異なる場所にインストールされ、異なるサービス管理方法(サービスの起動と自己起動、異なる開始方法)につながります。