web-dev-qa-db-ja.com

更新中に再起動、glibcエラー:libc.so.6:バージョン 'GLIBC_2.14'が見つかりません

11.10から12.04へのアップグレード中に、xscreensaverをアンインストールする必要があると言われたため、アップグレードが停止しました。ターミナルを開こうとしましたが、システムが応答しませんでした。ハードブートを行ったので、Ubuntuの読み込み画面を通過できません。ルート画面に到達すると、次のメッセージが表示されます。

mountall: /lib/x86_64-linux-gnu/libc.so.6: version 'GLIBC_2.14' not found (required by /lib/libpllibply.so.2

この時点から何をすべきか本当に分かりません。

11
Curt

今日、この問題が発生し、数分前に解決しました。

簡潔な答え:

  • Ubuntuの12.04ライブCDをダウンロード
  • 「Try it」で起動します
  • ターミナルを開く
  • 壊れたパーティションをマウントする
  • ライブcdのlibc(バージョン15)をパーティションにコピーします
  • パーティションのlibc.so.6シンボリックリンクを修正
  • パーティションにsysfs、bind、procをマウントします
  • chroot it
  • apt-get -f install
  • apt-get dist-upgrade

以下にコマンドのリストを示します(コピー/貼り付け、何かを見逃したかどうかはわかりませんが、sda5の代わりに適切なデバイスを使用していることを確認してください。64ビットLinuxを使用しています)。

Sudo -i
cd /mnt
mkdir sda5
mount /dev/sda5 sda5
cp /lib/x86_64-linux-gnu/libc-2.15.so sda5/lib/x86_64-linux-gnu/
cd sda5/lib/x86_64-linux-gnu
rm libc.so.6
ln -s libc-2.15.so libc.so.6
cd /mnt
mount -t sysfs sys sda5/sys
mount -o bind /dev sda5/dev
mount -t proc proc sda5/proc
chroot sda5
ls # make sure ls does not complain about libc!
apt-get -f install
apt-get dist-upgrade

システムは、アップグレードするパッケージが400あることを教えてくれました。今はアップグレード中です...終了後、リブートしてすべてが正常かどうかをチェックします。

Dist-upgradeの後に別のことをする必要がある場合は、この投稿を編集します。

[EDIT]:アップグレードはうまくいきました。その後、再起動してログインできました(Xfceを使用しています)。ワイヤレスは機能していませんでしたが、単一のmodprobe brcmsmacで機能しました。現在、システム管理者を実行して古いパッケージを削除しています。

8
pzanoni

Sudo dpkg --configure -aを実行すると、アップグレードは完了しますか? Sudo apt-get install --fix-missingを使用できる場合に試す別のオプション。復旧モードに入るには...

Ubuntu wikiでこれを入手しました: https://wiki.ubuntu.com/RecoveryMode

コンピューターの電源を入れますBIOSのロードが完了するまで待ちます(おそらくコンピューターの製造元のロゴが表示されます)次のメッセージが表示されます。

GRUBローディングstage1.5

GRUBをロードしています。しばらくお待ちください...

Escキーを押してメニューに入ります。Escキーをすばやく押すと、ブートメニューが表示されます。 (Ubuntuのロゴが表示されている場合は、「(回復モード)」で終わる行(おそらく2行目)を選択します。

Ubuntu、カーネル2.6.17-10-generic(回復モード)Enterキーを押すと、マシンがブートプロセスを開始します。しばらくすると、ワークステーションにいくつかのオプションを含むメニューが表示されます。オプションの1つ(リストの一番下までスクロールする必要がある場合があります)は、「ルートシェルプロンプトにドロップ」です。

1
Brett

Cdまたはusbから起動し、ファイルシステムchrootをマウントポイントにマウントして、Sudo apt-get install -f --fix-missingを実行できます。

  1. USBから起動
  2. オープンターミナル
  3. cd /mnt
  4. Sudo mkdir /mnt/brokesystem
  5. Sudo mount /dev/*sda1* /mnt/brokesystem */dev/sda1は別の/ dev/...である可能性があることに注意してください.
  6. Sudo chroot /mnt/brokesystem
  7. Sudo apt-get install -f --fix-missing(サービスを再起動し、サービスを再起動できないというエラーが表示される場合がありますが、これは問題ありません)
  8. 更新が完了したら、再起動します(代替ブートデバイスcd/usbを削除します)
  9. 正常にロードされるはずです(最初の起動に少し時間がかかる場合があります)
0
Andrew

12.04メディアから起動して、システムのCDアップグレードを実行できるかどうかを確認します。 (まだ11.10だと思っていると仮定して)

0
Mordoc