glibcのアップグレード方法

このQ&Aのポイント
  • redhat9を使っている方がglibcのバージョンを上げる方法について質問しています。
  • インストールしたrpmパッケージのバージョンが正しく反映されない問題が発生しました。
  • 誰か教えていただけると助かります。
回答を見る
  • ベストアンサー

glibcのアップグレード

redhat9を使っているのですが、glibcのバージョンをあげようと思い、次のサイトを参考にrpmパッケージをインストールしました。 http://www.atmarkit.co.jp/flinux/rensai/lfs03/lfs03b.html 無事、インストールが終わったのですがバージョンが、2.3.2のままで、2.3.2-27.9.7になりませんでした。 ls -l /lib/libc-* と打ち込んでも2.3.2.soと表示されます。 何がまずかったのかわかりません。rpmパッケージをインストールしたのがまずかったのでしょうか。それとも、まだ何かすることをしていないだけなのでしょうか。 自己解決できなかったので、どなたか、ご教授願います。 よろしくお願いいたします。

質問者が選んだベストアンサー

  • ベストアンサー
  • wingstar
  • ベストアンサー率37% (102/275)
回答No.3

さすがに、私もそこまで時間とって、調査するだけの暇人じゃないし、redhat9なんてもう構成すら忘れているので、ヒントだけ。 まずは、glibcの2.3.2と2.3.3の差分と2.3.3と2.3.4の差分を見て下さい。 中にあるFAQやreadmeなどを読んで下さい。 そうすれば、そもそもredhat9の環境に入れられるものなのかがわかります。 ダメなら、何がダメなのか。別のパッケージをバージョンアップすれば済むのか。 など、順を追っていく必要があります。 glibcはOSの根幹なので、根が深いと大変な作業になりますが、成功されることを祈ってます。

その他の回答 (2)

  • wingstar
  • ベストアンサー率37% (102/275)
回答No.2

だいたいわかりました。 あとは確認方法なんですが、確認方法と期待している結果自体が間違ってませんか? ls -l /lib/libc-*と入力して、2.3.2.soと出るのは、普通のことだと思いますが… どのような結果を期待してたのでしょう? ところで、glibcのバージョンアップは、なぜやろうと思ったのですか? その目的が達成されればOKなのではないのですか? ちなみに、 # rpm -q glibc とコマンド打てば、インストールしたglibcのバージョン番号は、ちゃんと出ているんじゃないですか?

rb001980
質問者

補足

回答ありがとうございます。おっしゃるように私の勘違いだったようです。 rpm -q glibc で、2.3.2-27.9.7と表示されました。ありがとうございました。 実は、私の目的はこんなマイナーなバージョンアップではなくglibc2.3.4にあげることが当初の目標でした。tarアーカイブを集めて(glibc-2.3.4.tar glibc-linuxthreads-2.3.4.tar gcc-core-3.43 binutils-2.15.tar) http://okwave.jp/qa/q3873137.html を参照にして、作業を進めていたのですが、glibc-linuxheadが展開すると2つのディレクトリーが出てきて、そこからはわかりませんでしたので、今回仕方なく、RPMでのアップデートを考えたのです。カーネルの再構築はあらかじめお断りしなければいけなかったのですが、事情があって、できません。ですから今回のことのようになりました。もしよろしければ、glibc2.3.4にする方法を私が躓いたところをどうすればよかったのかご教授願えればありがたいです。あつかましくいろいろ書きましたが、よろしくお願いいたします。

  • wingstar
  • ベストアンサー率37% (102/275)
回答No.1

「参考に」ではなく、具体的にどのようなコマンドを入力して、どこからダウンロードしたなんていうファイル名のrpmをインストールしたのかなど、やったこと全て書いて下さい。 また、「無事、インストールが終わった」とは、何を根拠に無事に終わったと(証拠というか結果のメッセージがどうだったかなどがわからないと…)言っているのか。 今のままでは、 「ああ、RPMパッケージ入れたのね。そりゃよかった。」 で済んじゃいますし、Redhat9なんて、化石みたいな昔のOSなんて捨てろと言われるのがオチだと思います。

rb001980
質問者

補足

