Computer >> 컴퓨터 >  >> 시스템 >> Linux

Ubuntu 기반 배포판에서 PPA를 제거하는 방법

Ubuntu 기반 배포판에서 PPA를 제거하는 방법

PPA(Personal Package Archive)는 배포판 기본 저장소에 없는 최신 소프트웨어나 프로그램을 설치할 수 있게 해주는 아주 유용한 도구입니다. 하지만 여러 가지 이유로 PPA를 제거해야 할 때가 있습니다. 제거 방법은 목적에 따라 달라지며, 일반적으로 다음 두 가지 상황 중 하나에 해당합니다.

  • PPA를 소프트웨어 소스 목록에서 제거하고, 해당 PPA로 설치한 패키지까지 완전히 삭제하고 싶은 경우
  • PPA를 소프트웨어 소스 목록에서 제거하고, 배포판이 제공하는 기본 패키지로 되돌리고 싶은 경우

먼저 첫 번째 시나리오부터 살펴보겠습니다.

PPA와 해당 패키지 함께 제거하기

우선 "add-apt-repository" 유틸리티가 설치되어 있는지 확인하세요. 대부분의 Ubuntu 기반 배포판에는 기본적으로 포함되어 있지만, 확실하게 하려면 다음 명령을 실행합니다.

sudo apt install software-properties-common

다음으로 제거하려는 PPA의 정확한 이름이 필요합니다. 이름을 잊어버렸다면 구글에서 검색하거나, 해당 PPA가 호스팅되는 Launchpad 페이지를 열어 설치 지침을 확인하면 됩니다. 그곳에서 정확한 이름(예: "ppa:libreoffice/ppa")을 찾을 수 있습니다.

Ubuntu 기반 배포판에서 PPA를 제거하는 방법

또는 웹 검색 대신 소프트웨어 소스 목록을 직접 검색하여 현재 활성화된 PPA를 확인할 수도 있습니다.

grep -r -i ppa /etc/apt/

Ubuntu 기반 배포판에서 PPA를 제거하는 방법

검색 결과에서 "https://ppa.launchpad.net"으로 시작하는 링크를 열면 필요한 정확한 PPA 이름을 확인할 수 있습니다.

아래 명령의 "NAME_OF_PPA" 부분을 앞서 찾은 실제 이름으로 바꿔 입력하세요. 예를 들어 최종 명령은 sudo add-apt-repository --remove ppa:libreoffice/ppa와 같은 형태가 됩니다.

sudo add-apt-repository --remove NAME_OF_PPA

이후 패키지 관리자 정보를 새로 고칩니다.

sudo apt update

마지막으로 다음 명령으로 패키지와 그 의존성을 제거합니다.

sudo apt autoremove NAME_OF_PACKAGE

명령을 실행한 후에는 제거될 패키지 목록을 반드시 주의 깊게 확인하세요. 목록에 필요한 패키지가 포함되어 있다면 autoremove 대신 apt의 remove 옵션을 사용하는 것이 좋습니다.

sudo apt remove NAME_OF_PACKAGE

PPA에서 설치된 모든 패키지 찾기

autoremove 옵션만으로는 해당 PPA에서 설치된 모든 패키지가 제거되지 않을 수 있습니다. 이 경우 나머지 패키지를 수동으로 찾아 제거해야 합니다.

먼저 다음 유틸리티를 설치합니다.

sudo apt install apt-forktracer

이제 시스템에 설치된 PPA 출처의 모든 패키지를 조회할 수 있습니다.

apt-forktracer | grep -i ppa | awk '{print $1}'

조회된 패키지는 sudo apt remove 또는 sudo apt autoremove로 제거할 수 있습니다. autoremove는 지정한 패키지와 관련 의존성까지 자동으로 제거하려고 시도하며, remove는 지정한 패키지만 제거합니다.

앞서 표시된 모든 패키지를 제거해도 괜찮다는 것이 확실하다면 다음과 같은 명령을 한 번에 사용할 수도 있습니다.

sudo apt remove $(apt-forktracer | grep -i ppa | awk '{print $1}')

단, 실수로 필요한 패키지를 삭제하지 않도록 어떤 항목이 제거되는지 반드시 다시 한번 확인하세요.

PPA 제거 후 배포판 기본 패키지로 되돌리기

앞선 방법과 마찬가지로 먼저 PPA의 정확한 이름을 알아야 합니다. 이름을 모른다면 위에서 소개한 방법들을 활용해 보세요.

ppa-purge 도구를 설치합니다.

sudo apt install ppa-purge

ppa-purge 스크립트를 실행하면 소프트웨어 저장소에서 PPA가 제거되고, 해당 PPA로 설치했던 패키지가 배포판의 공식 패키지로 교체됩니다. 물론 이 과정이 작동하려면 Linux 배포판 자체 저장소에 해당 패키지가 존재해야 합니다. 대부분의 경우 최신 버전의 소프트웨어가 이전 버전으로 다운그레이드된다는 점을 참고하세요.

sudo ppa-purge NAME_OF_PPA

예시 명령: sudo ppa-purge ppa:libreoffice/ppa

결론

"깨끗한" 상태의 시스템이라면 위의 명령들은 대부분 문제없이 실행됩니다. 하지만 시스템 환경에 따라 서로 호환되지 않는 패키지 간의 충돌이 발생할 수도 있습니다. 안타깝게도 이에 대한 만능 해결책은 없으며, 상황에 따라 대응 방법이 달라집니다. 대체로 특정 패키지를 제거하거나 다운그레이드·업그레이드하면 해결할 수 있습니다. 앞으로 이런 문제를 겪지 않으려면 "Don't Break Debian" 문서를 참고해 운영 체제를 깨끗한 상태로 유지하는 요령을 익혀두는 것도 좋은 방법입니다.