開発版GIMPのPPAリポジトリを追加したところ、このエラーが出ました。
$ apt-get update && apt-get upgrade
...
The following packages have been kept back:
gimp gimp-data libgegl-0.0-0 libgimp2.0
なぜなのか、どうすれば今のバージョンではなく最新のバージョンを使えるようになるのか。
debian-administration.orgの記事]1によると。
アップグレードを行うために新しいパッケージをインストールしなければならないように、あなたがインストールしたパッケージの一つで依存関係が変更されている場合、それは「キープバック」としてリストアップされます。
慎重な解決策 1:
パブロさんの回答]2にあるように、sudo apt-get --with-new-pkgs upgrade
を実行すれば、キープバックされたパッケージがインストールされます。
これには、保存されたパッケージを「手動インストール」としないという利点があります。
Pabloの解決策がうまくいった場合は、upvoteしてください。うまくいかなかった場合は、何が悪かったのかコメントしてください。
慎重な解決策 2:
慎重な解決策は、sudo apt-get install <保持されているパッケージのリスト>
を実行することです。ほとんどの場合、これでキープバックされているパッケージに、アップグレードに必要なものが与えられます。
積極的な解決策:
より積極的な解決策は、sudo apt-get dist-upgrade
を実行することで、これらの新しい依存パッケージを強制的にインストールします。
しかし、dist-upgrade
は かなり危険 です。アップグレードとは異なり複雑な依存関係の状況を解決するためにパッケージを 削除 することがあります。あなたと違って、APTはこれらの追加や削除が大混乱を引き起こす可能性があるかどうかを知るほど、常に賢いわけではありません。
そのため、「慎重な解決策」が機能しない場所にいる場合は、dist-upgrade
が *動くかもしれません...しかし、APT についてもう少し学び、依存関係の問題を「手作業」で解決して、パッケージをケースバイケースでインストールしたり削除したりする方が良いでしょう。
車を修理するようなものだと思ってください...時間があってレンチを使いこなせるなら、本を読んで自分で修理をすることで、ある程度の安心感を得られるでしょう。運がよければ、いとこの「dist-upgrade」に車を預けて、彼女が知識を持っていることを期待することもできます。
このメッセージが表示される理由は、通常2つあります。
プログラムを (sudo apt-get upgrade
で) アップグレードすると、パッケージの追加や削除が必要になる場合は、プログラムが保留されます。この場合、sudo apt-get dist-upgrade
を使えば、追加されたプログラムの追加や削除を提案してくれます。
これはごく一般的なことで、通常は問題になりません。たまに(特にUbuntuのアルファ版の時)、dist-upgrade
が他の多くのプログラムの削除を提案してくることがありますが、その場合はキャンセルした方がいいでしょう。
そのプログラムが利用できないパッケージやバージョンに依存している場合、そのプログラムは保留されます。この場合、パッケージは基本的にアンインストールできないので、待つしかありません。これは、パッケージがリポジトリに順番に追加されたとき、パッケージの名前が変更されたとき、パッケージが仮想パッケージの提供を停止したときなどに起こります。
ほとんどの場合、これらのパッケージは、そのインストールによって依存関係の不整合が生じるために保留されています。これは、アクティブな開発中のアーカイブ、ppas を使用しているか、使用しているミラーが完全には更新されていないことが原因です。
このような場合は、ただ待ってください。依存関係が解決されれば、次の機会にインストールされます。
編集:。
もう一つの可能性として、パッケージが保留されていたり、ピン留めされていたりすると、パッケージが保留されることがあります。