ウェブサイト検索

Linux システムから不要なサービスを停止して無効にする方法


私たちは計画と要件に従ってサーバーを構築しますが、サーバーを迅速かつ効率的に機能させるためにサーバーを構築する際に意図される機能は何ですか。 Linux OS のインストール中に、ユーザーが知らないうちに不要なパッケージやアプリケーションが自動的にインストールされてしまうことは誰もが知っています。

サーバーを構築するときは、実際に何が必要かを自問する必要があります。 Web サーバーFTP サーバーNFS サーバーDNS サーバー > データベースサーバーまたはその他。

この記事では、不要なアプリケーションやサービスについて説明します。これらは、必要ではないかもしれませんが、OS のインストール中にデフォルトでインストールされ、知らず知らずのうちにシステム リソースを消費し始めます。

まず、次のコマンドを使用して、システム上でどのような種類のサービスが実行されているかを確認します。

[avishek@tecmint]# ps ax
サンプル出力
  PID TTY      STAT   TIME COMMAND
    2 ?        S      0:00 [kthreadd]
    3 ?        S      0:00  \_ [migration/0]
    4 ?        S      0:09  \_ [ksoftirqd/0]
    5 ?        S      0:00  \_ [migration/0]
    6 ?        S      0:24  \_ [watchdog/0]
    7 ?        S      2:20  \_ [events/0]
    8 ?        S      0:00  \_ [cgroup]
    9 ?        S      0:00  \_ [khelper]
   10 ?        S      0:00  \_ [netns]
   11 ?        S      0:00  \_ [async/mgr]
   12 ?        S      0:00  \_ [pm]
   13 ?        S      0:16  \_ [sync_supers]
   14 ?        S      0:15  \_ [bdi-default]
   15 ?        S      0:00  \_ [kintegrityd/0]
   16 ?        S      0:49  \_ [kblockd/0]
   17 ?        S      0:00  \_ [kacpid]
   18 ?        S      0:00  \_ [kacpi_notify]
   19 ?        S      0:00  \_ [kacpi_hotplug]
   20 ?        S      0:00  \_ [ata_aux]
   21 ?        S     58:46  \_ [ata_sff/0]
   22 ?        S      0:00  \_ [ksuspend_usbd]
   23 ?        S      0:00  \_ [khubd]
   24 ?        S      0:00  \_ [kseriod]
   .....

ここで、以下に示すように netstat コマンドを使用して、接続 (ポート) を受け入れるプロセスを簡単に見てみましょう。

[avishek@tecmint]# netstat -lp
サンプル出力
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address               Foreign Address             State       PID/Program name   
tcp        0      0 *:31138                     *:*                         LISTEN      1485/rpc.statd      
tcp        0      0 *:mysql                     *:*                         LISTEN      1882/mysqld         
tcp        0      0 *:sunrpc                    *:*                         LISTEN      1276/rpcbind        
tcp        0      0 *:ndmp                      *:*                         LISTEN      2375/perl           
tcp        0      0 *:webcache                  *:*                         LISTEN      2312/monitorix-http 
tcp        0      0 *:ftp                       *:*                         LISTEN      2174/vsftpd         
tcp        0      0 *:ssh                       *:*                         LISTEN      1623/sshd           
tcp        0      0 localhost:ipp               *:*                         LISTEN      1511/cupsd          
tcp        0      0 localhost:smtp              *:*                         LISTEN      2189/sendmail       
tcp        0      0 *:cbt                       *:*                         LISTEN      2243/java           
tcp        0      0 *:websm                     *:*                         LISTEN      2243/java           
tcp        0      0 *:nrpe                      *:*                         LISTEN      1631/xinetd         
tcp        0      0 *:xmltec-xmlmail            *:*                         LISTEN      2243/java           
tcp        0      0 *:xmpp-client               *:*                         LISTEN      2243/java           
tcp        0      0 *:hpvirtgrp                 *:*                         LISTEN      2243/java           
tcp        0      0 *:5229                      *:*                         LISTEN      2243/java           
tcp        0      0 *:sunrpc                    *:*                         LISTEN      1276/rpcbind        
tcp        0      0 *:http                      *:*                         LISTEN      6439/httpd          
tcp        0      0 *:oracleas-https            *:*                         LISTEN      2243/java         
....

上記の出力では、サーバー上で必要のないアプリケーションがいくつかあるにもかかわらず、次のようにまだ実行されていることがわかります。

1.smbdとnmbd

