Trouble/Linux

sudo apt-get update 시 ppa repository로 인한 error 해결법

침닦는수건 2023. 1. 30. 22:19
반응형

ubuntu에서 심심치 않게 새로운 설치를 하게 될 때 사용하는 명령어가 sudo apt-get udpate 다.

웬만하면 1~3초 내에 끝나는 작업인데 가끔 요상한 에러를 보이면서 멈출 때가 있다.

대표적 원인 중 하나인 ppa 관련 에러의 해결법을 정리하고자 한다.

Err:22 http://ppa.launchpad.net/bzindovic/suitesparse-bugfix-1319687/ubuntu focal Release                                
  404  Not Found [IP: 185.125.190.52 80]
Err:21 https://apt.kitware.com/ubuntu focal InRelease    
  The following signatures couldn't be verified because the public key is not available: NO_PUBKEY 42D5A192B819C5DA
Reading package lists... Done       
E: The repository 'http://ppa.launchpad.net/bzindovic/suitesparse-bugfix-1319687/ubuntu focal Release' does not have a Release file.


에러 중 핵심이 되는 부분만 보면 위와 같은데 http://ppa.launchpad.net/bzindovic/suitesparse-bugfix-1319687/ubuntu focal Release라고 적혀있는 것을 볼 수 있다.

대충 ppa가 원인이라는 것인데, ppa는 personal package archives의 준 말로 간단히 일반 유저가 ubuntu software를 배포할 수 있도록 도와주는 아카이브 정도로 생각하면 된다.

ppa에서 repository를 PC에 등록하고 해당 repository로부터 패키지를 설치하는 순서 인데, 이 때 패키지를 설치하고 나서 따로 지워주기 전까지 등록된 repository는 자동으로 삭제되지 않는다.

이 때 더 이상 유지 보수가 안되는 repository일 경우 update 호출 시 에러가 난다. 업데이트할 게 없는데 업데이트 명령이 나오는 모양이다.

이는 해당 repository를 삭제해주는 식으로 해결을 해야 한다. 계속 사용할 여지가 있다면 update 후 다시 까는 것이 낫다.


문제가 되는 대상을 찾는 것은 쉽다. 눈치 챘겠지만 위에 볼드체로 표기한 부분이 해당 패키지이름과 같다.

sudo add-apt-repository --remove ppa:PPA_REPOSITORY_NAME/PPA


위와 같은 명령어로 지울 수 있는데 볼드체로 표기한 부분을 넣어 사용하면 된다.

위 예시의 경우, sudo add-apt-repository --remove ppa:bzindovic/suitesparse-bugfix-1319687 가 되겠다.

삭제되었는지 확인하는 방법의 경우, apt policy 명령어로 가능하다.

apt policy를 입력할 경우, 현재 PPA repository들이 나열되는데 여기서 확인할 수 있다.

너무 마이너한 것은 원래 안 보이는 것 같기도 한데 큼직큼직한 repository였다면 대충 확인할 수 있다.

반응형