web-dev-qa-db-ja.com

バージョンの不一致による破損したパッケージ

私は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にはいくつかの解決策がありますが、ソフトウェアの半分をアンインストールする必要があります。

2
Zebulun

このページで答えを見つけました:

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を実行しました

そして、不足しているパッケージをインストールするように求めました。すべてが順調に動作し、他のリリースからパッケージを大胆にインストールしないことを学びました。

2
Zebulun

異なるアーキテクチャー(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?)にバンプダウンします。

3
saiarcot895

おそらく、2つの異なるバージョンのaptをインストールしましたが、そのうちの1つは互換性がなかったためです。したがって、システムのアーキテクチャバージョンを確認し、次の手順を使用して他のパッケージを削除します。dpkgファイルのステータスを手動で編集する必要があります。

  1. 次のコマンドを実行します。

$ Sudo nano/var/lib/dpkg/status

(nanoの代わりに他のエディターを使用できます(gedit、viなど))

  1. 開いたファイルで「Package:libapt-pkg」を検索します。
  2. 同じ名前の複数のセグメントが見つかった場合は、すべてを切り取り、ファイルに保存して適切なものを残します。
  3. ファイルをそこに保存し、カジュアルなaptコマンドを続行します。
  4. エラーが続く場合は、「Package:libapt-pkg」ブロックをコピーしたファイルの別のブロックと交換してください。
0
divyanshu anand