findコマンドでファイル抽出ができない原因と解決方法

このQ&Aのポイント
  • findコマンドを使用してファイルを抽出する方法について疑問があります。
  • ファイル名が同じである場合、正しいfindコマンドの構文を教えていただけませんか。
  • /etc/httpd/modules/mod_actions.soがfindコマンドによって表示されない原因を確認したいです。
回答を見る
  • ベストアンサー

findでファイル抽出が行えない

findコマンドの使い方について、 疑問がありますで、掲示いたします。 【質問】 今、以下の同名のファイル名が存在しています。 [root@centos5 ~]# ls -l /etc/httpd/modules/mod_actions.so -rwxr-xr-x 1 root root 9628 10月 21 06:05 /etc/httpd/modules/mod_actions.so [root@centos5 ~]# ls -l /usr/lib/httpd/modules/mod_actions.so -rwxr-xr-x 1 root root 9628 10月 21 06:05 /usr/lib/httpd/modules/mod_actions.so この状態で、以下のようにfindコマンドを実行しました。 find / -name mod_actions.so すると、以下の結果が表示されました。 [root@centos5 ~]# find / -name mod_actions.so /usr/lib/httpd/modules/mod_actions.so 【確認】 /etc/httpd/modules/mod_actions.soが何故、表示されないのでしょうか。 上記コマンドのコマンドの構文が不適切だからなのか。 こちら、上記2ファイルを抽出するfindの構文を教えて頂けないでしょうか。 以上、よろしくお願いいたします。

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

  • ベストアンサー
回答No.1

/etc/httpd/modules が/usr/lib/httpd/modulesへのシンボリックリンクになって いるはずです。 つまり、mod_actions.soが2つ存在しているのではなく 実体は1つなのを、シンボリックリンクにより異なるパスでも参照できる ようになっているだけです。 findは通常は、シンボリックリンク先までは潜ってくれないので 実ファイルしか表示してくれませんが、 -follow をつけることで、シンボリックリンクでも先まで参照してくれます。

cen99867ids123
質問者

お礼

お返事が遅くなり、大変申し訳ありません。 [root@centos5 ~]# ls -l /etc/httpd/modules lrwxrwxrwx 1 root root 27 1月 10 22:14 /etc/httpd/modules -> ../../usr/lib/httpd/modules シンボリックリンクであることがわかりました。 また、findの仕様も教えていただきありがとうございます。 これで、解決しました。

その他の回答 (1)

  • entree
  • ベストアンサー率55% (405/735)
回答No.2

> 上記コマンドのコマンドの構文が不適切だからなのか。 findはデフォルトでシンボリックリンクを辿りません。 (おそらく無限ループになるのを避けるための仕様) /etc/httpd/modulesは/usr/lib/httpd/modulesへの シンボリックリンクになっていませんか? > こちら、上記2ファイルを抽出するfindの構文を教えて頂けないでしょうか。 -Lオプションを指定してみてください。

cen99867ids123
質問者

お礼

返事が遅くなり申し訳ありません。 >/etc/httpd/modulesは/usr/lib/httpd/modulesへの シンボリックリンクになっていませんか? シンボリックリンクとなっておりました。 なので、findで上記ファイルが抽出されない理由も納得しました。 ありがとうございます。

