次の壊れたパッケージエラーを解決する方法がわかりません。 PPA(1.6-precise2)からlibminiupnpc8をインストールしており、libminiupnpc-devをインストールするときに、標準リポジトリからlibminiupnpc8(1.6-3ubuntu1)をインストールしたいと考えています。これを解決する最良の方法は何ですか?リポジトリリストに前例を設定して、Ubuntuをプライベートの前に取得できますか?
$ Sudo apt-get install libminiupnpc-dev
Reading package lists... Done
Building dependency tree
Reading state information... Done
Some packages could not be installed. This may mean that you have
requested an impossible situation or if you are using the unstable
distribution that some required packages have not yet been created
or been moved out of Incoming.
The following information may help to resolve the situation:
The following packages have unmet dependencies:
libminiupnpc-dev : Depends: libminiupnpc8 (= 1.6-3ubuntu1) but 1.6-precise2 is to be installed
E: Unable to correct problems, you have held broken packages.
最善の解決策は、必要なパッケージが公式のUbuntu リポジトリ にある場合、そのPPAを削除して必要なパッケージをインストールすることです。
libminiupnpc-dev
は、PPAではなく、メインリポジトリからインストールされます。何らかの方法でそのリポジトリを使用する場合は、 Pinning を実行する必要があります。つまり、インストール時にそのPPAに対して高い地位を獲得する必要があります。これを行うには、これを実行します:
gksudo gedit /etc/apt/preferences
次に、Geditに次の行を追加して保存します。
Package: libminiupnpc-dev
Pin: release o=Ubuntu
Pin-Priority: 100
Package: libminiupnpc-dev
Pin: release o=LP-PPA-<ppa name>
Pin-Priority: 200
** <PPA名>をそのPPA名で置き換えます(フレーズppa:なし)