cal*_*ery 67 centos package-management
我正在使用以下 CentOS:
$ cat /etc/centos-release
CentOS Linux release 7.0.1406 (Core)
Run Code Online (Sandbox Code Playgroud)
命令nmap,netstat和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
Run Code Online (Sandbox Code Playgroud)
我应该怎么做才能使它们工作?
Dan*_*der 65
net-toolsCentOS7 中不推荐使用该软件包以支持该iproute2套件。您可以手动安装它或查看此博客文章以获取替换命令:
以下是 Red Hat 的针对 RHEL7 的 Bugzilla 的 URL netstat,其中更详细地介绍了弃用:https : //bugzilla.redhat.com/show_bug.cgi?id=1119297
如前所述,网络工具已被弃用,因此除非必要,否则不应使用。RHEL 7 中的行为与 Fedora 中的相同 - 最小安装中缺少 net-tools,但在 @base(Fedora 中的 ~= @standard)中,它安装在所有非最小配置中。
还有其他处理此问题的票证,例如 ID 682308 和 687920。请注意,它们被分配给 Fedora 项目并且已经很旧了。
小智 35
做就是了:
yum install net-tools
Run Code Online (Sandbox Code Playgroud)
slm*_*slm 12
每当您在基于 Red Hat 的发行版上找不到可执行文件并且知道它们的名称时,您应该执行以下 2 件事中的 1 件事。
您可以使用命令搜索系统可用的 YUM 存储库repoquery。如果未安装,请执行yum install yum-utils.
$ repoquery -qf */nmap
nmap-2:6.40-4.el7.x86_64
Run Code Online (Sandbox Code Playgroud)
从这里您可以看到哪些包具有具有这些名称的可执行文件。这里是所有这些。
$ 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
Run Code Online (Sandbox Code Playgroud)
现在只需执行sudo yum install lsof或sudo yum install nmap安装这些缺少的包。
您也可以使用 进行类似的搜索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
Run Code Online (Sandbox Code Playgroud)
使用这种方法,您需要进行一些挖掘以确认生成的包包含您正在寻找的可执行文件。我通常会查看我想要的文件,但为此您必须使用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
Run Code Online (Sandbox Code Playgroud)
因此,使用我的第一种方法可以为您节省额外的步骤。
显然,在 CentOS 7 中netstat,该软件包的一部分net-tools已被正式弃用,因此您应该继续使用ss(iproute2 软件包的一部分)。
支持slm 的答案,只是为了更容易找到我使用的信息。我想做:
netstat -nlp | grep httpd
Run Code Online (Sandbox Code Playgroud)
相反,在CentOS 7上我只是这样做:
ss -nlp | grep httpd
Run Code Online (Sandbox Code Playgroud)
哪个有效,甚至不需要在CentOS 7 mini上安装它。
了解man ss使用详情。
小智 2
看来您根本没有安装这些工具。在 CentOS 上,您应该能够使用yum. 尝试这个:
$ yum install nmap netstat
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
265661 次 |
| 最近记录: |