大変失礼いたしました。一様、やったことをすべて書きますが、rpmファイルをどこから取ってきたのかは、Googleで検索して、とってきたものですのでその点はご理解ください。MD5はすべて、http://www.atmarkit.co.jp/flinux/rensai/lfs03/lfs03b.html に記されたものと同一のものが手に入りました。 それでは、具体的に書きます。 glibc-2.3.2-27.9.7.i386・glibc-devel-2.3.2-27.9.7.i386・glibc-kernheaders-2.4-8.10.i386・glibc-profile-2.3.2-27.9.7.i386・glibc-utils-2.3.2-27.9.7.i386・nscd-2.3.2-27.9.7.i386・glibc-common-2.3.2-27.9.7.i386・glibc-debug-2.3.2-27.9.7.i386・gd-1.8.4-11.i386をダウンロードしました。gd-1.8.4-11.i386とglibc-kernheaders-2.4-8.10.i386はインストールするときに必要だというメッセージが出たので、入れましたが、確か、glibc-utils-2.3.2-27.9.7.i386をインストールするときに必要だといわれました。ちなみにすべて、 rpm -Uvh ファイル.rpm でインストールしました。順番が違うとインストールできないので順番を、1、glibc-devel2、glibc-commonとglibcを同時に3、glibc-kernelheader4、glibc-profile5、nscd6、glibc-debug7、dg-1.848、glibc-util の順でインストールしていきました。インストールが終わったと書いたのは、依存するファイルや、エラーが出なかったということです。本当にこれでインストールが終わったのかどうかは、私にはわかりません。ただ、 ls -l /lib/libc-* で、2.3.2.soと表示されたので、まだ何かしなければいけないことがあるのかもしれないのですが私にはわかりませんでした。こんな感じでよいでしょうか。 なにか手落ちがございましたらご指摘ください。よろしくお願いいたします。

