How to fix “wget: unable to resolve host address” issue
ถ้าหากใช้งาน wget แล้วเกิดปัญหาเรื่องการ resolve host เหมือน error ด้านล่าง
“wget: unable to resolve host address domain.com“
ตัวอย่าง
1 2 3 4 5 6 |
[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 ดังตัวอย่าง
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
[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 ดังตัวอย่าง
123[root@ezylinux ~]# wget --inet4-only www.ezylinux.com
หรือ
123[root@ezylinux ~]# wget -4 www.ezylinux.com - ทำการ map host กับ ip ที่ไฟล์ /etc/hosts ดังตัวอย่าง
12374.53.235.34 ezylinux.com - แก้ไขค่า config ของ wget โดยแก้ไขไฟล์ /etc/wgetrc และให้เพิ่ม parameter ด้านล่างลงไป
123inet4_only = on
จากนั้นลองทดสอบใช้งานดูอีกครั้งครับ :)