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


11

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

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

回答:


8

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

短い答え:

  • Ubuntuの12.04ライブCDをダウンロードする
  • 「Try it」で起動します
  • ターミナルを開く
  • 壊れたパーティションをマウントする
  • ライブCDのlibc(バージョン15)をパーティションにコピーします
  • パーティションのlibc.so.6シンボリックリンクを修正します
  • sysfsをマウントし、パーティションにバインドし、proc
  • chroot それ
  • 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の後に何か他のことをする必要がある場合は、この投稿を編集します。

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


sda5をマウントしようとすると、スワップファイルであり、マウントできないという応答を受け取ります(?)

@TurboWald sda5は私のルートパーティションでした。どのパーティションがルートパーティションであるかを検出する必要があります。sda1をマウントしてから、その内容を確認してから、sda2をマウントしてその内容を確認します。ルートパーティションには、/ lib、/ usr、/ binなどのファイルが含まれている必要があります。
pzanoni12年

読み込み共有ライブラリは__vdso_time`ながら13.04へとlibc-2.17.soをコピーして、私は次のエラー`エラーを見ていシンボリックリンクを作成した後にアップグレードしようとしたときに、私は同じエラーを見ています
ShaggyInjun

1

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つ(リストの一番下までスクロールする必要がある場合があります)は「ルートシェルプロンプトにドロップ」です。


ターミナルにアクセスできず、他の画面に入力したものが何もないので、どこでそれを行いますか。
カート

それでも回復モードで起動でき、#(ルート)プロンプトが表示されますか?
ブレット

あなたがライブCDまたはubuntuのUSBを手に入れることができるなら、私はアンドリューが以下に与えた答えをお勧めします。
ブレット

0

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


System76からラップトップを購入したため、ブートCDはありません。その後、リカバリモードで起動することができましたが、dpkgオプションを実行しようとすると、「dpkgが中断されました。手動で「dpkg --configure -a」を実行して問題を修正する必要があります。
カート

@Curtを実行できdpkg --configure -aますか?
ベラク

0

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. 正常にロードされるはずです(最初の起動に少し時間がかかる場合があります)

@Vipul Gupta sda1を直接chrootすることはできません。sda1をマウントする必要があります。あなたは、ディレクトリ最高の場所を作成する必要があります。mkdir sudoのbrokesystem、その後、/ mntになり、その後、sudoのマウントは/ dev / sda1を/ mntに/ brokesystemその後、6から継続
アンドリュー
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.