関連するQ&A

  • centosのglibcのアップグレード

    CentOS 6.5にてプログラムを実行しようとしたら /lib/libc.so.6: version `GLIBC_2.15' not found という警告表示されて実行できないので、glibcのバージョンを確認したいところ yum info glibc version 2.12でした。 glibcを2.15までアップグレードするにはどうすればよろしいでしょうか。 多少のLinuxの操作は分かりますが、詳しくないため教えていただけないでしょうか。

  • rpmエラー(RedHat8)

    現在 RedHat8 kernel 2.4.20-31.9 i686 で運用しております。 あるrpmパッケージをインストールしようとすると エラー: Failed dependencies: libc.so.6(GLIBC_2.3.4) is needed by *.rpm とエラーが返されてしまいます。どうにかこのlibc.so.6(GLIBC_2.3.4)を探して いろいろ入れてみたのですが、どうにもうまくいきません。 どなたかこの解決方法を教えていただけませんか?

  • GLIBC_2.4 以上がインストールされていない環境で

    GLIBC_2.4 以上がインストールされていない環境で perlで開発中に、libcのバージョンが古いというエラーが出ております。 しかし、事情により、通常のインストールができません。 どうにかして、別サーバから取得したsoファイルなどを使って、GLIBC_2.4以上を読み込ませることはできないでしょうか。 いま、外部サーバから取得したlibc-2.5.soがあります。これをサーバ上にアップロードして、perlから使用できるようにする方法はありますか? あまり詳しくないのですが、Dynaloader などは用途が違うのでしょうか。 すみませんが、宜しくお願い致します。 エラーメッセージ(一部伏字): Can't load '~~~i386-linux-thread-multi/auto/Digest/SHA1/SHA1.so' for module Digest::SHA1: /lib/tls/libc.so.6: version `GLIBC_2.4' not found (required by ~~~~/i386-linux-thread-multi/auto/Digest/SHA1/SHA1.so) at /usr/lib/perl/5.8/DynaLoader.pm line 225. at ~~~~/Digest/HMAC_SHA1.pm line 5

  • glibcの更新

    RedHat9のエラータ最新のglibc(RHBA-2003-136J)を 更新しようとしたのですが、下記のメッセージが出ます。 libgd.so.1.8とlibpng12.so.0が必要なのは分かるのですが、これってRPMのファイル名じゃないですよね? 対処方法をご存知の方がいましたら教えてください。 # rpm -Uvh *.rpm エラー: Failed dependencies: libgd.so.1.8 is needed by glibc-utils-2.3.2-27.9 libpng12.so.0 is needed by glibc-utils-2.3.2-27.9

  • 特定のディレクトリでコマンドが実行出来ない。

    特定のディレクトリでコマンドが実行出来ない。 OSはRed Hat Enterprise Linux Server release 5.4です。 rootユーザで特定のディレクトリでlsコマンドを実行すると エラーが発生します。 カレントディレクトリが該当のディレクトリでない場合には 問題ありません。 また、そのディレクトリではwhoやdfコマンド等でも エラーとなってしまいます。 このような現象は、どのような原因が考えられるでしょうか? 以下は、全てrootユーザでの実行結果です。 # pwd /opt/oracle/app/product/11.2.0/dbhome_1/lib # ll stubs 合計 6404 -rwxr-xr-x 1 oracle oinstall 12121 2月 3 2009 ld-linux-2.3.4-stub.so -rwxr-xr-x 1 oracle oinstall 12121 2月 3 2009 ld-linux-x86-64.so.2 -rwxr-xr-x 1 oracle oinstall 4911 2月 3 2009 libBrokenLocale-2.3.4-stub.so -rwxr-xr-x 1 oracle oinstall 4911 2月 3 2009 libBrokenLocale.so -rwxr-xr-x 1 oracle oinstall 4911 2月 3 2009 libBrokenLocale.so.1  ・  ・  ・ # cd stubs # pwd /opt/oracle/app/product/11.2.0/dbhome_1/lib/stubs # ls ls: libc.so.6: version `GLIBC_2.4' not found (required by ls) ls: libc.so.6: version `GLIBC_2.4' not found (required by /lib64/libacl.so.1) ls: libc.so.6: version `GLIBC_2.4' not found (required by /lib64/libselinux.so.1) ls: libc.so.6: version `GLIBC_2.4' not found (required by /lib64/libattr.so.1) ls: libc.so.6: version `GLIBC_2.4' not found (required by /lib64/libsepol.so.1) # who who: libc.so.6: version `GLIBC_2.4' not found (required by who) # df df: libc.so.6: version `GLIBC_2.4' not found (required by df) 宜しくお願いいたします。

  • rpmファイルがインストールできずエラーを起こします。

    あるrpmファイルをインストールしようとしたところ、下記のようにエラーが表示されました。 環境:Red Hat Linux 9 ターミナルにて****.rpmファイルをインストール実行 -------------------------------------------------- # rpm -ivh ****.rpm エラー:Failed dependencies: libc.so.6(GLIBC_2.3.4) is needed by **** libc.so.6(GLIBC_2.4) is needed by **** libstdc++.so.6 is needed by **** libstdc++.so.6(CXXABI_1.3) is needed by **** libstdc++.so.6(GLIBCXX_3.4) is needed by **** -------------------------------------------------- libc.so.6(GLIBC_2.3.4),libc.so.6(GLIBC_2.4)などのファイルがないためインストールできないといってるようですが、初心者のためわかりません。対処法に詳しい方いらっしゃいましたらご回答よろしくお願いいたします。

  • Linuxのパッケージインストール

    CentOSにおいて、以下のパッケージをrpmコマンドを使用してインストールしようとしてますが、依存性の欠如でインストールすることができません。 依存性が欠如しているパッケージ名は表示されるのですが、その名前のパッケージ名はCentOSのisoファイルの中には見受けられません。 どのようにしてインストールすべきかご教授下さい。 ■環境  CentOS release 6.4 (Final)  64bitOS   ■インストールしたいパッケージ  compat-libstdc++-33-3.2.3-69.el6.i686.rpm  glibc-2.12-1.107.el6.i686.rpm  libstdc++-4.4.7-3.el6.i686.rpm  libstdc++-devel-4.4.7-3.el6.i686.rpm   ■目的  Oracle Database 12c Release 1 (12.1.0.1) 導入/検証のため  http://www.oracle.com/technetwork/jp/database/enterprise-edition/documentation/db121linux-x64-ja-v10-1984264-ja.pdf     ■インストールされていないパッケージをインストールした際に表示されるメッセージ  # rpm -ivh compat-libstdc++-33-3.2.3-69.el6.i686.rpm 警告: compat-libstdc++-33-3.2.3-69.el6.i686.rpm: ヘッダ V3 RSA/SHA256 Signature, key ID c105b9de: NOKEY エラー: 依存性の欠如: libc.so.6 は compat-libstdc++-33-3.2.3-69.el6.i686 に必要とされています libc.so.6(GLIBC_2.0) は compat-libstdc++-33-3.2.3-69.el6.i686 に必要とされています libc.so.6(GLIBC_2.1) は compat-libstdc++-33-3.2.3-69.el6.i686 に必要とされています libc.so.6(GLIBC_2.1.3) は compat-libstdc++-33-3.2.3-69.el6.i686 に必要とされています libc.so.6(GLIBC_2.2) は compat-libstdc++-33-3.2.3-69.el6.i686 に必要とされています libc.so.6(GLIBC_2.3) は compat-libstdc++-33-3.2.3-69.el6.i686 に必要とされています libm.so.6 は compat-libstdc++-33-3.2.3-69.el6.i686 に必要とされています # # rpm -ivh glibc-2.12-1.107.el6.i686.rpm 警告: glibc-2.12-1.107.el6.i686.rpm: ヘッダ V3 RSA/SHA1 Signature, key ID c105b9de: NOKEY エラー: 依存性の欠如: libfreebl3.so は glibc-2.12-1.107.el6.i686 に必要とされています libfreebl3.so(NSSRAWHASH_3.12.3) は glibc-2.12-1.107.el6.i686 に必要とされています # # rpm -ivh libstdc++-4.4.7-3.el6.i686.rpm 警告: libstdc++-4.4.7-3.el6.i686.rpm: ヘッダ V3 RSA/SHA1 Signature, key ID c105b9de: NOKEY エラー: 依存性の欠如: ld-linux.so.2 は libstdc++-4.4.7-3.el6.i686 に必要とされています ld-linux.so.2(GLIBC_2.3) は libstdc++-4.4.7-3.el6.i686 に必要とされています libc.so.6 は libstdc++-4.4.7-3.el6.i686 に必要とされています libc.so.6(GLIBC_2.0) は libstdc++-4.4.7-3.el6.i686 に必要とされています libc.so.6(GLIBC_2.1) は libstdc++-4.4.7-3.el6.i686 に必要とされています libc.so.6(GLIBC_2.1.3) は libstdc++-4.4.7-3.el6.i686 に必要とされています libc.so.6(GLIBC_2.2) は libstdc++-4.4.7-3.el6.i686 に必要とされています libc.so.6(GLIBC_2.3) は libstdc++-4.4.7-3.el6.i686 に必要とされています libc.so.6(GLIBC_2.3.2) は libstdc++-4.4.7-3.el6.i686 に必要とされています libc.so.6(GLIBC_2.4) は libstdc++-4.4.7-3.el6.i686 に必要とされています libm.so.6 は libstdc++-4.4.7-3.el6.i686 に必要とされています libm.so.6(GLIBC_2.0) は libstdc++-4.4.7-3.el6.i686 に必要とされています # # rpm -ivh libstdc++-devel-4.4.7-3.el6.i686.rpm 警告: libstdc++-devel-4.4.7-3.el6.i686.rpm: ヘッダ V3 RSA/SHA1 Signature, key ID c105b9de: NOKEY エラー: 依存性の欠如: libstdc++(x86-32) = 4.4.7-3.el6 は libstdc++-devel-4.4.7-3.el6.i686 に必要とされています libstdc++.so.6 は libstdc++-devel-4.4.7-3.el6.i686 に必要とされています #

  • TurboLinux10にVGAボードドライバを組み込む

    TurboLinux10DesktopでMatrox社製のVGAボードを認識させたいです。 (VGAボード:http://www.jmgs.jp/products/corporate/product/epica/index.htm) Linux用のドライバのリリースノートには、  以下のパッケージをインストールしなければならない。   - GCC compiler version 3.2 or later (up to 4.0).   - Glibc 2.3.2 or later.   - Binutils 2.13 or later.   - Make 3.77 or later. とありました。 TurboLinux10に入っているパッケージのバージョンの見方がわからないのですが、 検索して見つけた下記URLには、 http://ascii24.com/news/i/soft/article/2003/10/03/646230-000.html  TurboLinux10Dの主要コンポーネントは、   Kernel 2.6.0、glibc 2.3.2、XFree86 4.3.0、rpm 4.2、gcc 3.3.1、KDE3.1.3、GNOME 2.4 と書かれており、 GCCとGlibcは条件を満たしていると認識したのですが、問題ないでしょうか。 残る必要なパッケージ「Binutils 2.13」と「Make 3.77」は、 TurboLinuxのFTPサーバー ftp://ftp.nuie.nagoya-u.ac.jp/pub/Linux/TurboLinux/TurboLinux/ia32/Desktop/10/install/turbo/RPMS/ から、 binutils-2.14.90.0.4-3.i586.rpm make-3.80-1.i586.rpm を見つけたのでダウンロードしました。 これを、rpm -i binutils-2.14.90.0.4-3.i586.rpmでインストールしたのですが、 下記のエラーメッセージが出て失敗しました。 「libc.so.6(GLIBC_2.0)」が必要だ、とのことですが、 これはどこから探してくればよいのでしょうか。 検索するとかなりの件数ヒットするのですが、 入ってみると違うパッケージ名に見えるのでどれを使えばよいのか判断がつきません。 (例えばココ:http://rpmfind.net/linux/rpm2html/search.php?query=libc.so.6(GLIBC_2.3)) 「libc.so.6.rpm」というファイルではないのでしょうか。 なお、GUI(KED)上のメニューにある「Turboアップデート」でパッケージをインストールしようともしたのですが、 巧くいきませんでした。 読込先に今回ダウンロードしてきたrpmパッケージを置いたディレクトリを指定し、 「スキャンする」を実行したのですが、以降ずっとマウスポインタが時計マークになったままでした。 ▼rpmインストール時に出たメッセージ--------------------------------------------------- rpmdb: read: 0x404b9c08, 4096: 入力/出力エラーで エラー: db4 error(5) from dbcursor->c_get: 入力/出力エラーで エラー: error(5) getting "libc.so.6(GLIBC_2.0)" records from Providename index rpmdb: read: 0x404bbd18, 4096: 入力/出力エラーで エラー: db4 error(5) from dbcursor->c_get: 入力/出力エラーで エラー: error(5) getting "libc.so.6(GLIBC_2.1.3)" records from Providename index rpmdb: read: 0x404bde28, 4096: 入力/出力エラーで エラー: db4 error(5) from dbcursor->c_get: 入力/出力エラーで エラー: error(5) getting "libc.so.6(GLIBC_2.3)" records from Providename index rpmdb: read: 0x404bff38, 4096: 入力/出力エラーで エラー: db4 error(5) from dbcursor->c_get: 入力/出力エラーで エラー: error(5) getting "libdl.so.2(GLIBC_2.0)" records from Providename index rpmdb: read: 0x404bff38, 4096: 入力/出力エラーで エラー: db4 error(5) from dbcursor->c_get: 入力/出力エラーで エラー: error(5) getting "libdl.so.2(GLIBC_2.1)" records from Providename index エラー: Failed dependencies: libc.so.6(GLIBC_2.0) is needed by binutils-2.14.90.0.4-3 libc.so.6(GLIBC_2.1.3) is needed by binutils-2.14.90.0.4-3 libc.so.6(GLIBC_2.3) is needed by binutils-2.14.90.0.4-3 libdl.so.2(GLIBC_2.0) is needed by binutils-2.14.90.0.4-3 libdl.so.2(GLIBC_2.1) is needed by binutils-2.14.90.0.4-3 ▲ここまで---------------------------------------------------------------------------- ▼以前指南頂いたスレ http://oshiete1.goo.ne.jp/qa3578303.html

  • RHEL6.1 パッケジ追加時のエラー

    RHEL6.1をインストしております。追加でcompat-libstdc++-33-3.2.3-69.el6.i686をrpm -ivhを使用して追加使用とするとエラーメッセージが出て追加できません。 エラーメッセージは下記のような感じです。 下記のパッケージを先に入れておかないといけないみたいなのですが、下記のパッケージの入手方法及びインスト方法を分かりやすくご説明願いませんでしょうか? rpm程度しか使用したことが無く、その他がよくわかりません。 よろしくお願い致します。 libc.so.6 is needed by XXXX-gcc_XXXX.i686 libc.so.6(GLIBC_2.0) is needed by XXXX-gcc_XXXX.i686 libc.so.6(GLIBC_2.1) is needed by XXXX-gcc_XXXX.i686 libc.so.6(GLIBC_2.1.3) is needed by XXXX-gcc_XXXX.i686 libc.so.6(GLIBC_2.2) is needed by XXXX-gcc_XXXX.i686 libc.so.6(GLIBC_2.2.3) is needed by XXXX-gcc_XXXX.i686 libc.so.6(GLIBC_2.3) is needed by XXXX-gcc_XXXX.i686

  • gccのインストール

    RedHatLinux5.2です。 gccをインストールしようとして gcc-4.4.1.2-9.i386.rpmをダウンロードしました。rpm -Uvhすると、 依存性の欠如として binutils >= 2:2.16.90.0.1-0.3 libc.so.6(GLIBC_2.3) libgcc4 = 5:4.1.2-9 rpnlib(PartialHardlinkSets) <= 4.0.4-1 が必要とされているとでます。 (1)binutilsの入手方法を教えてください。 (2)GLIBCのインストールにgccが必要だと言われたのでgccを入れているのですが、gccのインストールにGLIBCが必要だと言われています。どうしたらよいのでしょうか? Linux初心者です。よろしくお願いします。