smbd および nmbd は、Samba プロセスのデーモンです。 Windows または他のマシン上で smb 共有をエクスポートする必要がありますか?そうでなければ!なぜこれらのプロセスが実行されているのでしょうか?これらのプロセスを安全に強制終了し、次回マシンの起動時に自動的に開始されないようにすることができます。

2. Telnet

インターネットまたはローカル エリア ネットワークを介した双方向のインタラクティブなテキスト指向通信が必要ですか?そうでなければ!このプロセスを強制終了し、起動時に起動しないようにします。

3.rログイン

ネットワーク経由で別のホストにログインする必要がありますか。そうでなければ!このプロセスを強制終了し、起動時に自動的に開始されないようにします。

4.レクセック

リモート プロセス実行 (別名 rexec) を使用すると、リモート コンピューター上でシェル コマンドを実行できます。リモート マシンでシェル コマンドを実行する必要がない場合は、プロセスを強制終了するだけです。

5.FTP

インターネット経由であるホストから別のホストにファイルを転送する必要がありますか?そうでない場合は、サービスを安全に停止できます。

6.自動マウント

ネットワーク ファイル システムを起動するには、さまざまなファイル システムを自動的にマウントする必要がありますか?そうでなければ!なぜこのプロセスが実行されているのでしょうか?なぜこのアプリケーションにリソースを使用させるのですか?プロセスを強制終了し、自動的に開始されないようにします。

7.名前付き

ネームサーバー (DNS) を実行する必要がありますか?そうでない場合、一体何がこのプロセスを実行し、リソースを食いつぶすことを強いているのでしょうか。まず実行中のプロセスを強制終了し、起動時にそのプロセスの実行をオフにします。

8.LPD

lpd は、そのサーバーへの印刷を可能にするプリンター デーモンです。サーバーから印刷する必要がない場合は、システム リソースが使い果たされている可能性があります。

9.インターネット

inetd サービスを実行していますか? Mysql、Apache などの他のスタンドアロン アプリケーションを使用する ssh などのスタンドアロン アプリケーションを実行している場合は、inetd は必要ありません。プロセスを強制終了し、次回から自動的に開始されるように無効にしたほうがよいでしょう。

10.ポートマップ

Open Network Computing Remote Procedure Call (ONC RPC) である Portmap と、デーモン rpc.portmap および rpcbind を使用します。これらのプロセスが実行されている場合は、NFS サーバーが実行されていることを意味します。 NFS サーバーが気づかれずに実行されている場合は、システム リソースが不必要に使用されていることを意味します。

Linux でプロセスを強制終了する方法

Linux で実行中のプロセスを強制終了するには、「Kill PID」 コマンドを使用します。ただし、Kill コマンドを実行する前に、 プロセスのPIDを知っておく必要があります。たとえば、ここでは「cupsd」プロセスの PID を検索したいとします。

[avishek@tecmint]# ps ax | grep cupsd

1511 ?        Ss     0:00 cupsd -C /etc/cups/cupsd.conf

したがって、「cupsd」プロセスの PID は「1511」です。その PID を強制終了するには、次のコマンドを実行します。

[avishek@tecmint]# kill -9 1511

kill コマンドとその例の詳細については、「Linux でプロセスを終了する Kill コマンドのガイド」の記事を参照してください。

Linux でサービスを無効にする方法

FedoraCentOS などのRed Hat ベースのディストリビューションでは、「chkconfig」と呼ばれるスクリプトを使用して、Linux で実行中のサービスを有効または無効にします。 。

たとえば、システム起動時に Apache Web サーバーを無効にしてみましょう。

[avishek@tecmint]# chkconfig httpd off
[avishek@tecmint]# chkconfig httpd --del

UbuntuLinux Mint などの Debian ベースのディストリビューションやその他の Debian ベースのディストリビューションでは、update-rc.d というスクリプトを使用します。強い>。

たとえば、システム起動時に Apache サービスを無効にするには、次のコマンドを実行します。ここで、「-f」 オプションは強制が必須であることを表します。

[avishek@tecmint]# update-rc.d -f apache2 remove

これらの変更を加えた後、次回システムはこれらの国連に必要なプロセスなしで起動するため、実際にシステム リソースが節約され、サーバーはより実用的、高速、安全、確実になります。

それは今のところすべてです。また別の興味深い記事を紹介します。それまでは引き続き Tecmint に接続してください。コメントセクションに貴重なフィードバックをお寄せください。