OZ1NG의 뽀나블(Pwnable)

[Tips] add-apt-repository Error: user or team does not exist. 오류 해결 본문

Tips

[Tips] add-apt-repository Error: user or team does not exist. 오류 해결

OZ1NG 2022. 12. 9. 01:56

python3.11을 Ubuntu 20.04에 설치하려고 아래의 레포를 추가하려고 하니 다음과 같은 에러가 발생했습니다.

[그림1] 에러 메시지

그래서 이 에러를 해결하기 위해 삽질한 내용을 정리해봤습니다.

 

일단 이런 문제가 발생하는 이유로는 주로 다음의 이유들이 있는 것 같았습니다.

1. repository 경로가 없거나 틀린 경우 (오타 등...)

2. 인터넷이 끊긴 경우

3. 프록시 등을 사용하여 해당 망에서 접근이 불가능한 경우

4. 방화벽에서 막히는 경우

5. 그 외

참고로 제가 정리한 방법들은 repository 경로가 없거나 틀린 경우에 효과적인 방법들입니다.

따라서 네트워크 관련된 이슈 때문에 안되는 경우 아래의 방법을 사용한다 해도 해결되지 못할 수 있으니 이 경우에는
최하단의 [참고]를 보고 해당하는 이슈에 대한 해결 방법대로 해보시길 바랍니다.

 

정리 순서는 사용하기 쉬운 것 순서입니다.

참고로 저는 3번째 방법으로 성공을 했습니다. 

 

[첫 번째 - 따옴표]

sudo add-apt-repository 'ppa:deadsnakes/ppa'

단순히 경로에 ' (따옴표)를 추가하는 것입니다.

 

[두 번째 - sudo -E 옵션 추가]

sudo -E add-apt-repository 'ppa:deadsnakes/ppa' -y

참고로 sudo의 -E (--preserve-env) 옵션은 man에 따르면 다음과 같습니다.

"사용자가 기존 환경 변수를 보존하려는 보안 정책을 나타냅니다. 사용자에게 환경을 보존할 수 있는 권한이 없는 경우 보안 정책에서 오류를 반환할 수 있습니다."

추가로 뒤의 -y 옵션은 그냥 yes/no를 묻지 않고 추가를 하라는 뜻입니다.

 

[세 번째 - repository 수동 추가]

- 가장 복잡하지만 가장 확실한 방법입니다.

1. 정확한 repository 경로를 알아냅니다.

[그림2] - 경로 확인

추가하고자하는 apt repository의 정확한 경로를 알아냅니다.

양식은 다음과 같습니다.

[양식]
http://ppa.launchpad.net/[PPA Name]/[OS Type]/

[예시]
'ppa:deadsnakes/ppa'를 추가하려는 경우
=> http://ppa.launchpad.net/deadsnakes/ppa/ubuntu/

2.  /etc/apt/source.list에 repository 경로 추가

apt는 /etc/apt/source.list에 apt repository의 경로를 저장하고 있습니다.

 

따라서 다음과 같이 추가를 해주면 됩니다.

sudo vim /etc/apt/source.list

[그림3] - /etc/apt/source.list에 apt repo 경로 추가

3.  apt update로 공개키 값 알아내기

apt repository와 통신할 때는 GPG(GNU Privacy Gourd)를 통한 암호화된 통신을 하기 때문에 전용 공개키값을 사용하여 암호화된 통신을 한다합니다.

때문에 경로를 추가하더라도 공개키가 필요한데 공개키를 추가하지 않은 상태에서 apt update를 사용하면 아래 그림4와 같이 어떤 공개키값을 써야하는지에 대한 GPG 에러가 발생하게 됩니다.

이를 통해 필요한 공개키 값을 알아낼 수 있습니다.

[그림4] - 공개키 값 알아내기

4. GPG 공개키 추가하기

이제 3번에서 알아낸 공개키를 추가해줘야합니다.

다음의 명령어로 공개키를 추가할 수 있습니다.

sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys [공개키]

[그림5] - GPG 공개키 추가

추가로 찾아보니까 WSL에서는 이 방법이 안될 수 있다하는데 그 경우에는 다음의 명령어로 시도해보시기 바랍니다.

curl -sL "http://keyserver.ubuntu.com/pks/lookup?op=get&search=0x[공개키 값]" | sudo apt-key add

(참고로 저는 WSL2 였고 첫 번째 명령어로 잘 실행이 되었습니다.)

5. apt update로 apt repository 업데이트

sudo apt update

[그림6] - apt update 성공

이제 다시 apt update 명령어를 사용해주면 위와 같이 오류 없이 해당 레포지토리 업데이트에 성공하게 됩니다.

6. 확인

마지막으로 apt search 명령어를 사용하여 제가 추가하고자하는 패키지가 검색 되는지를 확인해봄으로써 최종 확인을 할 수 있습니다.

 

[참고]

- https://askubuntu.com/questions/971877/cannot-add-ppa-user-or-team-does-not-exist

- https://www.linuxcapable.com/ko/how-to-install-python-3-10-on-ubuntu-22-04-lts/ 

https://github.com/tmatilai/vagrant-proxyconf/issues/171

- https://stackoverflow.com/questions/66597894/why-cannot-add-ppa-deadsnakes

Comments