[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[plamo:24665] Re: glibc の入れ替え



From: A Matsui <matsui.akira@canon.co.jp>
Subject: [plamo:24663] glibc の入れ替え
Date: Mon, 24 Jan 2005 18:39:12 +0900

> 現在の /lib/glibc-2.1.94 をglibc-2.2.5 に入れ替えたいと考えています.
> 
> 環境:
> plamo 2.2.6
> kernel 2.4.20
> gcc 2.95.3
> binutils ???(バージョンはどのように確認できるのでしょうか)
> 
> glibc-2.2.5.tar.gz を解凍/コンパイルして,glibc.so が作成できました.
> % ./configure --enable-add-ons=linuxthreads
> % make
> 
> % cp glibc.so glib-2.2.5.so
> # cp glibc-2.2.5 /lib/
> # ln -sf libc-2.2.5 libc.so.6
> 
> # (cd /usr/lib/locale ; ln -s ja_JP.eucJP ja_JP.eucjp)                      
> # localedef -i ja_JP -f EUC-JP ja_JP.eucJP 
> 
> のようにすれば,入れ替えできるのでしょうか? 以前にも似たような話題があり
> ましたが,再度確認させて頂けましたら助かります.できれば,make install 
> しないで,マニュアルで行え無いかと考えていますが,できるものなのかどうか
> も,ご教授頂けましたら幸いです.

多分,glibc-2.1.94 と glibc-2.2.5 みたいにバージョンが違っていたら,直
接 make install しても大丈夫な気はする.

make install では 

# cp glibc.so /lib/libc-2.2.5.so
# ln -sf /lib/libc-2.2.5.so /libc.so.6

みたいな処理をしてくれるので,古いバージョン(libc-2.1.94.so)と新しいバー
ジョン(libc-2.2.5.so)が衝突することなく update できたはず.

# 同じバージョンの glibc2 をオプションを変えてインストールしようとする
# とハマる,ハマる..

> 
> # 実際に試してみれば良いとは思うのですが,先程コピーの手順を誤って(# cp
>   libc.so.6 libc.so.6.sv),コマンドが効かなくなってしまいましたの
>   で...:-)

こうすると libc.so.6 が使えなくなるのでコマンドが効かなくなるですね.
基本的に libc.so.6 の更新は一番最後に atom な操作で行う必要があります.

# atom な操作 = それ以上分割できない操作,程度の意味.例えば libc.so.6 
# を更新する際に,ln -sf libc-2.2.5.so libc.so.6 とするのは atom な操
# 作だけど,行儀よく rm libc.so.6 ; ln -s libc-2.2.5.so libc.so.6 とか
# しようとすると前者の操作で共有ライブラリが無くなるので,後者の操作は
# できなくなる.

もし念を入れて確認したい,というのであれば,glibc2 の configure 時に 
--prefix=/usr を指定しないで /usr/local 以下にインストールされるように 
glibc2 をビルド,インストールしてみて,/usr/local/lib 以下でどういうシ
ンボリックリンクが貼られるかを確認した上で,それを手動で行えばいいので
はないかと.

# CD-plamo あたりで立ちあげて,元の共有ライブラリは使わないようにすれ
# ばさらに安全かな.まぁミスして起動しなくなった場合でも,CD-plamo が
# あればたいていのトラブルは解決できるはずなので,一枚は用意しておくの
# が吉 :-)

-------
こじま

Follow-Ups
[plamo:24666] Re: glibc の入れ替え, A Matsui
[plamo:24693] Re: glibc の入れ替え, A Matsui
References
[plamo:24663] glibc の入れ替え, A Matsui

[検索ページ] [メール一覧]
Plamo ML 公開システム