不必要な起動スクリプトの削除と起動プロセスとポートのチェック

不必要な起動スクリプトの削除〜lsofで調べ、update-rc.dで削除   リスト1を見ると、今回構築するサーバーでは不要と思われるプロセスがいくつかあります。inetd、portmap、rpc.statdなどは、Xenを使うにあたっては不必要なものです。

宮本 久仁男

2006年10月11日 20:00

不必要な起動スクリプトの削除〜lsofで調べ、update-rc.dで削除

   リスト1を見ると、今回構築するサーバーでは不要と思われるプロセスがいくつかあります。inetd、portmap、rpc.statdなどは、Xenを使うにあたっては不必要なものです。

   update-rc.dは、/etc/init.d配下のスクリプトについて、/etc/rcX.d配下にリンクを作成し、プログラムを起動したり終了したりという動作を制御するためのコマンドです。

   一方で、リスト2を見ると、本来必要なSSHの待ち受けに使われる以外のポートでも何かの待ち受けが行われています。ポートとプロセスの関係を見る ためにlsofというコマンドを使いましょう。ポート22番での接続待ちをしているプロセスを特定するためには、以下のようにします(注2)。

# lsof -i TCP:22

※注2: root権限で実行する必要があります。

   結果は、たとえばリスト6のようになります。

リスト6:ポート22番での接続待ちプロセスを調べる


COMMAND PID     USER FD  TYPE DEVICE SIZE NODE NAME
sshd    820     root  3u IPv4    898&nbs
p;      TCP *:ssh (LISTEN)
sshd    887     root  4u IPv4   2666       TCP 192.168.149.240:ssh-
                                              >192.168.149.1:1685 (ESTABLISHED)
sshd    889 wakatono  4u IPv4   2666       TCP 192.168.149.240:ssh-
                                               >192.168.149.1:1685 (ESTABLISHED)

   lsofを用いて、SSH以外のポートを調べると、リスト7のようになります。

リスト7:ssh以外の接続待ちプロセスを調べる

TCP704,UDP698,UDP701:/sbin/rpc.statd
TCP111(sunrpc),UDP111(sunrpc):/sbin/portmap
TCP113(auth):/usr/sbin/inetd

   rpc.statd、portmap、inetdのそれぞれが、どのようなパッケージに属しているのかを調べるには、dpkg-queryコマンドを使います。たとえば、rpc.statdについて調べるには、以下のようにコマンドを実行します。



# dpkg-query -S /sbin/rpc.statd
nfs-common: /sbin/rpc.statd

   このような形で、nfs-commonパッケージに含まれることがわかります。コマンド/sbin/rpc.statdは、/etc/init.dのnfs-commonスクリプトから起動されます(grepなどで調べましょう)。

   同じことを、他の(身に憶えのない)ポート番号についても調査すると、/etc/init.d配下のスクリプトであるinetdおよび portmapによって、それぞれのポート番号を使うプログラムが起動されていることがわかります。これらの起動を止めましょう。ここではじめて、 update-rc.dを使うことになります。具体的には、以下のようなコマンドラインを実行します。



# update-rc.d -f nfs-common remove # update-rc.d -f inetd remove # update-rc.d -f portmap remove

   上記のようにすることで、起動時の当該サービスの自動起動は避けられます。

   例えば、「update-rc.d -f nfs-commonremove」を実行した場合、リスト8のような結果になります。

リスト8:サービスの自動起動を止める

pigeon:~# update-rc.d -f nfs-common remove
update-rc.d: /etc/init.d/nfs-common exists during rc.d purge (continuing)
   Removing any system startup links for /etc/init.d/nfs-common ...
      /etc/rc0.d/K79nfs-common
      /etc/rc1.d/K79nfs-common
      /etc/rc2.d/S21nfs-common
      /etc/rc3.d/S21nfs-common
      /etc/rc4.d/S21nfs-common
      /etc/rc5.d/S21nfs-common
      /etc/rc6.d/K79nfs-common

   なお、ここではパッケージ名を調べ、起動しないようにしていますが、パッケージ名がわかった時点で当該パッケージを削除するということも可能です。 ただし、パッケージ間の依存関係にひきずられて、意図せぬパッケージが削除されてしまうこともありますので、削除の際にはその部分に注意してください。

人気記事トップ10

人気記事ランキングをもっと見る

企画広告も役立つ情報バッチリ! Sponsored

ClickHouse Cloudが実現した広告運用SaaS「ATOM」のデータ基盤革新、パフォーマンスを向上しながら、運用負荷とコストを削減 11月11日 6:20 AIで開発が加速する時代、品質保証はどう変わる? Tricentisが示すAIエージェント活用の実像 11月9日 6:45 悪用までの猶予が「1分」に迫るフロンティアAI時代に開発と本番を貫く脆弱性管理が必要 10月29日 8:30 欧州CRA対応とSBOM運用。AI生成コードのOSS混入問題の対策とは ――スニペット単位で検出する「FossID」「Insignary Clarity」によるSBOM運用 9月16日 6:40 PostgreSQLからTiDBへ、稼働中SaaSで進める段階的DB移行の実践と再設計への展望 9月7日 6:30 機能安全開発におけるGoogleTestの活用を支援!「Parasoft C/C++test CT」で実現する効率化&AI連携 4月14日 6:30 【CNDW2025】Grafanaが明かす「オブザーバビリティの哲学」ー最小限の労力で実用的なインサイトを得るには 1月23日 6:30 【CNDW2025】プロダクト急増に備える基盤刷新 ーウェルスナビがECSからEKSへの移行で得た知見とは 1月15日 6:30 【CNDW2025】250環境を5人で運用、構築時間は30分に ーKINTOテクノロジーズが語るインフラ基盤組織の作り方 2025年12月18日 6:30 新たな自動化で熱視線! AIエージェントの「推論能力」を支える2つのコンポーネントとは? 2025年11月28日 6:30