리눅스/Installation

리눅스: yum 에러 curl#35 - "Encountered end of file"

G. Hong 2021. 12. 1. 17:21
728x90
반응형

증상

리눅스에서 yum 커맨드를 실행하였을 때, 아래와 유사한 에러가 발생하게 됩니다. yum repository는 정상 동작 중이고, 다른 장비들에서는 정상적으로 서비스가 동작하고 있습니다.

ssh나 ping, curl 등의 명령어로 네트워크는 정상인 것 처럼 보이지만, yum에서만 문제가 발생합니다. 

https://<repository address>/repomd.xml: [Errno 14] curl#35 - "Encountered end of file"
Trying other mirror.

 

원인

proxy나 firewall 설정 등 다양한 원인에 의해서 발생할 수 있습니다. 

yum repository 서버와 클라이언트 서버 사이에 네트워크 장비가 있게 될 경우에 MTU의 문제로 해당 에러가 발생하기도 합니다. 

 

해결책

단순히 port가 열려있거나 ping이 된다는 걸로 문제가 없다고 볼 수 없습니다. 네트워크 장비에서 SSL Handshake 의 단계에서 특정 부분을 차단해버리는 경우도 있습니다. 

 

1. Yum cache를 삭제 후 재시도

# rm -fr /var/cache/yum/*
# yum clean all
# yum repolist

 

2. 리눅스와 네트워크 장비간의 MTU를 확인 합니다. 

no pmtu 설정을 1로 변환하여 mtu discovery를 disable 해봅니다.

sysctl -w net.ipv4.ip_no_pmtu_disc=1

 

3. Yum repository 서버와 리눅스 클라이언트 양쪽에서 tcpdump를 통한 패킷수집을 실행한 상태에서 다시 'yum repolist'를 실행한 뒤에 어떤 패킷이 네트워크 장비에서 차단하고 있는지 확인 후에 네트워크 담당자에게 확인을 요청 합니다. 예를 든다면, client 에서 client hello 신호를 보냈지만, 네트워크 장비에서 차단하여서 yum server에서는 응답을 하지 않는 문제로 이러한 이슈가 발생하는 경우도 있습니다.

# tcpdump -v Xnn port xxx and host xx.xx.xx.xx
728x90
반응형