How to fix "wget: unable to resolve host address" issue
ถ้าหากใช้งาน wget แล้วเกิดปัญหาเรื่องการ resolve host เหมือน error ด้านล่าง
“wget: unable to resolve host address domain.com”
ตัวอย่าง
[root@ezylinux ~]# wget www.ezylinux.com
--2013-06-01 05:26:52-- http://www.ezylinux.com/
Resolving www.ezylinux.com... failed: Name or service not known.
wget: unable to resolve host address www.ezylinux.com
แนวทางการแก้ไขเบื้องต้นให้เราตรวจสอบดูว่า network ของเครื่องสามารถใช้งานได้หรือไม่เป็นอันดับแรก ด้วยคำสั่ง ping ดังตัวอย่าง
[root@ezylinux ~]# ping www.ezylinux.com
PING ezylinux.com (74.53.235.34) 56(84) bytes of data.
64 bytes from ezylinux.com (74.53.235.34): icmp_seq=1 ttl=48 time=283 ms
64 bytes from ezylinux.com (74.53.235.34): icmp_seq=2 ttl=48 time=319 ms
64 bytes from ezylinux.com (74.53.235.34): icmp_seq=3 ttl=48 time=316 ms
64 bytes from ezylinux.com (74.53.235.34): icmp_seq=4 ttl=48 time=340 ms
64 bytes from ezylinux.com (74.53.235.34): icmp_seq=5 ttl=48 time=296 ms
64 bytes from ezylinux.com (74.53.235.34): icmp_seq=6 ttl=48 time=282 ms
64 bytes from ezylinux.com (74.53.235.34): icmp_seq=7 ttl=48 time=299 ms
--- ezylinux.com ping statistics ---
7 packets transmitted, 7 received, 0% packet loss, time 6888ms
rtt min/avg/max/mdev = 282.505/305.501/340.585/19.648 ms
ถ้าหากว่าไม่สามารถ Ping ได้แสดงว่าเป็นปัญหาที่ network แต่ถ้า Ping ได้ แสดงว่าปัญหาเกิดจาก wget พยายามใช้งาน ipv6 ซึ่งเครื่องที่เกิดปัญหาไม่มีการใช้งาน ipv6 จึงทำให้ไม่สามารถใช้งานได้ วิธีการแก้ไขปัญหา wget: unable to resolve host address domain.com สามารถทำได้หลายวิธีดังนี้
-
ใช้ option -4 หรือ —inet4-only เพื่อให้ wget ใช้งาน ipv4 ดังตัวอย่าง
[root@ezylinux ~]# wget --inet4-only www.ezylinux.comหรือ
[root@ezylinux ~]# wget -4 www.ezylinux.com -
ทำการ map host กับ ip ที่ไฟล์ /etc/hosts ดังตัวอย่าง
74.53.235.34 ezylinux.com -
แก้ไขค่า config ของ wget โดยแก้ไขไฟล์ /etc/wgetrc และให้เพิ่ม parameter ด้านล่างลงไป
inet4_only = on
จากนั้นลองทดสอบใช้งานดูอีกครั้งครับ :)