• ベストアンサー
  • すぐに回答を!

特定のディレクトリでコマンドが実行出来ない。

特定のディレクトリでコマンドが実行出来ない。 OSはRed Hat Enterprise Linux Server release 5.4です。 rootユーザで特定のディレクトリでlsコマンドを実行すると エラーが発生します。 カレントディレクトリが該当のディレクトリでない場合には 問題ありません。 また、そのディレクトリではwhoやdfコマンド等でも エラーとなってしまいます。 このような現象は、どのような原因が考えられるでしょうか? 以下は、全てrootユーザでの実行結果です。 # pwd /opt/oracle/app/product/11.2.0/dbhome_1/lib # ll stubs 合計 6404 -rwxr-xr-x 1 oracle oinstall 12121 2月 3 2009 ld-linux-2.3.4-stub.so -rwxr-xr-x 1 oracle oinstall 12121 2月 3 2009 ld-linux-x86-64.so.2 -rwxr-xr-x 1 oracle oinstall 4911 2月 3 2009 libBrokenLocale-2.3.4-stub.so -rwxr-xr-x 1 oracle oinstall 4911 2月 3 2009 libBrokenLocale.so -rwxr-xr-x 1 oracle oinstall 4911 2月 3 2009 libBrokenLocale.so.1  ・  ・  ・ # cd stubs # pwd /opt/oracle/app/product/11.2.0/dbhome_1/lib/stubs # ls ls: libc.so.6: version `GLIBC_2.4' not found (required by ls) ls: libc.so.6: version `GLIBC_2.4' not found (required by /lib64/libacl.so.1) ls: libc.so.6: version `GLIBC_2.4' not found (required by /lib64/libselinux.so.1) ls: libc.so.6: version `GLIBC_2.4' not found (required by /lib64/libattr.so.1) ls: libc.so.6: version `GLIBC_2.4' not found (required by /lib64/libsepol.so.1) # who who: libc.so.6: version `GLIBC_2.4' not found (required by who) # df df: libc.so.6: version `GLIBC_2.4' not found (required by df) 宜しくお願いいたします。

共感・応援の気持ちを伝えよう!

  • 回答数2
  • 閲覧数2565
  • ありがとう数15

質問者が選んだベストアンサー

  • ベストアンサー
  • 回答No.2
  • kmee
  • ベストアンサー率55% (1857/3366)

