aptitude의 다목적 버그 극복ppa-purge
일반적으로 Vadim Rutkovsky 와 Takkat 이 설명했듯이ppa-purge 기본 구문으로 실행 하는 것은 PPA에서 제공하는 모든 패키지를 제거하고 가능할 때마다 다른 구성된 소프트웨어 소스에서 제공하는 버전으로 올바르게 다운 그레이드하는 효과적인 방법입니다.
그러나 Takkat이 지적했듯이 버그 831768 은 64 비트 시스템에 설치된 32 비트 패키지와 같은 다중 아키텍처 패키지 ppa-purge를 제거하기 위해 제대로 작동하지 못하게 합니다. 이는 다중 아치 패키지 (버그의 원인)에서 충돌하는 종속성을 처리 할 수 없기 때문에 기본 동작은 패키지를 다운 그레이드하는 데 사용 하는 것입니다.aptitudeppa-purgeaptitude
다행히 ppa-purge받아 -i선호하는 데 원인이 플래그 apt-get에 aptitude자사의 백엔드로합니다. 버그 보고서에 설명 된대로, 사용하여 apt-get수동으로 호출에 효과적인 대안이다 aptitude그래서 실행 ppa-purge로 -i플래그 한다 multiarch 패키지를 포함하여 PPA에서 제공하는 모든 패키지를 다운 그레이드 / 제거를위한 효과적인 해결 될 수는 .
그것을하는 방법
구문은 다음과 같습니다.
sudo ppa-purge -i ppa:ppaowner/ppaname
평소와 같이 ( -i플래그를 사용하지 않는 경우와 동일 ) :
ppaowner PPA 소유자로 교체되었습니다.
/ppaname선택 사항입니다. 있는 경우 ppanamePPA 이름으로 바뀝니다. 그렇지 않은 경우 기본값은 ppa입니다.
예를 들어 , 불안정한 qBittorrent 빌드 용 PPA가 설치되어 있고이를 완전히 제거하고 qBittorrent를 다른 소프트웨어 소스 를apt-getaptitude 통해 사용 가능한 버전으로 자동으로 다운 그레이드하려는 경우 를 가정 합니다. 그런 다음 실행합니다.
sudo ppa-purge -i ppa:hydr0g3n/qbittorrent-unstable
문서화 된 곳
어떤 이유로에 대한 유용한 옵션 은 설명서 페이지 에 포함 ppa-purge되어 있지 않습니다 . 그러나 다음을 실행하여 (또는 인수없이) 정보를 얻을 수 있습니다 .-ippa-purge -hppa-purge
ek@Del:~$ ppa-purge -h
Usage: sudo ppa-purge [options] <ppa:ppaowner>[/ppaname]
ppa-purge will reset all packages from a PPA to the standard
versions released for your distribution.
Options:
-p [ppaname] PPA name to be disabled (default: ppa)
-s [host] Repository server (default: ppa.launchpad.net)
-d [distribution] Override the default distribution choice.
-y Pass -y --force-yes to apt-get or -y to aptitude
-i Reverse preference of apt-get upon aptitude.
-h Display this help text
Example usage commands:
sudo ppa-purge xorg-edgers
will remove https://launchpad.net/~xorg-edgers/+archive/ppa
sudo ppa-purge -p xorg-testing sarvatt
will remove https://launchpad.net/~sarvatt/+archive/xorg-testing
sudo ppa-purge ppa:ubuntu-x-swat/x-updates
will remove https://launchpad.net/~ubuntu-x-swat/+archive/x-updates
Notice: If ppa-purge fails for some reason and you wish to try again,
(For example: you left synaptic open while attempting to run it) simply
uncomment the PPA from your sources, run apt-get update and try again.
"적성에 대한 apt-get의 역 환경 설정"은 약간 비밀입니다. 살펴보면 소스 코드의 관련 부분 ( ppa-purge우리가 기본 동작이다이 방법이 선호하는 것을 볼 수 있습니다 결국, 단지 쉘 스크립트) aptitude에 apt-get, 그리고 -i플래그는이 환경 설정을 반전시킵니다.