HOME > webdevetc

wsl 또는 wsl 2 윈도우 하위 리눅스에서 apt update 에러 이슈

마지막 수정일 : 2022-06-07 / 생성일 : 2022-06-07
768
View Count
윈도우10에서 wsl 또는 wsl2의 리눅스를 설치하여 사용할 때 만약 apt update가 정상 동작하지 않고 에러가 발생하는 경우 해결 방법에 대하여 알아봅니다.

[ 참고 ] 우선 증상, 원인, 해결 방법으로 나누었고 동일한 이슈라고 판단된다고 아래의 방법을 참고하셔서 해결할 수 있을 것이라 기대합니다.


! apt-get update 에러 원인
윈도우10에서 리눅스(ubunut)를 설치 후 현재까지 큰 이슈없이 잘 사용해오다가 최근 apt-get update를 실행할 경우 네트워크가 정상 동작하지 않는 문제로 생각되는 에러가 발생하였습니다. 네트워크 에러라고 판단한 이유는 apt-get이 ubuntu 서버에 접근할 때 0%에서 더 이상 올라가지 않고 접속에 문제가 있는 것처럼 아무것도 나타나지 않았기 때문입니다.

이상한 부분은 처음 wsl의 ubuntu를 설치해서 사용할 경우에는 문제가 없었으나 다른 배포판의 ubuntu를 wsl 2 버전을 사용하기 위해서 추가로 설치했을 때 발생하였습니다. 즉 처음 설치한 wsl에서는 정상 동작하였다는 점이 이상했습니다.


! 에러 해결을 위한 시도
증상 확인 후 원인을 해결하기 위해서 몇 가지 방법들을 찾아봤습니다. apt-get update를 시도한 이유는 mongodb를 설치하기 위해서 였는데 처음에는 mongodb의 키 값 관련 이슈라고 생각해보았습니다. 하지만 기존 ubuntu를  지우고 다른 배포판으로 삭제하였음에도 동일한 이슈가 발견하였기에 mongodb 이슈가 아닌 apt-get 관련 네트워크 이슈인 것 같다고 좀 더 확인할 수 있었습니다.


! wsl의 apt-get update 해결
여러가지 시도가 계속 실패하고 비슷한 에러와 관련하여 해결된 글을 찾을 수 있었습니다. (아래 링크)
https://github.com/microsoft/WSL/issues/6427

참고로 위 글을 내용은 매우 긴데 ~~~ 뒤쪽에 보면 DNS 관련 에러를 해결하여 엄지를 많이 받은 댓글이 보입니다. 즉 /etc/resolv.conf의 nameserver 이슈를 수정하여 해결했다는 내용입니다.


정리하면.... !!!


1. vim /etc/resolv.conf 파일 수정
2. nameserver X.X.X.X 부분을 nameserver 1.1.1.1로 변경
3. 저장 후 실행


여기까지가 핵심 내용입니다. 동일하게 수행하였고 에러 수정과 함께 mongodb 5.0 설치까지 모두 이상없이 잘 동작하는 것을 확인하였습니다. 관련하여 비슷한 에러 발생시 해결하실 수 있을 것 같으니 참고하시기 바랍니다.


@ 셧다운 후 nameserver 변경 이슈 해결하기
위와 같이 수정 후 wsl을 재시작할 때 마다 nameserver 같이 원래대로 되돌아가는 문제가 발견되었습니다. 이를 해결하기 위해서는 아래와 같은 방법이 필요할 수 있으니 참고하세요!!
sudo rm /etc/resolv.conf
sudo bash -c 'echo "nameserver 1.1.1.1" > /etc/resolv.conf'
sudo bash -c 'echo "[network]" > /etc/wsl.conf'
sudo bash -c 'echo "generateResolvConf = false" >> /etc/wsl.conf'
sudo chattr +i /etc/resolv.conf

위와 같이 변경 후 다시 실행해보면 on/off 이 후에도 계속해서 해당 nameserver 값이 변경되어 나타나게 됩니다.

Author ByEnSSo