PPA(Personal Package Archives)는 훌륭할 수 있습니다. 배포판의 기본 리포지토리에 없는 최신 소프트웨어나 프로그램을 얻습니다. 그러나 때때로 다양한 이유로 PPA를 제거하고 싶을 것입니다. 이 작업을 수행하는 방법은 달성하려는 목표에 따라 다릅니다. 일반적으로 다음 두 시나리오 중 하나에 처하게 됩니다.
- 소프트웨어 소스 목록에서 PPA를 제거하고 설치된 패키지를 제거하려고 합니다.
- 소프트웨어 소스 목록에서 PPA를 제거하고 배포판에서 제공하는 기본 패키지로 되돌리고 싶습니다.
첫 번째 시나리오를 살펴보겠습니다.
PPA 및 패키지 제거
"add-apt-repository" 유틸리티가 설치되어 있는지 확인하십시오. 기본적으로 대부분의 Ubuntu 기반 배포판에서 사용할 수 있어야 하지만 확인을 위해 다음 명령을 실행하세요.
sudo apt install software-properties-common
다음으로 제거하려는 PPA의 정확한 이름이 필요합니다. 잊어 버린 경우 Google에 검색하고 호스팅되는 Launchpad 페이지를 열고 설치 지침을 찾을 수 있습니다. 거기에서 정확한 이름을 찾을 수 있습니다(예:"ppa:libreoffice/ppa").
또는 웹을 검색하는 대신 소프트웨어 소스 목록을 검색하여 현재 활성화된 PPA를 확인할 수 있습니다.
grep -r -i ppa /etc/apt/
다음으로 "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
이 명령을 입력한 후 제거할 패키지 목록에 주의를 기울이십시오. 해당 목록에 필요한 것이 있으면 remove
를 사용하세요. apt 옵션(autoremove
대신) ):
sudo apt remove NAME_OF_PACKAGE
PPA에서 설치된 모든 패키지 찾기
자동 제거 옵션이 해당 PPA에서 가져온 모든 패키지를 제거하지 않는 것 같으면 수동으로 제거해야 할 수 있습니다.
다음 유틸리티를 설치하십시오.
sudo apt install apt-forktracer
이제 PPA에서 가져온 시스템에 설치된 모든 패키지를 찾을 수 있습니다.
apt-forktracer | grep -i ppa | awk '{print $1}'
다음으로 sudo apt remove
로 제거할 수 있습니다. 또는 sudo apt autoremove
. autoremove
지정한 패키지와 모든 종속성을 자동으로 제거하려고 시도합니다. remove
지정한 패키지만 제거합니다.
apt-forktracer에서 이전에 표시한 모든 패키지를 제거할 수 있다고 확신하는 경우 다음과 같은 명령을 사용할 수 있습니다.
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을 읽고 운영 체제를 "깨끗한" 상태로 유지하는 방법을 알 수 있습니다.