克服する aptitude
のMultiarchのバグをppa-purge
通常、Vadim RutkovskyとTakkatが説明したように、ppa-purge
デフォルトの構文で実行すると、PPAが提供するすべてのパッケージを削除し、可能な限り他の構成済みソフトウェアソースで提供されるバージョンに適切にダウングレードする効果的な方法です。
しかし、としてTakkatは、指摘しているバグ831768の防止ppa-purge
削除するために適切に動作からmultiarch(64ビットシステムにインストールされている32ビットパッケージなど)のパッケージを。これはaptitude
、multiarchパッケージで競合する依存関係を処理できないためです(これがバグの原因です)。デフォルトの動作ppa-purge
は、aptitude
パッケージのダウングレードに使用することです。
幸いなことに、ppa-purge
受け入れ-i
好むようにそれを引き起こしフラグapt-get
にaptitude
そのバックエンドとしてを。バグレポートに記載されているように、を使用することapt-get
はを手動で呼び出すことの効果的な代替手段aptitude
であるため、マルチアーキテクチャパッケージを含むPPAが提供するすべてのパッケージを削除/ダウングレードするにはppa-purge
、-i
フラグを指定して実行すると効果的です。
どうやってするの
構文は次のとおりです。
sudo ppa-purge -i ppa:ppaowner/ppaname
通常通り(-i
フラグが使用されない場合と同じ):
ppaowner
PPAの所有者に置き換えられます。
/ppaname
オプションです。存在する場合ppaname
、PPAの名前に置き換えられます。そうでない場合、デフォルトはppa
です。
例えば、私が持っていたと仮定し、不安定なためPPAはqBittorrentのビルドインストール、と私はそれを完全に削除したい、自動的にどんなバージョンにqBittorrentをダウングレードすることは私の他のソフトウェアのソースを介して提供されています使用してapt-get
舞台裏の代わりにaptitude
。次に実行します:
sudo ppa-purge -i ppa:hydr0g3n/qbittorrent-unstable
文書化されている場所
何らかの理由で、ためのいくつかの有用なオプションはppa-purge
で文書化されていないそのマニュアルページを含め、-i
。ただし、実行することでppa-purge -h
(またはppa-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.
「aptitudeでのapt-getの逆の設定」は少し不可解です。見て、ソースコードの関連部分(ppa-purge
すべての後に、ちょうどシェルスクリプトです)、私たちはこの手段既定の動作が好むあるということがわかりますaptitude
しapt-get
、そして-i
フラグはこの設定を逆にします。