Debianのアップグレード後にlibstdc ++が見つからないため、Aptが機能しなくなりました。

Debianのアップグレード後にlibstdc ++が見つからないため、Aptが機能しなくなりました。

Debian 6から7.11にアップグレードしようとしています(ハック)。 source.listを次のように変更しました。

deb http://ftp.debian.org/debian/ wheezy main contrib non-free

deb-src http://ftp.debian.org/debian/ wheezy main



deb http://security.debian.org/ wheezy/updates main contrib non-free

deb-src http://security.debian.org/ wheezy/updates main



deb http://ftp.debian.org/debian/ wheezy-updates main contrib non-free

deb-src http://ftp.debian.org/debian/ wheezy-updates main



deb http://ftp.debian.org/debian/ wheezy-backports main contrib non-free

まず apt-get アップデート、次に apt-get アップグレード、最後に apt-get dist-upgrade

これらすべての手順を実行した後、/etc/debian_versionファイルに7.11の値がありますが、次のエラーのためにaptで何もできません。

root@server:~# apt-get dist-upgrade

apt-get: /usr/local/lib/libstdc++.so.6: version `GLIBCXX_3.4.15' not found (required by apt-get)

apt-get: /usr/local/lib/libstdc++.so.6: version `GLIBCXX_3.4.15' not found (required by /usr/lib/x86_64-linux-gnu/libapt-pkg.so.4.12)



root@server:~# apt-get update

apt-get: /usr/local/lib/libstdc++.so.6: version `GLIBCXX_3.4.15' not found (required by apt-get)

apt-get: /usr/local/lib/libstdc++.so.6: version `GLIBCXX_3.4.15' not found (required by /usr/lib/x86_64-linux-gnu/libapt-pkg.so.4.12)

答え1

システムのコピー(サブディレクトリまたはサブディレクトリのいずれか)よりも優先されるlibstdc++.so.6コピーがあります。再操作するには、削除するか、少なくとも名前を変更する必要があります。/usr/local/lib/usr/libapt

sudo mv /usr/local/lib/libstdc++.so.6{,.old}

libstdc++.so.6また、上記の操作を実行した後、次のコマンドを実行して指すファイルの名前を変更する必要があります。

tgt=$(readlink /usr/local/lib/libstdc++.so.6.old)
sudo mv "/usr/local/lib/${tgt}"{,.old}

関連情報