SSPパッチの罠に「またしても」嵌る

バックアップサーバのatacontrol周りの様子が急変したため、
昨日・今日とバックアップサーバの再インストールを行っている。
以前に書いたが、バックアップサーバには電源周りの不安もあったので
電源交換も同時に行う形になる。この電源交換がまた地味に時間が掛かる作業で、
なんだかんだで1時間近く交換に費やしてしまった。これは単に自分が不慣れだからなのか?
たまにしかハードウェア交換しないから素早く交換する手技が
身に付いていないということなのだろうか。もっと精進しなければ……。


閑話休題。交換した電源にはIDE機器用の電源コネクタが必要数揃っていなかったので、
インストールにはやむを得ずフロッピーブートからのネットワークインストールを行うことに。
まずはど忘れしてしまったフロッピーイメージとフロッピー作成用のバイナリのありかを求めて
BSDハンドブックへ。BSDはこの手の情報源が実に充実しているので非常にやりやすい。
上記を参考にfdimage.exeとboot.flp,kern1.flp,kern2.flp,kern3.flpをWindows端末にDLして
ブートフロッピー(4枚組)を作成する。

C:\> fdimage.exe boot.flp a:

上記のように作業を進める。意外に知らない人が多いが、この手のちょっとしたexeファイルは
PATHが通っている場所(今回はC:\windows\system32に入れた)に置いておくと
どこからでもファイルが実行できるので、
わざわざ絶対パスを入力する必要がないのでちょっと楽になる。


なんかもの凄く前置きが長引いている……やっとブートフロッピーが完成したところだ。
あとはこれを使ってフロッピーからインストールプログラムをブートして、MediaをFTPサイトに指定すれば
ネットワークインストールが完了する。


……で、問題はここから。インストールを終え、
シェル(私はbash派)・エディタ(emacsいいよね)・openSSH(昔からopenSSH派)をインストールした後で
いよいよ前回引っ掛かったSSPパッチを当てる作業を開始。
前回と同じ手順でSSPパッチの配布元からパッチをDLして
make installworldまで進めたところでまたしても前回とほぼ同様の問題が発生しだしてしまった。
もう流石に勘弁ならんので徹底的に調査したところ、

I made an error and I get a lot of «Undefined symbol "__guard"».

Your libc has probably been recompiled without SSP symbols. Fortunately libssp is provided so you can use
LD_PRELOAD to workaround this and get the required symbols until you get back to a stable system:

# LD_PRELOAD=/usr/lib/libssp.so

ということらしい。正直かなりの勢いで「知らんがな!そっちの手順通りやっとるわ!!」と
ツッコミを入れたいところだが、これで解決を見るというのであれば
試してみようではないかということで現在2回目の再インストール・SSPパッチ当て作業中だ。
とはいえ1回目のインストール時には部分的に不安が残るようなインストールのされ方をしたので、
(portsが部分的に入っていなかったり、opensshをインストールしたのにperl5.8.8が入らなかったり……
通常は依存性の問題でperlもインストールされるはず)
なにか奥深い部分でインストールに失敗したままSSPパッチを当てていたのかも。