%EB%A1%9C%20%EC%84%A4%EC%A0%95%EB%90%9C%20%EA%B2%BD%EC%9A%B0%20%60getaddrinfo()%60%20%ED%98%B8%EC%B6%9C%EC%9D%B4%20%EC%8B%A4%ED%8C%A8%ED%95%98%EB%8A%94%20%EC%9D%B4%EC%9C%A0%EB%8A%94%20%EB%AC%B4%EC%97%87%EC%9E%85%EB%8B%88%EA%B9%8C%3F.png)
컨테이너에서 실행할 때 이 오류가 표시됩니다 apt update
(유용한 정보인 경우). 적절한 뱉어 :
System error resolving 'archive.ubuntu.com:80' - getaddrinfo (16: Device or resource busy)
glibc 소스 코드를 보려고 했지만 무슨 일이 일어나고 있는지 이해할 수 없습니다.
답변1
컨테이너가 완전히 작동하지 않으며 GNU C 라이브러리의 이름 서비스 전환 기능이 컨테이너에서 작동하지 않습니다. 특히, 동적으로 로드/로드할 수 없습니다. 이 경우 return은 다음으로 설정됩니다(및 다음으로 설정됨)._nss_N_gethostbyname3_r
_nss_N_gethostbyname2_r
getaddrinfo()
errno
EBUSY
h_errno
NETDB_INTERNAL
또한 잘못된 함수의 소스 코드를 보고 있는 것입니다. 그건 getaddrinfo_a()
.
답변2
액세스 권한을 확인하세요. 내 경우에는 /etc/hosts의 모드가 0600이며 이는 루트에서 작동하지만 apt는 다운로드 시 권한을 제거합니다.
확인해야 할 다른 흥미로운 장소:
- /lib, /lib/ARCH_TRIPLE, /lib/ARCH_TRIPLE/libnss_dns.so
- /etc/resolv.conf
- /usr、/usr/bin