関連するQ&A

  • 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

  • mod_dav_svnをインストール出来ません

    mod_davとmod_dav_fsをコンパイルし、httpd.confを編集し <Location /svn> DAV svn SVNPath /var/lib/svn/repository/ </Location> としたところ、「Unknown DAV provider: svn」とエラーと出ました。 自分はcentOS5.5でApache2.2はソースから、Subversionはyumからインストールしました。 よってyumからinstallでは駄目なんじゃないかと思い、で、mod_dav_svn.soをいつものようにapxs等でソースからインストールしようと思ったのですが、web上で全く情報が無く全部yumからのインストールでした。 1時間くらい探しまわったのですが、仕方が無く yum istall mod_dav_svn を行いましたが当たり前ですが、/usr/local/apache2/modules/内には存在しませんでした。 で、/etc/httpd/modules/内のmod_dav_svn.soを使おうと思いhttpd.confに LoadModule dav_svn_module /etc/httpd/modules/mod_dav_svn.so を追記した所、 「httpd: Syntax error on line 60 of /usr/local/apache2/conf/httpd.conf: Cannot load /etc/httpd/modules/mod_dav_svn.so into server: /usr/lib/libsvn_fs_base-1.so.0: undefined symbol: db_create」とエラーが出ました。 どのようにしたらmod_dav_svnをインストール出来るのでしょうか? 自分としては、yumではなくソースからコンパイルしたいと思っております。 無理であればyumからでもいいのですが、その場合どのようにすればうまくいくのでしょうか?

  • postfix インストール時のエラー

    Sol10にpostfixをインストールしようとしています。 makeも終わって、make installしようとすると、 > Killed > /usr/local/etc/postfix/post-install: Error: no /usr/local/sbin/postconf command found. というエラーが出ます。 /usr/local/sbinにpostconfってのがないってことだな、と思ってみてみると、 > root# ls -l /usr/local/sbin > 合計 9248 > -rwxr-xr-x 1 root root 501908 6月 24日 23:07 postalias > -rwxr-xr-x 1 root root 339932 6月 24日 23:07 postcat > -rwxr-xr-x 1 root root 573064 6月 24日 23:07 postconf > -rwxr-sr-x 1 root postdrop 539416 6月 24日 23:07 postdrop > -rwxr-xr-x 1 root root 303108 6月 24日 23:07 postfix > -rwxr-xr-x 1 root root 337452 6月 24日 23:07 postkick > -rwxr-xr-x 1 root root 330140 6月 24日 23:07 postlock > -rwxr-xr-x 1 root root 307524 6月 24日 23:07 postlog > -rwxr-xr-x 1 root root 473420 6月 24日 23:07 postmap > -rwxr-sr-x 1 root postdrop 534724 6月 24日 23:07 postqueue > -rwxr-xr-x 1 root root 355132 6月 24日 23:07 postsuper 問題なくあるようです。 何が原因でしょうか。 以下参考です。パスと、作成したユーザとグループです。 > root# echo $PATH > /usr/sbin:/usr/bin:/usr/sfw/bin:/usr/ccs/bin:/usr/local/sbin > root# more /etc/passwd > (中略) > postfix:x:101:100::/home/postfix:/bin/sh > root# more /etc/group > (中略) > postfix::100: > postdrop::101: よろしくお願いいたします。

  • Apche 2.4.23をrpmbuildすると

    https://www.apache.org/dist/httpd/からソースをダウンロードしました。 『rpmbuild -tb --clean httpd-2.4.23.tar.bz2』を実行すると以下の結果が出ます。 上記の結果が出たのでモジュールを追加しようとしているのですがうまくできません。 [root@tk modules]# find / -name apxs /root/rpmbuild/BUILDROOT/httpd-2.4.23-1.x86_64/usr/bin/apxs /root/rpmbuild/BUILD/httpd-2.4.23/support/apxs [root@tk modules]# find / -name mod_proxy_fd* /root/rpmbuild/BUILDROOT/httpd-2.4.23-1.x86_64/var/www/manual/mod/mod_proxy_fdpass.html.fr /root/rpmbuild/BUILDROOT/httpd-2.4.23-1.x86_64/var/www/manual/mod/mod_proxy_fdpass.html /root/rpmbuild/BUILDROOT/httpd-2.4.23-1.x86_64/var/www/manual/mod/mod_proxy_fdpass.html.en /root/rpmbuild/BUILD/httpd-2.4.23/docs/manual/mod/mod_proxy_fdpass.html.fr /root/rpmbuild/BUILD/httpd-2.4.23/docs/manual/mod/mod_proxy_fdpass.html /root/rpmbuild/BUILD/httpd-2.4.23/docs/manual/mod/mod_proxy_fdpass.html.en /root/rpmbuild/BUILD/httpd-2.4.23/modules/proxy/mod_proxy_fdpass.c /root/rpmbuild/BUILD/httpd-2.4.23/modules/proxy/mod_proxy_fdpass.h [root@tk proxy]cd /root/rpmbuild/BUILD/httpd-2.4.23/modules/proxy/ [root@tk proxy]# /root/rpmbuild/BUILDROOT/httpd-2.4.23-1.x86_64/usr/bin/apxs -c mod_proxy_fdpass.c cannot open /usr/lib64/httpd/build/config_vars.mk: No such file or directory at /root/rpmbuild/BUILDROOT/httpd-2.4.23-1.x86_64/usr/bin/apxs line 203. どなたか早急にご教示いただけないでしょうか。

  • PHP5インストール時にlibphp5.soが作成されない

    こんにちは。 CentOS3、Apache/2.0.46 の環境で、PHP5をインストールしようとしています。 VPSでレンタルしたもので、すでにPHP4が入っていたものを、PHP4.4.4にバージョンアップし使っていましたが、5を使いたいと思いインストールを試みたのですが、configure、makeが終わり、make installの段階で以下のようなエラーがでて終了していまいます。 ーーーーーーーー Installing PHP SAPI module: apache2handler /usr/lib/httpd/build/instdso.sh SH_LIBTOOL='/usr/bin/libtool' libphp5.la /usr/lib/httpd/modules /usr/bin/libtool --mode=install cp libphp5.la /usr/lib/httpd/modules/ cp .libs/libphp5.lai /usr/lib/httpd/modules/libphp5.la cp .libs/libphp5.a /usr/lib/httpd/modules/libphp5.a ranlib /usr/lib/httpd/modules/libphp5.a chmod 644 /usr/lib/httpd/modules/libphp5.a libtool: install: warning: remember to run `libtool --finish /etc/php-5/libs' Warning! dlname not found in /usr/lib/httpd/modules/libphp5.la. Assuming installing a .so rather than a libtool archive. chmod 755 /usr/lib/httpd/modules/libphp5.so chmod: failed to get attributes of `/usr/lib/httpd/modules/libphp5.so': No such file or directory apxs:Error: Command failed with rc=65536 . make: *** [install-sapi] Error 1 ---------------------------- configureは --with-apxs2=/usr/sbin/apxsのオプションだけで行い、とりあえずlibphp5.soファイルを作ろうとしているのですが、作成されません。 ネットをしらべたところ大抵のサイトでは--with-apxs2=/usr/sbin/apxsをだけつけてconfigureすれば生成される、と書かれていたのですが。。。。 よろしくお願いいたします、

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

    特定のディレクトリでコマンドが実行出来ない。 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) 宜しくお願いいたします。

  • apache/mod_perlの実行エラーについて

    apacheについて質問です。分かる方、どうぞご教授下さい。 httpd.confにmod_perlの設定を記述しない場合、通常どおりapacheが起動するのですが、以下のようにmod_perlの設定を追記するとapacheがエラーで起動しません。 【mod_perlの設定】 PerlModule ModPerl::Registry PerlRequire /usr/lib/perl5/site_perl/5.8.8/startup.pl <Location /cgi-bin> SetHandler perl-script PerlResponseHandler ModPerl::Registry PerlSendHeader On Options ExecCGI </Location> 【apacheのエラー内容】 /usr/local/apache2/bin/httpd: symbol lookup error: /usr/lib/perl5/site_perl/5.8.8/i386-linux-thread-multi/auto/Apache2/ServerUtil/ServerUtil.so: undefined symbol: ap_get_server_banner httpd.confのmod_perlの設定については、他のサーバーでは問題なく起動していますので、mod_perlのconfigure時の共有ライブラリの設定に不備があるのではと思っているのですがどう設定すればいいのか分かりません。mod_perlのconfigure時のオプションは以下のようになっています。 【mod_perlのconfigure】 perl Makefile.PL \ > MP_USE_STATIC=1 \ > MP_AP_PREFIX=../httpd-2.0.63 \ > MP_AP_CONFIGURE="--prefix=/usr/local/apache2 --with-mpm=prefork" 以下、grep の実行結果です。 [root@colinux mod_perl-2.0.3]# grep -r ap_get_server_banner /usr/lib/* バイナリー・ファイル/usr/lib/httpd/modules/mod_rewrite.soは一致しました バイナリー・ファイル/usr/lib/httpd/modules/mod_proxy_connect.soは一致しました バイナリー・ファイル/usr/lib/httpd/modules/mod_proxy_ftp.soは一致しました どんな些細なことでも結構ですので、どうかご教授のほど宜しくお願い致します。 【環境】 fedora6 apache2.0.63 mod_perl2.0.4

  • /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の処理結果しか吐かれないようです。 どうして、一部のディレクトリだけの実行結果が通知されないのでしょうか?

  • subversionインストールエラー

    宜しくお願いします。 Subversionを構築しようとしていますが、下記のエラーが表示され進めることが出来ません。ご助言、ご教授願えませんでしょうか。 [@local]# svn mkdir /var/www/svn/sample/trunk \ /var/www/svn/samlpe/tags \ [略]# -m 'Initial import' [〃] svn: ローカルの、コミットを伴わない操作にログメッセージやリビジョン属性はつけられません と表示されてしまいます。 そこでhttpd.conf、subversion.confを変更してからなのかと思い、修正した上でApache再起動を行ったところ下記のエラーが表示されます。 --(エラー)- apachectl: Configuration syntax error, will not run "restart": httpd: Syntax error on line 210 of /etc/httpd/conf/httpd.conf: Syntax error on line 2 of /etc/httpd/conf.d/subversion.conf: Cannot load /usr/lib/httpd/modules/mod_dav_svn.so into server: /usr/lib/httpd/modules/mod_dav_svn.so: cannot open shared object file: No such file or directory ---- どの手順でインストールを行えば良いのか判断か付かず、またエラーに悩まされる状況です。 できれば具体的にお教え頂ければ幸いですが、書籍、ウェブサイトURLでも結構ですのでお教え頂けないでしょうか。 宜しくお願いいたします。 --- CentOS 5.5(VMwarePlayer4.0.4上) rootユーザーでログイン

  • Cygwinのlsコマンドについて

    Cygwinの場合、以下のオプションでlsコマンドを実行すると $ ls --full-time -rwxr-xr-x 1 aaaa なし 139 2006-08-23 15:01:34.203125000 +0900 ls.sh と表示されます。 Linux(redhat)上で同様のコマンドを実行すると、 $ ls --full-time -rwxr-x--- 6 root root 4096 Wed Aug 09 16:59:03 2005 ls.sh と表示されます。 タイムスタンプの表示形式が異なっていますが、 Cygwin上で、Linuxのような表記をしたいのですが、 可能でしょうか。ご教授お願い致します。