- 締切済み
エラーで出てくる「シンボリックリンクの数が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とは何でしょうか?調べてもなかなか出てこなくて困っています。また、これはサーバー内で設定できるものなのでしょうか? 教えてください。
- みんなの回答 (2)
- 専門家の回答
みんなの回答
- Tacosan
- ベストアンサー率23% (3656/15482)
その状況でシンボリックリンクをたどっていこうとすると /usr/local/lib/libgcc_s.so.1 -> /lib/libgcc_s.so.1 -> /usr/local/lib/libgcc_s.so.1 -> ... と無限ループになりますね. でも, libgcc_s.so.1 ってかなり基本的なライブラリじゃないのかなぁ? どうしてこんなことになっちゃうんだろ? ちょっとどうすればいいかわからないです.
- Tacosan
- ベストアンサー率23% (3656/15482)
そのエラーが出るよくあるパターンは「シンボリックリンクがループしてる」というやつです. シンボリックリンクがループしてると, 「リンク先をさがしてさがして...」という処理が永久に終わりません. それはまずいので, 「リンク先をさがす」回数を制限しています. 具体的には, MAXSYMLINKS というパラメータがあって, このパラメータの値以上になったら「シンボリックリンクがループしている」と判断してリンク先をさがす処理を打ち切ります. ls で実際に「どのようにリンクしているか」を調べてみてください.
補足
ありがとうございます。 シンボリックリンクを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 となっていました。これでループしてしまっているということでしょうか?だとすると、どうやって解除したら良いでしょうか? 教えていただけると嬉しいです。
補足
ありがとうございます。 結局原因がわからずじまいでしたが,Solaris10をもう一度再インストールしたところ解消されました。本当はもっと良い直し方があるはずなのですが・・・。まだまだ力不足といったところですね。 ありがとうございました。