
Ubuntu日本語フォーラム

ログインしていません。
先日Ubuntuをインストールして画面右上に表示されるオートアップデートのアイコンにしたがい
アップデートを行おうとしたのですが、
「libc6」「libc6-i686」2個のパッケージのインストールに失敗します。
ターミナルから直接
apt-get install libc6-i686
にてインストールしようとしても
A non-dpkg owned copy of the libc6-i686 package was found.
It is not safe to upgrade the C library in this situation.
please remove that copy of the C library and try again.
dpkg: /var/cache/apt/archives/libc6_2.8~20080505-0ubuntu9_i386.dev の処理中にエラーが発生しました (--unpack):
上記のようなメッセージがでてうまくインストールできません。
対策としてlibc6_2.8~20080505-0ubuntu9_i386.devなどを削除して試してみましたが
状況は改善されません。
同じように困っている方がいるか検索したところ
見つけることができなかったのでこちらに投稿させていただきました。
build-essentialなど開発環境に関係したパッケージが
「libc6」「libc6-i686」の不具合によってほとんどインストールできない状態なので
どなたか解決策を教えてください。
最後の編集者: epep (2009-03-06 14:16:22)
オフライン
Okay! Here is what worked for me.
Get the packages
libc6_2.6.1-1ubuntu10_i386.deb
libc6-i686_2.6.1-1ubuntu10_i386.deb
from a gutsy system.
Remove libc6-i686 and ubuntu-minimal:
# aptitude purge libc6-i686 ubuntu-minimal
This _will_ put out error messages. The directory /lib/tls/i606/cmov cannot be deletet, since it is not empty/the removal of the package does not delete them. This makes the next step the removal of these directories:
# rm -rf /lib/tls
Now it is possible to update libc6 and libc6-i686 by issuing:
# dpkg --install libc6_2.6.1-1ubuntu10_i386.deb
# dpkg --install libc6-i686_2.6.1-1ubuntu10_i386.deb
If you system has not crashed until now you are safe to update to gutsy. :-)
Do that with any method you like. This includes modifiying /etc/apt/sources.list and using aptitude, using do-release-upgrade or any graphical method.
SUGGESTION FOR REAL BUGFIX:
Installing a libc6-i686 should
- create /etc/ld.so.nohwcap
- run ldconfig
- remove the old library files (or the package shouldn't care about overwriting)
- install the new ones
- removal of /etc/ld.so.nohwcap
- ldconfig
I hope this will be fixed ... it took me so long to figure that out. It's a pity when a system is unable to boot after a dist-upgrade. This is nothing for the average user.
Any confirmations if this works for you would really be appreciated!!
1. ↑ 違っていたらごめんなさい。
https://bugs.launchpad.net/ubuntu/+source/glibc/+bug/136337
2.
$ sudo apt-get -f install libc6 libc6-i686
3.
$ sudo mv /lib/tls/i686/cmov/libc.so.6 /lib/tls/i686/cmov/libc.so.6.bkup
$ sudo apt-get install libc6
1は?個々のシステムによっては障害が出るかも。
2は改善された人、されなかった人あり。
3はシステムが壊れたのでバックアップで復元。
安易な情報では動かず、慎重に見極めた方が吉かも。
こちらの環境では何度か再インストールしたなかで一度も経験が有りません。
意識はしていませんがbuild-essential libc6 libc6-i686 等のパッケージは開発環境の導入時に依存関係で一緒にインストールされています。
最後の編集者: hir0 (2009-03-06 13:25:11)
オフライン
epepさん、今使用しているubuntuのバージョン以外のリポジトリを/etc/apt/sources.listに登録していませんか。
また、experimentalリポジトリや野良リポジトリを入れてませんか。
このような物が入っていると辻褄の合わないオブジェクトが入ってきます。
確認して見てください。
オフライン
のんき による投稿:
また、experimentalリポジトリや野良リポジトリを入れてませんか。
このような物が入っていると辻褄の合わないオブジェクトが入ってきます。
確認して見てください。
experimentalはそこまで変なものは入っていない...と思う。
オフライン
hir0さん
のんきさん
1.の方法を
# rm -rf /lib/tls
まで試したら正常に「libc6」「libc6-i686」のインストールが行えました。
原因はいまいちよくわかりませんでしたが
お二人とも有難うございました。
まだまだわからないことがたくさんあり
リポジトリと言われても「ん?」と思ってしまうくらいですが
なんとか検索などを活用してがんばっていきたいと思います。
オフライン