> ;s: libc.so.6: version `GLIBC_2.4' not found (required by ls) というエラーから、 共有ライブラリの問題だと思われます。 .so(あるいは、その前後に数字等が付いたもの)というのは、共有ライブラリと言って、WindowsのDLLのようなものです。 コマンドを実行するとき等に、必要な共有ライブラリを読み込みます。 DLLがそうであるように、共有ライブラリも適切なものが読み込まれないと、コマンドは正常に動作しません、 共有ファイルのある場所は 「環境変数LD_LIBRARY_PATHで指定されているディレクトリ」 →「デフォルトのディレクトリ」 の順で探されます。 LD_LIBRARY_PATHの書式は環境変数PATHと同じで、:で区切られたパスです。 このLD_LIBRARY_PATHの中に「.」(カレントディレクトリ)が含まれていると、当然、カレントディレクトリから見付けようとします。 今回のはおそらく ・LD_LIBRARY_PATH に . が含まれている ・/opt/oracle/app/product/11.2.0/dbhome_1/lib/stubsにlsやwho等で必要としている共有ライブラリと同じ名前のファイルが存在している(かつ、コマンドが使用している共有ライブラリと合致しない) という状態だと思われます。 確認のため、echo $LD_LIBRARY_PATH として、中身を確認してください。 (場合によっては、LD_LIBRARY_PATH_64 の方かもしれません) もし、.を含むようなら、.profileや.bashrc等で設定しているでしょうから、. をはずしてください。

共感・感謝の気持ちを伝えよう!

質問者からのお礼

kmee様 ご回答ありがとうございました。 正にご教示いただいたとおりで、rootユーザの.bash_profileが変更されており LD_LIBRARY_PATH の設定がされていました。 こちらの設定を元に戻したところ無事解決いたしました。 どうもありがとうございました。

関連するQ&A

  • centosのglibcのアップグレード

    CentOS 6.5にてプログラムを実行しようとしたら /lib/libc.so.6: version `GLIBC_2.15' not found という警告表示されて実行できないので、glibcのバージョンを確認したいところ yum info glibc version 2.12でした。 glibcを2.15までアップグレードするにはどうすればよろしいでしょうか。 多少のLinuxの操作は分かりますが、詳しくないため教えていただけないでしょうか。

  • Netscapeのアップデートができない

    Linux初心者です。TurboLinux6.0 Workstationを使用し ているのですが、ブラウザのバージョンアップをしよう とNetscape7.1をダウンロードし、インストーラーを走 らせたのですが下記のエラーが出ました。 /lib/libc.so.6:version'GLIBC.2.2.4' not found (requ ired by ./netscape-installer-bin GLIBCのバージョンが関係あるのでしょうか。 また、GLIBCとはなんでしょうか。 初歩的な質問で申し訳ないのですがよろしくお願いいたします。

  • GLIBC_2.4 以上がインストールされていない環境で

    GLIBC_2.4 以上がインストールされていない環境で perlで開発中に、libcのバージョンが古いというエラーが出ております。 しかし、事情により、通常のインストールができません。 どうにかして、別サーバから取得したsoファイルなどを使って、GLIBC_2.4以上を読み込ませることはできないでしょうか。 いま、外部サーバから取得したlibc-2.5.soがあります。これをサーバ上にアップロードして、perlから使用できるようにする方法はありますか? あまり詳しくないのですが、Dynaloader などは用途が違うのでしょうか。 すみませんが、宜しくお願い致します。 エラーメッセージ(一部伏字): Can't load '~~~i386-linux-thread-multi/auto/Digest/SHA1/SHA1.so' for module Digest::SHA1: /lib/tls/libc.so.6: version `GLIBC_2.4' not found (required by ~~~~/i386-linux-thread-multi/auto/Digest/SHA1/SHA1.so) at /usr/lib/perl/5.8/DynaLoader.pm line 225. at ~~~~/Digest/HMAC_SHA1.pm line 5

その他の回答 (1)

  • 回答No.1

selinuxの設定が影響してるのでは? 一度、selinuxを無効にして試して下さい。 @確か、再起動が必要です。 出なければ、hddの故障かも。

共感・感謝の気持ちを伝えよう!

質問者からのお礼

seednyan様 早速のご回答ありがとうございます。 selinuxは元々無効にしてあります。 hddの調査を行ってみます。

質問者からの補足

badblocks コマンドでhddの全デバイスをチェックしましたが エラーは発見されませんでした。 引き続き何か情報がございましたら宜しくお願いいたします。

関連するQ&A

  • runInstallerを実行するとエラーになる(RedHat)

    RedHat ES 4.5 でOracle9.2.0.4をインストールしようとしています。 (インストールしたいのはClientの機能だけです) runInstallerを実行すると、以下のメッセージが出力されます。 ↓↓↓ [oracle@web1 Disk1]$ Initializing Java Virtual Machine from /tmp/OraInstall2008-10-21_10-01-39AM/jre/bin/java. Please wait... Error occurred during initialization of VM Unable to load native library: /tmp/OraInstall2008-10-21_10-01-39AM/jre/lib/i386/libjava.so: symbol __libc_wait, version GLIBC_2.0 not defined in file libc.so.6 with link time reference ↑↑↑ GLIBC_2.0がないと言っていますが、具体的な対処方法を 教えてもらえますととても助かります。 linuxの知識が浅くすみません、お願いします。

  • あるCのソースをコンパイルしたのですが、なぜか実行時にエラーになってし

    あるCのソースをコンパイルしたのですが、なぜか実行時にエラーになってしまいます。 (Command not found. と表示されてしまいます。) 初心者です。 さくらインターネット上で makeコマンドで生成したファイルが ls -l で -rwxr-xr-x 1 xxxxxxxxx users 8730 May 6 14:08 screw と表示されるのですが カレントをそのまま(Cソースがあるフォルダ)で screw と実行すると screw: Command not found. と表示されてしまいます。 何が悪いのでしょうか?

  • Linuxのパッケージインストール

    CentOSにおいて、以下のパッケージをrpmコマンドを使用してインストールしようとしてますが、依存性の欠如でインストールすることができません。 依存性が欠如しているパッケージ名は表示されるのですが、その名前のパッケージ名はCentOSのisoファイルの中には見受けられません。 どのようにしてインストールすべきかご教授下さい。 ■環境  CentOS release 6.4 (Final)  64bitOS   ■インストールしたいパッケージ  compat-libstdc++-33-3.2.3-69.el6.i686.rpm  glibc-2.12-1.107.el6.i686.rpm  libstdc++-4.4.7-3.el6.i686.rpm  libstdc++-devel-4.4.7-3.el6.i686.rpm   ■目的  Oracle Database 12c Release 1 (12.1.0.1) 導入/検証のため  http://www.oracle.com/technetwork/jp/database/enterprise-edition/documentation/db121linux-x64-ja-v10-1984264-ja.pdf     ■インストールされていないパッケージをインストールした際に表示されるメッセージ  # rpm -ivh compat-libstdc++-33-3.2.3-69.el6.i686.rpm 警告: compat-libstdc++-33-3.2.3-69.el6.i686.rpm: ヘッダ V3 RSA/SHA256 Signature, key ID c105b9de: NOKEY エラー: 依存性の欠如: libc.so.6 は compat-libstdc++-33-3.2.3-69.el6.i686 に必要とされています libc.so.6(GLIBC_2.0) は compat-libstdc++-33-3.2.3-69.el6.i686 に必要とされています libc.so.6(GLIBC_2.1) は compat-libstdc++-33-3.2.3-69.el6.i686 に必要とされています libc.so.6(GLIBC_2.1.3) は compat-libstdc++-33-3.2.3-69.el6.i686 に必要とされています libc.so.6(GLIBC_2.2) は compat-libstdc++-33-3.2.3-69.el6.i686 に必要とされています libc.so.6(GLIBC_2.3) は compat-libstdc++-33-3.2.3-69.el6.i686 に必要とされています libm.so.6 は compat-libstdc++-33-3.2.3-69.el6.i686 に必要とされています # # rpm -ivh glibc-2.12-1.107.el6.i686.rpm 警告: glibc-2.12-1.107.el6.i686.rpm: ヘッダ V3 RSA/SHA1 Signature, key ID c105b9de: NOKEY エラー: 依存性の欠如: libfreebl3.so は glibc-2.12-1.107.el6.i686 に必要とされています libfreebl3.so(NSSRAWHASH_3.12.3) は glibc-2.12-1.107.el6.i686 に必要とされています # # rpm -ivh libstdc++-4.4.7-3.el6.i686.rpm 警告: libstdc++-4.4.7-3.el6.i686.rpm: ヘッダ V3 RSA/SHA1 Signature, key ID c105b9de: NOKEY エラー: 依存性の欠如: ld-linux.so.2 は libstdc++-4.4.7-3.el6.i686 に必要とされています ld-linux.so.2(GLIBC_2.3) は libstdc++-4.4.7-3.el6.i686 に必要とされています libc.so.6 は libstdc++-4.4.7-3.el6.i686 に必要とされています libc.so.6(GLIBC_2.0) は libstdc++-4.4.7-3.el6.i686 に必要とされています libc.so.6(GLIBC_2.1) は libstdc++-4.4.7-3.el6.i686 に必要とされています libc.so.6(GLIBC_2.1.3) は libstdc++-4.4.7-3.el6.i686 に必要とされています libc.so.6(GLIBC_2.2) は libstdc++-4.4.7-3.el6.i686 に必要とされています libc.so.6(GLIBC_2.3) は libstdc++-4.4.7-3.el6.i686 に必要とされています libc.so.6(GLIBC_2.3.2) は libstdc++-4.4.7-3.el6.i686 に必要とされています libc.so.6(GLIBC_2.4) は libstdc++-4.4.7-3.el6.i686 に必要とされています libm.so.6 は libstdc++-4.4.7-3.el6.i686 に必要とされています libm.so.6(GLIBC_2.0) は libstdc++-4.4.7-3.el6.i686 に必要とされています # # rpm -ivh libstdc++-devel-4.4.7-3.el6.i686.rpm 警告: libstdc++-devel-4.4.7-3.el6.i686.rpm: ヘッダ V3 RSA/SHA1 Signature, key ID c105b9de: NOKEY エラー: 依存性の欠如: libstdc++(x86-32) = 4.4.7-3.el6 は libstdc++-devel-4.4.7-3.el6.i686 に必要とされています libstdc++.so.6 は libstdc++-devel-4.4.7-3.el6.i686 に必要とされています #

  • GNU gettext が変なライブラリを参照している

    Solaris 2.7 に GNU gettext 0.14.5 をインストールしようとしています.gmake は通るのですが,出来上がった xgettext や msgfmt などのバイナリを ldd すると, .libs/libgettextsrc-0.14.5.so => .libs/libgettextsrc-0.14.5.so .libs/libgettextlib-0.14.5.so => (file not found) .libs/libintl.so.3.4.3 => (file not found) libiconv.so.2 => /usr/local/lib/libiconv.so.2 libc.so.1 => /usr/lib/libc.so.1 libexpat.so.0 => /usr/local/lib/libexpat.so.0 .libs/libgettextlib-0.14.5.so => (file not found) .libs/libintl.so.3.4.3 => (file not found) libdl.so.1 => /usr/lib/libdl.so.1 /usr/platform/SUNW,Ultra-4/lib/libc_psr.so.1 となり,どうやら一時ディレクトリである .libs 以下のライブラリを参照してしまっているようです.当然,gettext を用いて make した他のプログラムも動かなくなってしまうため,とても困っています. 試しに gettext 0.10.40 という古いものを入れてみたところ,問題は起こりませんでした. libintl.so.1 => /usr/local/lib/libintl.so.1 libiconv.so.2 => /usr/local/lib/libiconv.so.2 libc.so.1 => /usr/lib/libc.so.1 libdl.so.1 => /usr/lib/libdl.so.1 /usr/platform/SUNW,Ultra-4/lib/libc_psr.so.1 回避策等あれば教えていただきたいです. なお,gcc は 2.7.2.3 です.よろしくお願いいたします.

  • lsでディレクトリのサイズが4096が多いことについて。

    基本的なことなのかもしれませんが質問させてください。ls -lの結果でディレクトリのサイズが4096が多いのはなぜでしょうか?また合計というのは何の合計でしょうか? ファイル数にしては数が合わないような気がしますし。 [root@localhost /]# ls -l 合計 188 -rw------- 1 root root 7168 8月 14 21:58 aquota.user drwxr-xr-x 2 root root 4096 8月 25 23:59 bin drwxr-xr-x 3 root root 4096 9月 3 11:52 boot drwxr-xr-x 8 root root 5440 9月 3 12:24 dev drwxr-xr-x 93 root root 12288 9月 3 12:24 etc drwxr-xr-x 4 root root 4096 8月 23 21:52 home drwxr-xr-x 2 root root 4096 2月 22 2005 initrd drwxr-xr-x 11 root root 4096 8月 25 23:59 lib drwx------ 2 root root 16384 7月 31 01:25 lost+found drwxr-xr-x 5 root root 4096 9月 3 12:24 media drwxr-xr-x 2 root root 4096 1月 2 2006 misc drwxr-xr-x 2 root root 4096 2月 22 2005 mnt drwxr-xr-x 2 root root 4096 2月 22 2005 opt dr-xr-xr-x 140 root root 0 8月 15 05:50 proc drwxr-x--- 21 root root 4096 9月 3 09:10 root drwxr-xr-x 2 root root 12288 9月 3 11:52 sbin drwxr-xr-x 1 root root 0 8月 15 05:50 selinux drwxr-xr-x 2 root root 4096 2月 22 2005 srv drwxr-xr-x 9 root root 0 8月 15 05:50 sys drwxr-xr-x 3 root root 4096 7月 30 17:00 tftpboot drwxrwxrwt 14 root root 12288 9月 3 12:23 tmp drwxr-xr-x 14 root root 4096 7月 30 16:30 usr drwxr-xr-x 24 root root 4096 9月 1 00:07 var

  • ubuntuにFCS

    ubuntu server 6.10にFlash Communication Server(以下FCS)をインストールしようとしています。 FCSのインストールスクリプト「installFCS」を実行したところ、 ./fcsconfig: error while loading shared libraries: libstdc++-libc6.2-2.so.3: cannot open shared object file: No such file or directory というエラーが出てしまいます。で、 # ldd fcsconfig したところ、 libstdc++-libc6.2-2.so.3 => not found と表示されます。 libstdc++-libc6.2-2.so.3を含むパッケージを探したところ、libstdc++2.10-glibc2.2 のようなのですが、 # apt-get install libstdc++2.10-glibc2.2 Reading package lists... Done Building dependency tree Reading state information... Done E: Couldn't find package libstdc++2.10-glibc2.2 というように、インストールしようにも入ってくれません。 この場合、どういった解決方法がありますでしょうか。手順レベルでご教示いただければと思います。よろしくお願いいたします。

  • fedora core6にOracle9iをインストール

    質問されていただきます。 Linux fedora core6にoracle9iをCDからインストールしようとしてるのですが、マウントして/mnt/cdrom/runInstaller & と入力すると、 Initializing Java Virtual Machine from /tmp/OraInstall/jre/bin/jre. Please wait... /tmp/OraInstall/jre/bin/../lib/i686/green_threads/libzip.so: symbol errno, version GLIBC_2 .0 not defined in file libc.so.6 with link time reference (libzip.so) Unable to initialize threads: cannot find class java/lang/Thread Could not create Java VM というエラーが出て、そのまま止まってしまいます。 現在行っている設定は ・oracleユーザの環境設定 ・上記の該当スレッドにtouchでファイル作成(libzip.so、libc.so.6) ・LD_KARNEL_PASHは設定するとエラーが出る為行っていません。 上記エラーに出てるパッケージの検索結果 $ rpm -qa | grep libc glibc-common-2.5-3 libcap-devel-1.10-25 libcroco-0.6.1-2.1 glibc-headers-2.5-3 glibc-2.5-3 libcap-1.10-25 libcroco-devel-0.6.1-2.1 glibc-2.5-10.fc6 glibc-common-2.5-10.fc6 glibc-devel-2.5-3 少ない情報で申し訳ありません。 必要な情報があれば調べてお知らせします。 何卒お知恵をお貸しください。 よろしくお願いします。

  • RPMエラー: Failed dependencies

    ウィンドウマネージャfvwm2.4のrpmパッケージを インストールしようとしたところ、 エラー:Failed dependencies: libstroke.so.0 is needed byfvwm-2.4.19-1.i386 上記のエラーが出たので、libstroke0.5をソースからインストールしました。インストール先は/usr/local/libです。 # ls -l /usr/local/lib 合計 48 -rw-r--r-- 1 root root 9360 2月 23 17:27 libstroke.a -rwxr-xr-x 1 root root 544 2月 23 17:27 libstroke.la lrwxrwxrwx 1 root root 18 2月 23 17:27 libstroke.so -> libstroke.so.0.0.5 lrwxrwxrwx 1 root root 18 2月 23 17:27 libstroke.so.0 -> libstroke.so.0.0.5-rwxr-xr-x 1 root root 10972 2月 23 17:27 libstroke.so.0.0.5 次に、/etc/ld.so.confを以下の様に変更し、ldconfigを実行して、再びfvwmをインストールしようとしましたが、同じエラーがでてしまいました。 どうしたらよいのでしょうか?。OSはCentOS4.2です。 /etc/ld.so.confの内容 /usr/local/lib ← 新に追加した include ld.so.conf.d/*.conf

  • /etc/crontabに記述してあるのに一部のスクリプトの実行結果が通知されない

    RedHat9を使用しています。 # cat /etc/crontab SHELL=/bin/bash PATH=/sbin:/bin:/usr/sbin:/usr/bin MAILTO=root HOME=/ 00,12,24,36,48 * * * * root run-parts /etc/cron/networkDown.cron 05 * * * * root run-parts /etc/cron/top_c.cron # ls -l /etc/cron/ drwxrwxr-x 2 root root 4096 1月 13 01:38 networkDown.cron/ drwxrwxr-x 2 root root 4096 11月 15 14:23 ntp.cron/ drwxrwxr-x 2 root root 4096 11月 26 14:24 top_c.cron/ # ls -l /etc/cron/networkDown.cron -rwxr-xr-x 1 root root 481 2月 28 2004 diskSpaceCheck.cron* -rwxr-xr-x 1 root root 2938 8月 5 15:33 networkDown.cron* -rwxr--r-- 1 root root 206 11月 30 23:56 popAccessCheck.cron* -rwxr--r-- 1 root root 543 1月 13 01:37 printSeverCheck.sh* となっていますが何故か/etc/cron/networkDown.cronディレクトリだけの実行結果がroot宛に通知されません。 /etc/cron/top_c.cronの実行結果はroot宛に通知されます。 # tail -f /var/log/cron には # crontab -l で表示される分のcronの処理結果しか吐かれないようです。 どうして、一部のディレクトリだけの実行結果が通知されないのでしょうか?

  • glibcのアップグレード

    redhat9を使っているのですが、glibcのバージョンをあげようと思い、次のサイトを参考にrpmパッケージをインストールしました。 http://www.atmarkit.co.jp/flinux/rensai/lfs03/lfs03b.html 無事、インストールが終わったのですがバージョンが、2.3.2のままで、2.3.2-27.9.7になりませんでした。 ls -l /lib/libc-* と打ち込んでも2.3.2.soと表示されます。 何がまずかったのかわかりません。rpmパッケージをインストールしたのがまずかったのでしょうか。それとも、まだ何かすることをしていないだけなのでしょうか。 自己解決できなかったので、どなたか、ご教授願います。 よろしくお願いいたします。