• 締切済み

インストールしたソフトが作成したファイル・ディレクトの把握

Linuxになんかしらのソフトをインストールした場合に、 そのソフトが どこのディレクトリにどんなファイルを作成したか? とか どんなディレクトリをどこに作成したか? といったような、そのソフトがOS内に作成した ファイル・ディレクト事を把握したいのですが、 その場合、どうすればいいんでしょう? インストール前のOS内のディレクトリやファイル構造を 記録しておいて、インストール後と比較。。。 みたいなやり方しかないんでしょうか?

みんなの回答

  • astronaut
  • ベストアンサー率58% (303/516)
回答No.5

make install の段階で,checkinstallに同梱されているinstallwatchを使うのがお手軽だと思います. http://www.linet.gr.jp/~juk/plamo/custom/checkinstall.html http://asic-linux.com.mx/~izto/checkinstall/ (例) ./configure make installwatch -o install_log.txt make install

  • Lean
  • ベストアンサー率72% (435/603)
回答No.4

私の場合、tarballからインストールする時にconfigureを実行する必要があるものは、大抵--prefixでインストール先を指定出来るので/opt/ソフトとか/usr/local/ソフトとか指定してあるディレクトリ配下にインストールする事をやってました。 configureがない場合も、Makeffileを書き換えて同様な状態にしてました。 こうしておくと何がインストールされたか把握しやすいし削除もしやすいです。 ただ、コマンドとかライブラリーは検索パスに設定されているディレクトリにシンボリックリンクをするとか、検索パスを設定し直すとかしないといけませんが。 あとはmake install時の実行をリダイレクトなりscriptコマンドやteeコマンドなりでファイルで残しておいてどのディレクトリにインストールされるのか残しておくというのもあります。 まあ、インストール時に残していなくても、インストール時に使用したソースが残っていれば、make -n installを実行すればmake install時にどんな事が行われるか表示だけされるのでそこで把握するというものあります。 まあ、パッケージ管理があり自分でパッケージ化出来るなら、パッケージ化するというのもありますが。

  • TA-HT81S
  • ベストアンサー率39% (72/184)
回答No.3

PHPが入ってるんなら、phpinfo()が使えますよね。 PHPと絡むものの情報だけですが、ある程度細かくわかります。 <?php phpinfo(); ?> と書いたtest.phpファイルをApacheの公開ディレクトリ上に置いて ブラウザからアクセスしてみてください。

rmsmc394
質問者

お礼

TA-HT81Sさんありがとうございます。 phpinfo()も参考にしています。 ただソースインストールした際に そのソフトが作成した全てのディレクトリとファイルを 把握したいので、phpinfo()だけでは情報が足りないのです。。

回答No.2

捕捉ありがとうございます。 3つほど例を上げましたが、そのアプリケーションによってどれが有効か分かれると思います。ケースバイケースと言ったところでしょうか。それぞれmakefileの書き方も違うかもだし、(ていうかMakefileはどのソースをどうリンクしてコンパイルするか書いてあるんだと思うので、追うといってもやたら面倒かもしれません)インストールスクリプトがある場合が一番そのものずばり書いてあるはずですが、make installのほうが多いかもですね。 whereisコマンドもある程度教えてくれますが、インストールされたファイル全部という訳ではなさそうだし… checkinstallというコマンドがありますがどう働くのか使ったことがないのでよくわかりません… コンパイルが済んでインストール直前にコンパイルしたdirectryを漁るのも(binと書きましたが違う名前の事もありそうです)インストール段階でXX.confとかを作る事も多いのでヌケがありそうです。さらにユーザー毎に$HOME以下にも設定ファイルが出来そうですよね… readmeやMakefileとかSPEC(があれば)をじっくり読むということしか思い付きません。 参考程度にでもなればいいのですが、あんまり有効性は高くない気がしてきました。もっと賢いやりかたがあるかも知れません。識者の御回答を待ちましょう。。。 と他力本願で申し訳ありません...

rmsmc394
質問者

お礼

tux_the_penguinさんありがとうございます。 私にとってはとても参考になりました。

回答No.1

どうやってインストールしていますか? ソースを拾ってきてローカルでコンパイル・インストールしているのなら、Makefileを追えばできあがったファイルのリストとか抽出できるかもです。 ./configure && make したときにbin directyが出来ればそこを見るもよし… install.shとかがあればそのまんま書いてあるはずだし。 そんなことよりrpm -ql で片付いたりしませんか? man rpm とかわすれないでください。 rpmを全く使ってないなら大ハズシで申し訳ないです...

rmsmc394
質問者

お礼

質問に不備があり、すみませんでした。 >ソースを拾ってきてローカルでコンパイル・インストール まさに、この場合です。 ・Makefileを追う方法 ・./configure && make後にbin directyをみる方法 ・install.shを見る方法 って事ですね。なるほど。 参考にさせていただきます! 上記の中では、どの方法が一般的に行われてるんでしょう? インストールするソフトはPHP,MySQLになるんですが。。。。

関連するQ&A