재귀적 wget은 결국 "호스트를 확인할 수 없음"/"이름 확인이 일시적으로 실패함"으로 인해 실패하기 시작합니다.

재귀적 wget은 결국 "호스트를 확인할 수 없음"/"이름 확인이 일시적으로 실패함"으로 인해 실패하기 시작합니다.

상당히 큰 사이트를 반복적으로 설정할 때 wget약 18MB를 다운로드한 후 호스트를 wget제대로 사용하거나 찾을 수 있음에도 불구하고 "호스트를 확인할 수 없습니다" 및/또는 "이름 확인이 일시적으로 실패했습니다"라는 불만이 표시되기 시작했습니다.hostdig

다양한 포럼의 조언에 따라 다음을 시도했습니다.

  1. hosts줄을 주석 처리하세요./etc/nsswitch.conf
  2. /etc/resolv.conf8.8.8.8잠재적으로 의심스러운 네임서버를 Google의 네임서버로 교체하고8.8.4.4
  3. 명시적으로 이름을 추가합니다./etc/hosts

--no-dns-cache명령줄에서 설정했는지 여부는 중요하지 않은 것 같습니다 wget. 동일한 일이 발생합니다.

wget결국 완성이 될지, 아니면 이 상태로 계속 유지될지는 모르겠습니다 . 꼭 필요하니까 해주면 좋을 것 같아요 --convert-links.

나는 wget1.11을 실행하고 있습니다 (1.12 이상에서는 소스에서 컴파일되었습니다.부서진--no-clobberLinux Mint 14 시스템에서의 with 동작 --convert-links(적어도 내 목적에서는).

원인은 무엇입니까? 해결 방법이 있나요?

답변1

wget불행하게도 문제가 이미 해결되었을 수 있으므로 실제 해결책은 최신 버전을 사용하는 것일 가능성이 높습니다 . 1.11은 약 5년 정도 된 버전입니다. 하나 있다1.11.4원본 1.11을 사용하고 있다면 그것도 괜찮습니다.

또는 (이것은 짜증나고 파일 설명자 사용을 유발하는 요인에 따라 작동하지 않을 수 있습니다):

  • 증가하다파일 제한wget을 실행하는 사용자의 경우.
  • 건강을 되 찾을 수 있는 방법을 찾아보세요 wget.
  • lsof또는 간단히 fd 사용량을 모니터링하십시오.ls /proc/$pid/fd
  • wget파일 에 가까워지면 ulimit다시 시작하세요 .

그렇지 않으면 파일 설명자 누출을 추적 wget하고 패치해야 합니다. 1.11로 백포트할 수 있는 알려진 파일 설명자 누출에 대한 패치가 있을 수 있습니다. 그러나 wget소스 코드의 공개 버전 관리를 찾을 수 없는 것 같습니다 .

관련 정보