libcurl3-gnutls、libp11-kit0 - 依存関係エラー

libcurl3-gnutls、libp11-kit0 - 依存関係エラー

アップグレードまたはインストールを行うと、このエラーが発生します。

srikanth@42:~/projects/raff$ sudo apt-get upgrade
[sudo] password for srikanth: 
Reading package lists... Done
Building dependency tree       
Reading state information... Done
You might want to run 'apt-get -f install' to correct these.
The following packages have unmet dependencies:
 libcurl3-gnutls : Depends: libc6 (>= 2.15) but 2.13-20ubuntu5.3 is installed
               Depends: libgnutls26 (>= 2.12.6.1-0) but 2.10.5-1ubuntu3.2 is installed
               Depends: libgssapi-krb5-2 (>= 1.10+dfsg~) but 1.9.1+dfsg-1ubuntu2.3 is installed
 libp11-kit0 : Depends: libc6 (>= 2.14) but 2.13-20ubuntu5.3 is installed
E: Unmet dependencies. Try using -f.

「apt-get -f install」を実行すると

srikanth@42:~/projects/raff$ sudo apt-get -f install 
Reading package lists... Done
Building dependency tree       
Reading state information... Done
Correcting dependencies... failed.
The following packages have unmet dependencies:
 libcurl3-gnutls : Depends: libc6 (>= 2.15) but 2.13-20ubuntu5.3 is installed
               Depends: libgnutls26 (>= 2.12.6.1-0) but 2.10.5-1ubuntu3.2 is installed
               Depends: libgssapi-krb5-2 (>= 1.10+dfsg~) but 1.9.1+dfsg-1ubuntu2.3 is installed
 libp11-kit0 : Depends: libc6 (>= 2.14) but 2.13-20ubuntu5.3 is installed
E: Error, pkgProblemResolver::Resolve generated breaks, this may be caused by held packages.
E: Unable to correct dependencies

/etc/apt/sources.list を検索します

# deb cdrom:[Ubuntu 11.04 _Natty Narwhal_ - Release amd64 (20110427.1)]/ natty main restricted

# See http://help.ubuntu.com/community/UpgradeNotes for how to upgrade to
# newer versions of the distribution.
deb http://in.archive.ubuntu.com/ubuntu/ oneiric main restricted
deb-src http://in.archive.ubuntu.com/ubuntu/ oneiric main restricted

## Major bug fix updates produced after the final release of the
## distribution.
deb http://in.archive.ubuntu.com/ubuntu/ oneiric-updates main restricted
deb-src http://in.archive.ubuntu.com/ubuntu/ oneiric-updates main restricted

## N.B. software from this repository is ENTIRELY UNSUPPORTED by the Ubuntu
## team. Also, please note that software in universe WILL NOT receive any
## review or updates from the Ubuntu security team.
deb http://in.archive.ubuntu.com/ubuntu/ oneiric universe
deb-src http://in.archive.ubuntu.com/ubuntu/ oneiric universe
deb http://in.archive.ubuntu.com/ubuntu/ oneiric-updates universe
deb-src http://in.archive.ubuntu.com/ubuntu/ oneiric-updates universe

## N.B. software from this repository is ENTIRELY UNSUPPORTED by the Ubuntu 
## team, and may not be under a free licence. Please satisfy yourself as to 
## your rights to use the software. Also, please note that software in 
## multiverse WILL NOT receive any review or updates from the Ubuntu
## security team.
deb http://in.archive.ubuntu.com/ubuntu/ oneiric multiverse
deb-src http://in.archive.ubuntu.com/ubuntu/ oneiric multiverse
deb http://in.archive.ubuntu.com/ubuntu/ oneiric-updates multiverse
deb-src http://in.archive.ubuntu.com/ubuntu/ oneiric-updates multiverse

## Uncomment the following two lines to add software from the 'backports'
## repository.
## N.B. software from this repository may not have been tested as
## extensively as that contained in the main release, although it includes
## newer versions of some applications which may provide useful features.
## Also, please note that software in backports WILL NOT receive any review
## or updates from the Ubuntu security team.
# deb http://in.archive.ubuntu.com/ubuntu/ natty-backports main restricted universe multiverse
# deb-src http://in.archive.ubuntu.com/ubuntu/ natty-backports main restricted universe multiverse

deb http://security.ubuntu.com/ubuntu oneiric-security main restricted
deb-src http://security.ubuntu.com/ubuntu oneiric-security main restricted
deb http://security.ubuntu.com/ubuntu oneiric-security universe
deb-src http://security.ubuntu.com/ubuntu oneiric-security universe
deb http://security.ubuntu.com/ubuntu oneiric-security multiverse
deb-src http://security.ubuntu.com/ubuntu oneiric-security multiverse

## Uncomment the following two lines to add software from Canonical's
## 'partner' repository.
## This software is not part of Ubuntu, but is offered by Canonical and the
## respective vendors as a service to Ubuntu users.
# deb http://archive.canonical.com/ubuntu natty partner
# deb-src http://archive.canonical.com/ubuntu natty partner

## This software is not part of Ubuntu, but is offered by third-party
## developers who want to ship their latest software.
deb http://extras.ubuntu.com/ubuntu oneiric main
deb-src http://extras.ubuntu.com/ubuntu oneiric main

これをどうすれば修正できますか?

答え1

ソースによると、Ubuntu Oneiric を使用しているようです。 とlibcurl3-gnutlslibp11-kit0に依存していますがlibc6 >= 2.15、これは Ubuntu Oneiric には存在しません。つまり、これら 2 つのパッケージ (さらに他のパッケージも?) は Oneiric 用ではなく、インストールすべきではなかったということです。これらのパッケージを強制的にインストールした場合、これは本当に悪い考えです。これを行わないでください。

理論上、システムは壊れています。Ubuntu はダウングレードを適切にサポートするように設計されていません。ほとんどの場合、ダウングレードは機能しますが、常に機能するとは限りません。

これらのディストリビューション外パッケージを削除し、Ubuntu の Oneiric に存在するバージョンに復元するには、次のコマンドを使用します。

apt-get install libp11-kit0/oneiric libcurl3-gnutls/oneiric

aptitude -f installこの壊れたシステムに、ディストリビューション外のバージョンに依存する別のパッケージなど、それ以上のものが存在しない限り、それ自体で解決できるはずです。

しかし、実際には、適切な解決策は、ディストリビューションに属していないパッケージをインストールしないことです。

関連情報