CentOS 6.9 で glibc ダイナミック ライブラリをアップグレードする詳細なプロセス

CentOS 6.9 で glibc ダイナミック ライブラリをアップグレードする詳細なプロセス

glibc は、gnu によってリリースされた libc ライブラリ、つまり c ランタイム ライブラリです。glibc は Linux システムで最も低レベルの API であり、他のほとんどのランタイム ライブラリは glibc に依存します。 Linux オペレーティング システムによって提供されるシステム サービスをカプセル化するだけでなく、glibc 自体も他の多くの必要な機能サービスの実装を提供します。 ls、mv、cp、rm、ll、ln などの多くの基本的な Linux コマンドはこれに依存しています。操作を間違えたり、アップグレードに失敗したりすると、システム コマンドが使用できなくなり、深刻な場合は、システムを終了した後に再入力できなくなります。そのため、操作時には注意し、アップグレード前に重要なデータを保存する必要があります。

このメモを書く目的は、実は CentOS に Chrome ブラウザをインストールしようとしたときに、Chrome のインストールには glibc (2.14-2.16) が依存関係にあるというエラー メッセージが報告されたため、テスト マシンで glibc ダイナミック ライブラリをアップグレードすることを計画したことです。

テキストは以下から始まります:

1. まず、システムバージョンとGlibcバージョンを確認します

glibcのバージョンを確認するにはコマンドを実行します

文字列 /lib64/libc.so.6 | grep GLIBC_

結果は次のとおりです。

上記の情報から、システムは CentOS 6.9 であることがわかります。安定性のために、centos および redhat システムの glibc バージョンはまだ 2.12 ですが、現在はすでにバージョン 2.30 になっています。安全のために、バージョン 2.17 にアップグレードすることにしました。

2. ソフトウェアをダウンロードしてアップグレードする

http://ftp.gnu.org/gnu/glibc/glibc-2.17.tar.gz から取得 
tar -xvf glibc-2.17.tar.gz 
glibc-2.17/build をmkdirします
glibc-2.17/ビルドをCDに追加します 
../configure --prefix=/usr --disable-profile --enable-add-ons --with-headers=/usr/include --with-binutils=/usr/bin
メイク –j4
インストールする

例:

1. make の後の -j4 は、マルチコア CPU のコンパイル速度を上げるためのものです。4 という数字は CPU コア数の 2 倍です (設定できる最大値は CPU コア数の 2 倍です)

2. --prefix の後のパスは /usr である必要があります。別のパスに変更すると失敗する可能性があります。

インストールが完了すると、最終出力は

赤いボックス内の文は、基本的にアップグレードが成功したことを確認します。 ! ! O(∩_∩)O ハハハ〜

3. テスト

埋め込む

ldd --version

または実行する

strings /lib64/libc.so.6 | grep GLIBC_

この時点で、glibc のバージョンアップは完了です。いくつかの実験とテストを経て検証されたこのメモ (システム コマンドのほとんどが使用できず、システムを再起動しても入力できなかったときも含め、5 回ほど再コンパイルしてインストールしましたが、テストには仮想マシンを使用する必要がありました) が、皆様のお役に立てば幸いです。後ほど、glibc のアップグレード中に libc.so.6 ファイルを誤って削除または紛失したために、ほとんどのコマンドが無効になる問題の解決策を共有します。お楽しみに!

要約する

上記は、編集者が紹介した CentOS 6.9 の glibc ダイナミック ライブラリのアップグレードの詳細なプロセスです。皆様のお役に立てれば幸いです。ご質問がある場合は、メッセージを残してください。編集者がすぐに返信します。また、123WORDPRESS.COM ウェブサイトをサポートしてくださっている皆様にも感謝申し上げます。
この記事が役に立ったと思われた方は、ぜひ転載していただき、出典を明記してください。ありがとうございます!

以下もご興味があるかもしれません:
  • CentOS6.5 に glibc-2.14 をインストールした後、ロケールで「そのようなファイルまたはディレクトリはありません」というメッセージが表示される場合の解決策
  • Centos6.5 glibc アップグレードプロセスの紹介
  • CentOS6 アップグレード glibc 操作手順
  • Centos7でglibcをアップグレードするとシステム異常(起動できない)になる場合の解決方法

<<:  React 純粋関数コンポーネント setState がページ更新を更新しない問題の解決方法

>>:  Alibaba Cloud ECS クラウド サーバー (Linux システム) は、MySQL をインストールした後にリモートで接続できません (落とし穴)

推薦する

Vue.js でフォントを読み込む正しい方法

目次font-faceでフォントを正しく宣言するフォントをプリロードするフォントをホストするにはli...

CSSアニメーションとSVGを組み合わせてエネルギーの流れの効果を作成する

最終的な効果は次のようになります。アニメーションは2つのステップに分かれていますランニング軌道を開発...

VMware12 で Ubuntu19.04 デスクトップ版をインストールする (インストール チュートリアル)

1. 実験の説明仮想マシンに、 Ubuntu 19.04オペレーティングシステムを手動でインストー...

MySQLデータベースのロック機構の分析

同時アクセスの場合、非反復読み取りやその他の読み取り現象が発生する可能性があります。高い同時実行性に...

MySQL データ型の詳細

目次1. 数値型1.1 数値型の分類1.1.1 浮動小数点数1.1.2 ビットタイプ1.1.3 時間...

WeChatミニプログラム開発のためのコンポーネント設計仕様

WeChat ミニプログラム コンポーネント設計仕様コンポーネントベースの開発という考え方は、私の開...

CSSを使用して中央に固定された2つの列と適応型列を実現する方法

1. 絶対位置とマージンを使用するこの方法の原則は、左側と右側をドキュメントの流れから外れるように配...

Python ベースの MySQL レプリケーション ツールの詳細な説明

目次1. はじめに2回目の練習2.1 インストールと設定2.2 コアクラスの紹介2.3 使い方は? ...

ブラウザタブの左端に表示されるウェブサイトのアイコンを設定します

この文の目的は何ですか?コードをコピーコードは次のとおりです。 <link rel="...

Linux カーネル デバイス ドライバー カーネル時間管理に関する注意事項

/****************** * Linux カーネルの時間管理 ***********...

純粋な CSS でフォ​​ーム検証を実装するためのサンプル コード

日常業務において、フォームの検証は非常に一般的な設計要件です。ログイン ボックスや登録ボックス、アン...

react-beautiful-dnd を使用してリスト間のドラッグ アンド ドロップを実装する

目次react-beautiful-dndを選ぶ理由基本的な使い方基本概念使い方使用中に発生した問題...

デジタル時計効果を実現するJavaScript

この記事の例では、JavaScriptでデジタル時計効果を実装するための具体的なコードを参考までに共...

JSは文字列内の指定された文字列のn番目の出現位置を取得します

文字の位置を取得するための同様の方法について学習します。 charAt() 文字列内の指定された位置...

Linux の MySQL 設定の変更が有効にならない問題の解決方法

背景AWS EC2 を使用するプロジェクトサービスがあります。セキュリティとパフォーマンスを考慮して...