web-dev-qa-db-ja.com

apt-get upgrade segfault!

Ubuntuサーバ10.04をインストールし、通常どおり起動しました。

しばらくして、サーバーを起動し、次を使用して新しいパッケージのインストール/既存のパッケージのアップグレードを試みました。

Sudo apt-get upgrade
Sudo aptitude safe-upgrade
Sudo apt-get install ntp
Reading package lists... Done
Segmentation faulty tree... 50%

システムログ/var/log/messagesを確認したところ、次のエントリが見つかりました。

kernel: [ 5586.184028] apt-get[3864]: segfault at 7fb5e078477b ip 00007fb5da82223c sp 00007fffa943b430 error 6 in libapt-pkg-libc6.10-6.so.4.8.0[7fb5da7e1000+c5000]
kernel: [ 5682.494467] aptitude[3973]: segfault at 7f06d4c4d77b ip 00007f06d063723c sp 00007fff5feb8540 error 6 in libapt-pkg-libc6.10-6.so.4.8.0[7f06d05f6000+c5000]
kernel: [ 5991.238428] apt-get[4181]: segfault at 7f809c17e77b ip 00007f809621c23c sp 00007fff740deb30 error 6 in libapt-pkg-libc6.10-6.so.4.8.0[7f80961db000+c5000]

また、ログファイルから明らかなように、aptitude safe-upgradeを使用しようとしても同じエラーが発生しました。

システムを再インストールせずにこれを修正するにはどうすればよいですか?

4
Khaled

まず、rootでこのコマンドを(ターミナルから)試します。

rm -rf /var/cache/apt/*.bin

apt-get upgradeもう一度。それでも問題が解決しない場合は、おそらくバグが見つかりました。 launchpad bug に移動して、問題を報告してください。 Ubuntuサーバーのバージョンやその他の関連情報などの詳細を含めることを忘れないでください。

ありがとう!

12
crncosta

最初に試した

rm -rf /var/cache/apt/*.bin

上記のように。

その後、何かをインストール/削除しようとしたときに、まだクラッシュが発生していました。 apt-getまたはaptitudeを使用して。

それは常にlibapt-pkg-libc6.10-6.so.4.8.0

1つのメモリモジュールが破損していることが判明しました(memtest86を使用して確認しました)。

それを修正した後、私はまだ同じセグメンテーション違反を取得していたので:

  1. apt_0.7.25.3ubuntu9.7_i386.deb in /tmp

  2. エキス

    cd /tmp
    ar xv apt_0.7.25.3ubuntu9.7_i386.deb 
    
  3. 正しいファイルを正しい場所に移動しました

    cd /tmp/usr/lib
    mv -vi libapt-pkg-libc6.10-6.so.4.8* /usr/lib/
    

今すぐ。

1
haritak