コマンドが見つかりません:netstat、CentOS 7のnmap


66

次のCentOSを使用しています。

$ cat /etc/centos-release 
CentOS Linux release 7.0.1406 (Core) 

コマンドnmapnetstatおよびlsofはCentOS7にはありません。どうして?

$ type -a nmap
bash: type: nmap: not found

$ type -a netstat
bash: type: netstat: not found

$ type -a lsof   
bash: type: lsof: not found

それらを機能させるにはどうすればよいですか?

回答:


61

パッケージnet-toolsはCentOS7で非推奨になり、iproute2スイートが採用されました。手動でインストールするか、このブログ投稿で代替コマンドを確認してください。

編集

廃止のnetstat詳細については、Red HatのRHEL7用BugzillaへのURLをご覧ください。https://bugzilla.redhat.com/show_bug.cgi?id = 1119297

抜粋

前に述べたように、net-toolsは推奨されないため、必要でない限り使用しないでください。RHEL 7の動作はFedoraと同じです-最小インストールではnet-toolsが欠落していますが、すべての非最小構成でインストールされる@base(Fedoraでは〜= @standard)にあります。

ID 682308や687920など、これに対処する他のチケットもあります。Fedoraプロジェクトに割り当てられており、かなり古いことに注意してください。


3
置換のリンクにlsofがリストされていない
ミスト

lsofあなたの答えに直接の代入を入れればもっと便利でしょう
-ericn

3
lsof廃止されたとは思わない。デフォルトではインストールされていません。で取得できますyum install lsof
ダンケダー

32

ただやる:

yum install net-tools

10
上記の@DanKederの回答からこのリンクを使用することnetstat -plntで置き換えられたと判断するのに数分しかかかりませんでした。非推奨のアプローチに戻すのではなく、まずディストリビューションの推奨ソリューションを機能させるようにすべきだと思います。ss -plnt
CodeMed

12

Red Hatベースのディストリビューションで実行可能ファイルが見つからず、その名前がわかっている場合は、次の2つのことのいずれかを実行する必要があります。

repoqueryを使用する

コマンドを使用して、システムで使用可能なYUMリポジトリを検索できますrepoquery。インストールされていない場合は、を実行しyum install yum-utilsます。

$ repoquery -qf */nmap
nmap-2:6.40-4.el7.x86_64

ここから、これらの名前の実行可能ファイルを持つパッケージを確認できます。これらはすべて一度に表示されます。

$ repoquery -qf */netstat */lsof */nmap
net-tools-0:2.0-0.17.20131004git.el7.x86_64
ctdb-tests-0:2.5.1-2.el7.x86_64
lsof-0:4.87-4.el7.x86_64
nmap-2:6.40-4.el7.x86_64
ctdb-tests-0:2.5.1-2.el7.x86_64

ここで、不足しているこれらのパッケージをインストールするsudo yum install lsofsudo yum install nmap、インストールするだけです。

yum検索を使用する

を使用して同様の検索を行うこともできyum search <executable>ます。

$ yum search netstat     
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
 * base: mirrors.advancedhosters.com
 * extras: mirror.cisp.com
 * updates: centos-mirror.jchost.net
================================================================== Matched: netstat ==================================================================
dstat.noarch : Versatile resource statistics tool
net-snmp.x86_64 : A collection of SNMP protocol tools and libraries
net-tools.x86_64 : Basic networking tools

このアプローチでは、結果のパッケージに探している実行可能ファイルが含まれていることを確認するために、少し掘り下げる必要があります。私は通常、私が欲しいもののためにそこにあるファイルを探しますが、そのためにはを使用する必要がありますrepoquery

$ repoquery -ql net-tools.x86_64  | grep netstat
/bin/netstat
/usr/share/man/de/man8/netstat.8.gz
/usr/share/man/fr/man8/netstat.8.gz
/usr/share/man/man8/netstat.8.gz
/usr/share/man/pt/man8/netstat.8.gz

したがって、最初のアプローチを使用すると、余分な手順を省くことができます。

netstatの廃止

どうやらnetstatパッケージの一部であるCentOS 7 ではnet-tools公式に廃止されているためss、今後は(パッケージiproute2の一部)を使用する必要があります。


1
repoqueryおよびyum searchコマンドの+1 。
fduff

4

私が使用した情報を見つけやすくするだけで、slmの答えを支持しました。やりたかったこと:

netstat -nlp | grep httpd

代わりに、CentOS 7で次のことを行いました。

ss -nlp | grep httpd

これは機能し、CentOS 7 minimalにインストールする必要さえありませんでした。

使用方法の詳細については、「man ss」を実行してください。


2

これらのツールがインストールされていないようです。CentOSでは、で簡単にインストールできるはずyumです。これを試して:

$ yum install nmap netstat

1
実際、これはかなり妥当な答えのようです。しかし、記録のために、50人の担当者を得るのに多くの時間も仕事もかかりません。コメントとして投稿する必要があると本当に感じている場合は、実際にコメントとして投稿できるようになるまでお待ちください。(長くはかからない)
HalosGhost 14

9
また、のnetstat代わりに廃止されましたss。それはすぐにいつでも消えるのではないかと疑っていますが、それはただです。ss既にインストールされているに違いない。
パトリック14

@HalosGhost:それよりもかなり長い時間がかかる場合があり、同様にいくつかの質問をするか答えなければなりません。
グイドヴァンスティーン

1
OPはCentOS 7を指定しました。netstatはそのディストリビューションの有効なパッケージではありません。
デビッドニューコム14
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.