카테고리 없음
wsl에서 apt-get update가 안될 때,
개발자_이훈규
2023. 10. 25. 11:14
이렇게 에러가 뜨면서 update가 안되는 경우에는
$ sudo apt-get update
Err:1 http://security.ubuntu.com/ubuntu focal-security InRelease
Temporary failure resolving 'security.ubuntu.com'
Err:2 http://archive.ubuntu.com/ubuntu focal InRelease
Temporary failure resolving 'archive.ubuntu.com'
Err:3 https://packages.microsoft.com/repos/vscode stable InRelease
Temporary failure resolving 'packages.microsoft.com'
Err:4 http://archive.ubuntu.com/ubuntu focal-updates InRelease
Temporary failure resolving 'archive.ubuntu.com'
Err:5 http://archive.ubuntu.com/ubuntu focal-backports InRelease
Temporary failure resolving 'archive.ubuntu.com'
Reading package lists... Done
W: Failed to fetch http://archive.ubuntu.com/ubuntu/dists/focal/InRelease Temporary failure resolving 'archive.ubuntu.com'
W: Failed to fetch http://archive.ubuntu.com/ubuntu/dists/focal-updates/InRelease Temporary failure resolving 'archive.ubuntu.com'
W: Failed to fetch http://archive.ubuntu.com/ubuntu/dists/focal-backports/InRelease Temporary failure resolving 'archive.ubuntu.com'
W: Failed to fetch http://security.ubuntu.com/ubuntu/dists/focal-security/InRelease Temporary failure resolving 'security.ubuntu.com'
W: Failed to fetch https://packages.microsoft.com/repos/vscode/dists/stable/InRelease Temporary failure resolving 'packages.microsoft.com'
W: Some index files failed to download. They have been ignored, or old ones used instead.
아래처럼 하면 동작합니다
$ sudo bash -c 'echo "nameserver 1.1.1.1" > /etc/resolv.conf'
ash -c 'echo "[network]" > /etc/wsl.conf'
sudo bash -c 'echo "generateResolvConf = false" >> /etc/wsl.conf'
sudo chattr +i /etc/resolv.conf
자세한 설명:
- sudo rm /etc/resolv.conf:
- sudo: 슈퍼유저 권한으로 명령어를 실행하라는 의미입니다.
- rm: 파일을 삭제하는 명령어입니다.
- /etc/resolv.conf: DNS 서버 정보가 저장된 파일입니다.
- 따라서, 이 명령어는 /etc/resolv.conf 파일을 삭제하는 명령어입니다.
- sudo bash -c 'echo "nameserver 1.1.1.1" > /etc/resolv.conf':
- bash -c: bash 쉘에서 명령어를 실행하라는 의미입니다.
- echo "nameserver 1.1.1.1": "nameserver 1.1.1.1"라는 문자열을 출력하는 명령어입니다.
- > /etc/resolv.conf: 출력된 문자열을 /etc/resolv.conf 파일에 저장하라는 의미입니다.
- 이 명령어는 "nameserver 1.1.1.1"이라는 내용을 /etc/resolv.conf 파일에 저장하는 명령어입니다.
- sudo bash -c 'echo "[network]" > /etc/wsl.conf':
- 이 명령어는 "[network]"라는 문자열을 /etc/wsl.conf 파일에 저장하는 명령어입니다.
- sudo bash -c 'echo "generateResolvConf = false" >> /etc/wsl.conf':
- >> /etc/wsl.conf: 출력된 문자열을 /etc/wsl.conf 파일에 추가하라는 의미입니다.
- 이 명령어는 "generateResolvConf = false"라는 문자열을 /etc/wsl.conf 파일에 추가하는 명령어입니다.
- sudo chattr +i /etc/resolv.conf:
- chattr: 파일의 속성을 변경하는 명령어입니다.
- +i: 파일을 변경 불가능한 상태로 만드는 옵션입니다.
- 이 명령어는 /etc/resolv.conf 파일을 변경 불가능한 상태로 만드는 명령어입니다.
- 요약하자면, 이 명령어들은 DNS 설정 파일인 /etc/resolv.conf를 수정하고, WSL(Windows Subsystem for Linux) 설정 파일인 /etc/wsl.conf에 네트워크 설정을 추가하며, 마지막으로 /etc/resolv.conf 파일을 변경 불가능한 상태로 만드는 작업을 수행하는 것입니다.