Segmentation Fault で落ちるsshd。何が原因か突き止められなかったので、ソースから入れてみることに。
かなり苦戦したんだけど、なんとか動いた。んが、細かい手順は覚えていないので、適当に書く。

まずは、コンパイルできるように以下のrpmをかき集めて、rpm2cpioとcpioで展開し、リンクを張ったりしながら動くようにする。
  • binutils-2.15.92.0.2-5vl2.ppc.rpm
  • gcc-3.3.6-0vl7.ppc.rpm
  • gcc-cpp-3.3.6-0vl7.ppc.rpm
  • glibc-devel-2.3.4-2vl3.ppc.rpm
  • kernel-headers-2.4.26-0vl17.6.ppc.rpm
  • make-3.80-0vl4.ppc.rpm
  • openssl-0.9.7d-0vl3.2.ppc.rpm
  • openssl-devel-0.9.7d-0vl3.2.ppc.rpm
  • zlib-devel-1.1.4-0vl2.ppc.rpm
そして、opensshの配布サイトからopenssh-4.4p1.tar.gzを落としてきた。
後は、展開してconfigureしてmakeしてmake install。
と言いたいところだけど、configureがsortがないとか言ってエラーになる。
sortなんてどのrpmに入っているか知らないので、無視することにする。Makefileまではできたみたいだし。
んが、makeしてみるとエラー出まくり。
どうも、config.hが正しくないのではないかと思う。そこで、config.logの最後に、confdefs.hはこうですよ!なんて内容が書いてあるので、その部分をconfig.hとして保存した。
再度makeしてみると、今度はリンク時にエラーが出る。
__dn_expand他が見つからないとか言うエラーで、googleで調べたところ libresolv をリンクしてやれば良いらしい。
と、言うことでMakefileに-lresolvを追加してみたが、今度は別のシンボルが見つからないと言われてしまった。
どうも、/libにあるものと、上のrpmのどれかに入っていた/usr/libのものが違うらしいので、とりあえず/libを見てもらうことにした。
Makefileを、以下のように修正
LIBS=-lcrypto -lutil -lz -lnsl  -lcrypt /lib/libresolv.so.2
これで、コンパイルが通って、make installして試してみたら実行しても落ちなくなった。
他のマシンからログインできることも確認できたので、これでシリアルは使わなくても良くなったはず。

TeraStationでこの先やりたいことを書いておく。
  • sambaのログや設定ファイルを見直して、ドメインユーザが何故TeraStationで見えないのかを確認、対処する。
  • sambaの設定を修正して、一覧に表示されない共有を作る。
  • sambaのクライアントをインストールして、以前のNAS(Landisk)に自動バックアップできるようにする。

カテゴリ

トラックバック(0)

このブログ記事を参照しているブログ一覧: TeraStationでsshd

このブログ記事に対するトラックバックURL: https://www.wizard-limit.net/cgi-bin/mt/mt-tb.cgi/1075

コメントする

このブログ記事について

このページは、falseが2006年10月 6日 22:01に書いたブログ記事です。

ひとつ前のブログ記事は「TeraStationとkermit」です。

次のブログ記事は「TeraStationでsmbclient」です。

最近のコンテンツはインデックスページで見られます。過去に書かれたものはアーカイブのページで見られます。

広告

Powered by Movable Type 6.1.1