通常情況下,ping 命令會預安裝在大多數(shù) Linux 系統(tǒng)中。 但是也有一些例外情況,比如安裝的是最小版本的 Ubuntu,或者是在 Docker 容器中運行 Ubuntu,這種情況下,ping 命令有可能會找不到,即如果嘗試運行它,會看到 ping not found 的報錯:
root@182b38f8w4c9:/# ping www.baidu.com
bash: ping: command not found
這就相當于在 arm 或者單片機中安裝 jre,某些 jdk 模塊會找不到一樣。
不過這還不是最糟糕的事情。 找不到 ping 命令的話,那就安裝好了,但是當你嘗試安裝 ping,又報出另外一個錯誤:Unable to locate package ping:
root@182b38f8w4c9:/# apt install ping
Reading package lists... Done
Building dependency tree
Reading state information... Done
E: Unable to locate package ping
這是怎么回事? Ubuntu 中不能使用 ping 嗎? 很顯然這是不可能的。 接下來我們來詳細看一下。
在 Ubuntu 中安裝 ping
之所以會出現(xiàn)上面的問題,是因為 ping 命令本身不是一個包(package),它只是 iputils 包的一部分。 所以當你嘗試安裝名為 ping 的包時,會報錯找不到。
作為 iputils 的一部分,ping 命令的包名稱為 iputils-ping,這才是我們需要安裝的包。
首先,通過以 root 身份運行此命令來更新本地包緩存(如果不是root,請使用sudo):
apt update
然后再安裝 iputils-ping 工具包:
apt install iputils-ping
現(xiàn)在,再次運行 ping 命令:
root@182b38f8w4c9:/# ping itsfoss.com
PING itsfoss.com (104.26.10.68) 56(84) bytes of data.
64 bytes from 104.26.10.68 (104.26.10.68): icmp_seq=1 ttl=56 time=25.1 ms
64 bytes from 104.26.10.68 (104.26.10.68): icmp_seq=2 ttl=56 time=49.6 ms
64 bytes from 104.26.10.68 (104.26.10.68): icmp_seq=3 ttl=56 time=34.8 ms
64 bytes from 104.26.10.68 (104.26.10.68): icmp_seq=4 ttl=56 time=38.9 ms
^C
--- itsfoss.com ping statistics ---
4 packets transmitted, 4 received, 0% packet loss, time 3003ms
rtt min/avg/max/mdev = 25.125/37.095/49.590/8.773 ms
另外,如果你是在 Docker 容器中運行的,那么如上安裝只是臨時的,還應該在 Dockerfile 做相應修改以使配置永久生效。
-
單片機
+關注
關注
6030文章
44491瀏覽量
632029 -
Ping
+關注
關注
0文章
69瀏覽量
15932 -
命令
+關注
關注
5文章
678瀏覽量
21965 -
Ubuntu
+關注
關注
5文章
559瀏覽量
29503 -
Docker
+關注
關注
0文章
453瀏覽量
11792
發(fā)布評論請先 登錄
相關推薦
評論