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 でサービスを無効にする方法
Fedora や CentOS などのRed Hat ベースのディストリビューションでは、「chkconfig」と呼ばれるスクリプトを使用して、Linux で実行中のサービスを有効または無効にします。 。
たとえば、システム起動時に Apache Web サーバーを無効にしてみましょう。
[avishek@tecmint]# chkconfig httpd off
[avishek@tecmint]# chkconfig httpd --del
Ubuntu、Linux Mint などの Debian ベースのディストリビューションやその他の Debian ベースのディストリビューションでは、update-rc.d というスクリプトを使用します。強い>。
たとえば、システム起動時に Apache サービスを無効にするには、次のコマンドを実行します。ここで、「-f」 オプションは強制が必須であることを表します。
[avishek@tecmint]# update-rc.d -f apache2 remove
これらの変更を加えた後、次回システムはこれらの国連に必要なプロセスなしで起動するため、実際にシステム リソースが節約され、サーバーはより実用的、高速、安全、確実になります。
それは今のところすべてです。また別の興味深い記事を紹介します。それまでは引き続き Tecmint に接続してください。コメントセクションに貴重なフィードバックをお寄せください。