当前位置: 首页 > 科技观察

找不到ping命令?这可能需要重新安装

时间:2023-03-16 23:24:00 科技观察

通常,大多数Linux系统上都预装了ping命令。但也有一些例外,比如安装最小版本的Ubuntu,或者在Docker容器中运行Ubuntu,在这种情况下可能会找不到ping命令,也就是说,如果你尝试运行它,你会看到pingnotfound报错:root@182b38f8w4c9:/#pingwww.baidu.combash:ping:commandnotfound这相当于在arm或单片机中安装了jre,有些jdk模块会找不到。但这还不是最糟糕的事情。如果你找不到ping命令,它已经安装了,但是当你尝试安装ping时,又报错:Unabletolocatepackageping:root@182b38f8w4c9:/#aptinstallpingReadingpackagelists...DoneBuildingdependencytree正在读取状态信息...DoneE:无法定位包ping发生了什么事?ping在Ubuntu中不可用吗?显然这是不可能的。接下来,让我们仔细看看。上述问题是在Ubuntu中安装ping时出现的,因为ping命令本身并不是一个包(package),它只是iputils包的一部分。因此,当您尝试安装一个名为ping的包时,您会收到一条错误消息,找不到。作为iputils的一部分,ping命令的包名为iputils-ping,这就是我们需要安装的包。首先,通过以root身份运行此命令(如果不是root,则使用sudo)来更新本地包缓存:aptupdate然后安装iputils-ping工具包:aptinstalliputils-ping现在,再次运行ping命令:root@182b38f8w4c9:/#pingitsfoss.comPINGitsfoss.com(104.26.10.68)56(84)字节数据。64字节来自104.26.10.68(104.26.10.68):icmp_seq=1ttl=56时间=25.1ms604.2字节来自.110.68(104.26.10.68):icmp_seq=2ttl=56time=49.6ms64bytesfrom104.26.10.68(104.26.10.68):icmp_seq=3ttl=56time=34.8ms64bytesfrom104.26.10.68(104.26se)=4ttl=56time=38.9ms^C---itsfoss.compingstatistics---4包发送,4包接收,0%包丢失,时间3003msrttmin/avg/max/mdev=25.125/37.095/49.590/8.773ms另外,如果你运行在Docker容器中,上面的安装只是临时的,你应该在Dockerfile中做相应的修改才能使配置永久生效。