[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[plamo:24713] Re: glibcの入れ替え
-
From:KIDO Hideyuki
-
Date:Thu, 27 Jan 2005 14:21:57 +0900 (JST)
- Subject: [plamo:24713] Re: glibcの入れ替え
- From: KIDO Hideyuki <rp9h-kd@xxxxxxxxxxxxxxx>
- Date: Thu, 27 Jan 2005 14:19:47 +0900 (JST)
きどです。
From: A Matsui <matsui.akira@canon.co.jp>
Subject: [plamo:24709] Re: glibc の入れ替え
Date: Thu, 27 Jan 2005 12:21:45 +0900
> libc-2.3.2.so,ld-2.3.2.so,libnss_files-2.3.2.so,libpthread-0.10.so を手
> 作業でインストールしてしまいましたので,ご忠告のように,CD boot してイン
> ストールを行った方が良いのでしょうか? アドバイス等,頂けましたら幸いです.
最近 plamo-4.01 の glibc-2.3.2 を 2.3.3 へ入れ替えばかりなので、その時
の手順を書きます。
まず、glibc の入れ替えでファイルが差し変わるパッケージは、glibc, libc,
libcinfo の 3 つですので、トラブルに遭遇した時にすぐに元に戻せるように、
現行の plamo のオリジナル・パッケージを用意します。
つぎに、/var/log/packages 以下の glibc, libc を元に、古いファイルを削
除するシェルスクリプトをつくります。新ファイルで上書きされずにシステム
に残ってしまうファイルだけを削除するスクリプトです。つぎのようなものです。
#!/bin/sh
rm -rf lib/libnss_files-2.3.2.so
rm -rf lib/librt-2.3.2.so
rm -rf lib/libnss_nisplus-2.3.2.so
:
:
この時の注意点。/var/log/packages/glibc と/var/log/scripts/glibc を見る
と、/lib 以下に配置されるファイル群はいったん /lib/new というディレクト
リに置かれ、doinst.sh によって /lib に移動されていることがわかります。
したがって、/var/log/packages/glibc の記述と実際のファイル配置が異なり
ますので、削除スクリプトを作る際にはそのことに留意する必要があります。
また、/usr/share/{i18n,zoneinfo,locale} 以下のファイル群は削除せずに、
新しい glibc のファイルで上書きさせるようにします。この作業は、アップデー
ト後に旧バージョンのファイルがゴミとしてシステムに残るのが嫌でなければ、
どうしても必要というわけではありません。
その後、ftp://plamo.linet.gr.jp/pub/Plamo-src/plamo/a1/glibc2 以下のビ
ルドスクリプトを使って、新しい glibc, libc, libcinfo パッケージを作り
ます。この時、ビルドスクリプトを事前によく読み、何をやっているかを完全
に理解されることをお勧めします。とくに mv-static の配置に気をつけない
とパッケージが正常に生成されません。
つぎにパッケージのテストです。適当なディレクトリを掘り、上で作ったパッ
ケージをその下に置き、* installpkg ではなく * tar コマンドで展開します。
展開後 install/doinst.sh を実行します。
$ mkdir work
$ mv glibc-2.3.2-i386-P1.tgz work/
$ cd work
$ tar zxf glibc-2.3.2-i386-P1.tgz
$ sh install/doinst.sh
installpkg コマンドがやることを手動でトレースしたわけです。こうして、
パッケージが正しく作られたかを確認します。
以上ができたら、新パッケージ群、復旧用のオリジナル・パッケージ群、旧ファ
イル削除スクリプトを / 直下に移動しておきます。
準備が整ったら、CD-Plamo や Plamo のインストール CD/FD でシステムを起動
します(KNOPPIX 等でもいいでしょう)。ぼくはインストール FD を使いまし
た。
つぎに適当なマウント・ポイントを作り、Plamo のルート・パーテーションを
そこにマウントし、その直下へ cd します。
# mkdir /new
# mount -t ext3 /dev/hdaX /new
# cd /new
いよいよ手術開始です。深呼吸をして、(必要であれば)まず、用意した削除
スクリプトを走らせます。
# sh ./remove.sh
つぎに、glib パッケージをテストの時と同じように展開します。
# tar zxf glibc-2.3.2-i386-P1.tgz
# sh install/doinst.sh
libc パッケージも同じように繰り返します。libcinfo は単なる info ファイ
ルなので、ここで展開せず後で installpkg しても構いません。
これでパッケージのインストールは終わりです。./lib や ./usr/lib 以下を見
て、テストの時と同じように正常にファイルが配置された確認します。問題が
なければ、パーテーションを umount して、神に祈りながらシステムを再起動
します。
もし起動不能などの問題が発生したら、再度 CD-Plamo などで起動して、復旧
用のオリジナル・パッケージを上と同じ手順でインストールします。
以上で完了です。 ぼくが試した Plamo 4.01 の glibc-2.3.2 から 2.3.3 への
更新は、今のところ大した副作用もなく成功したように見えますが、それ以外
の環境で同じようにうまくいく保証はありませんので、あくまで自己責任で……
ここまで書いてから思ったのですが、新しい glibc が欲しいのならいっそのこ
とシステム自体を Plamo-4.01 で再インストールしたほうが簡単だし、安全では
ないですか?
--
きど
KIDO Hideyuki <rp9h-kd@asahi-net.or.jp>
- Follow-Ups
-
- [plamo:24715] Re: glibc の入れ替え, A Matsui
- [plamo:24723] Re: glibc の入れ替え, A Matsui
- References
-
- [plamo:24693] Re: glibc の入れ替え, A Matsui
- [plamo:24700] Re: glibc の入れ替え, A Matsui
- [plamo:24709] Re: glibc の入れ替え, A Matsui
[検索ページ]
[メール一覧]
Plamo ML 公開システム