実稼働サーバーの1つとその非常に古いRHEL4ホストで大失敗をしました。最近の「Shellshockの脆弱性」が原因で、誤ってbashをRHEL5リポジトリから間違ったバージョンにアップグレードしました。
エラーが発生しました-bash: error while loading shared libraries: requires glibc 2.5 or later dynamic linker
。
完全なエラー:
ssh [email protected]
-bash: error while loading shared libraries: requires glibc 2.5 or later dynamic linker
サーバーにログインできなくなりました。また、古いバージョンのカーネルでホストを再起動しようとしましたが、それでも機能しませんでした。ホストをシングルユーザーモードで再起動しようとしましたが、機能しません。私はこの問題に完全に固執しており、それは私たちにとって非常に重要です。
ありがとう、
あなたは次のことができます
コンソールオプションを使用してホストを再起動し、grubを編集してカーネル行の最後に"init=/bin/ksh"
を追加し、起動してシェルを取得します
次に、procパーティションをマウントします
mount -t proc none /proc
ルートパーティションを再マウントします。
mount -o remount,rw /
新しいrpmを削除してください
rpm -q bash
bash-Old _version
bash-new-version
rpm -e bash-new_version
古いバージョンがあることを確認してください
rpm -q bash
bash-Old _version
今すぐ再起動します
RHEL 4.xインストールメディアからシステムを起動します。これは、このために手元に置いておく必要があります。
起動メニューで、レスキューモードで起動します。
レスキューモードでは、ファイルシステムが/mnt/sysimage
にマウントされ、そこで作業を行うことができます。
この問題を修正するには、 EL4のbash
RPMを見つけます 、レスキュー環境で起動中にダウンロードし、再インストールします。例:
cd /mnt/sysimage/var/tmp
wget http://www.example.com/bash-3.0-27.0.1.el4.i386.rpm
rpm --root /mnt/sysimage -Uvh --oldpackage bash-3.0-27.0.1.el4.i386.rpm