• 締切済み

エラーで出てくる「シンボリックリンクの数がMAXSYMLINKSを超えました」とは?

cactiでのサーバーの管理の際に、pkgrmのコマンドで必要なPKGも消してしまったようで、いろいろなコマンドが使えなくなってしまいました。いくつかは復活させて現在稼働中ですが、そのなかで疑問点が。 現在、ifconfigもしくはphp /usr/local/apache2/cacti/poller.phpのコマンドを実行すると次のエラーが出ます。 ld.so.1: ifconfig: 重大なエラー: /usr/local/lib/libdlpi.so.1: パス名チェック中に見つかったシンボリックリンクの数が MAXSYMLINKS を超えました。 強制終了 上記のエラーが出てしまいます。以前は、 ld.so.1: rrdtool: 重大なエラー: libgcc_s.so.1: open に失敗しました: ファイルもディレクトリもありません。 強制終了 のようなエラーが出ていたので、サイトを参考にやってみたところ一つ目のエラーが出てしまいました。MAXSYMLINKSとは何でしょうか?調べてもなかなか出てこなくて困っています。また、これはサーバー内で設定できるものなのでしょうか? 教えてください。

みんなの回答

  • Tacosan
  • ベストアンサー率23% (3656/15482)
回答No.2

その状況でシンボリックリンクをたどっていこうとすると /usr/local/lib/libgcc_s.so.1 -> /lib/libgcc_s.so.1 -> /usr/local/lib/libgcc_s.so.1 -> ... と無限ループになりますね. でも, libgcc_s.so.1 ってかなり基本的なライブラリじゃないのかなぁ? どうしてこんなことになっちゃうんだろ? ちょっとどうすればいいかわからないです.

cacti_love
質問者

補足

ありがとうございます。 結局原因がわからずじまいでしたが,Solaris10をもう一度再インストールしたところ解消されました。本当はもっと良い直し方があるはずなのですが・・・。まだまだ力不足といったところですね。 ありがとうございました。

  • Tacosan
  • ベストアンサー率23% (3656/15482)
回答No.1

そのエラーが出るよくあるパターンは「シンボリックリンクがループしてる」というやつです. シンボリックリンクがループしてると, 「リンク先をさがしてさがして...」という処理が永久に終わりません. それはまずいので, 「リンク先をさがす」回数を制限しています. 具体的には, MAXSYMLINKS というパラメータがあって, このパラメータの値以上になったら「シンボリックリンクがループしている」と判断してリンク先をさがす処理を打ち切ります. ls で実際に「どのようにリンクしているか」を調べてみてください.

cacti_love
質問者

補足

ありがとうございます。 シンボリックリンクをlsで調べてみました。 /usr/local/lib/libgcc_s.so.1 -> /lib/libgcc_s.so.1 となっていたので、もう片方のシンボリックリンクを調べたところ /lib/libgcc_s.so.1 -> /usr/local/lib/libgcc_s.so.1 となっていました。これでループしてしまっているということでしょうか?だとすると、どうやって解除したら良いでしょうか? 教えていただけると嬉しいです。

関連するQ&A