私はcinelerraをインストールするためにいくつかの依存関係を修正しようとしていますが、Sidに愚かにもlibvpx1:AMD64をインストールすると、壊れたパッケージが発生しました。シナプスはそれを修正できませんでした。 apt-get install -f
を試したところ、次のことがわかりました。
ZHD ~ # apt-get install -f
Reading package lists... Done
Building dependency tree
Reading state information... Done
Correcting dependencies... failed.
The following packages have unmet dependencies:
libvpx1 : Breaks: libvpx1:i386 (!= 1.3.0-2) but 1.2.0-2 is installed
libvpx1:i386 : Breaks: libvpx1 (!= 1.2.0-2) but 1.3.0-2 is installed
E: Error, pkgProblemResolver::Resolve generated breaks, this may be caused by held packages.
E: Unable to correct dependencies
Libvpx1:AMD64を削除しようとしましたが、libvpx1:i386が異なるバージョンであるため削除できないと表示されます。私はlibvpx1:i386を削除することで他の方法を試しましたが、libvpx1:AMD64が異なるバージョンであるため、できないと言います。これらのパッケージをダウングレードまたはアップグレードして、同じバージョンにしようとすることはできません。
誰かが何か提案があれば私は聞いてうれしいです!
Aptitudeにはいくつかの解決策がありますが、ソフトウェアの半分をアンインストールする必要があります。
このページで答えを見つけました:
http://www.iasptk.com/ubuntu-fix-broken-package-best-solution
試した後
Sudo dpkg --configure -a
そして
Sudo apt-get install -f
壊れたパッケージの問題はまだ存在しています。解決策は、dpkgステータスファイルを手動で編集することです。
Sudo nano /var/lib/dpkg/status
(nanoの代わりにviまたはgeditを使用できます)
破損したパッケージを見つけ、それに関する情報ブロック全体を削除してファイルを保存します。
その後、Sudo apt-get update && upgrade
を実行しました
そして、不足しているパッケージをインストールするように求めました。すべてが順調に動作し、他のリリースからパッケージを大胆にインストールしないことを学びました。
異なるアーキテクチャー(AMD64、i386)に同じライブラリーの不一致バージョンをインストールしました。これは許可されていません。
これを修正するには、Sudo apt-get install -f libvpx1:i386=1.3.0-2
またはSudo apt-get install -f libvpx1=1.2.0-2
を実行します。前者のコマンドはlibvpx1:i386をSidのバージョンにバンプアップし、後者のコマンドはlibvpx1:AMD64をi386バージョン(Wheezy?Jessie?)にバンプダウンします。
おそらく、2つの異なるバージョンのaptをインストールしましたが、そのうちの1つは互換性がなかったためです。したがって、システムのアーキテクチャバージョンを確認し、次の手順を使用して他のパッケージを削除します。dpkgファイルのステータスを手動で編集する必要があります。
$ Sudo nano/var/lib/dpkg/status
(nanoの代わりに他のエディターを使用できます(gedit、viなど))