マンガでよめる痔のこと・薬のこと

ソースからコンパイルしたPHPを削除し、RPMにてインストールしたPHPのほうを有効化させたいと考えております。
現状は、両方インストールした状態ですが、コマンド上はソースからコンパイルしたものが有効になっております。

# which php
/usr/local/bin/php
# php -v
PHP 5.2.1

ソースからコンパイルしたPHPの削除はインストール時の展開されたファイルを削除すれば良いと思いますが、(findコマンドでPHP5.2.1関連を片っ端から削除)「/usr/local/bin/php」も削除したのち、RPMのコマンドが有効にならず困っております。

# rpm -e php-5.1.6-3.el4s1.10
# yum install php
Installed: php.i386 0:5.1.6-3.el4s1.10
# which php
/usr/bin/which: no php

このQ&Aに関連する最新のQ&A

A 回答 (3件)

> # make uninstall


> make: *** ターゲット `uninstall' を make するルールがありません。中止。

おそらくはuninstallをサポートしてませんね
#2の通りmake cleanではどうですか?
    • good
    • 0

make clean


かもしれないですね

コマンドラインのPHPをインストールしたいのなら
php-cli-5.1.6-
をインストールしないといけないのでは

この回答への補足

# make clean
find . -name \*.lo -o -name \*.o | xargs rm -f
find . -name \*.la -o -name \*.a | xargs rm -f
find . -name \*.so | xargs rm -f
find . -name .libs -a -type d|xargs rm -rf
rm -f libphp5.la sapi/cli/php sapi/cgi/php modules/* libs/*

# which php
/usr/local/bin/php

make cleanしても、コマンドは残ってしまうのです。

補足日時:2008/12/12 09:22
    • good
    • 0

ディレクトリまで削除しちゃいましたか?



RPMのインストールはさておき
ソースからインストールしてたPHPをもう一度インストールして下さい。

正常にインストールできたら(ハードルは高いですが・・・)イカのコマンドを投入して下さい。
# make uninstall


その後でRPMパッケージをインストールしてみる
これで如何ですか?

この回答への補足

# pwd
/usr/src/php-5.2.1
# make uninstall
make: *** ターゲット `uninstall' を make するルールがありません。中止。

うまくいかないです。

補足日時:2008/12/11 09:16
    • good
    • 0

このQ&Aに関連する人気のQ&A

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

Qソースからmakeした場合の削除方法

FreeBSDでApacheをソースからmake→make installしたのですが、
一度インストールしたものを削除することは可能なのでしょうか。

make uninstallやmake deinstallのようなコマンドは受け付けて
くれないので困っています。

Aベストアンサー

--prefix や --enable-layout オプションを指定していないのであれば、デフォルトで /usr/local/apache または /usr/local/apache2 にインストールされるので、そのディレクトリごと削除してしまえばよいでしょう。

それ以外の他のファイルが存在するところにインストールしてしまった場合は、手で1つずつ探して削除するしかありません。

基本的に、ソースコードからインストールしたものは、既存ファイルに対する上書きチェックやアンインストールといった方法が提供されていないことが多いです。

QApacheのアンインストール

Linuxにapacheをソースファイルからインストールしました。
しかし、諸事情により削除することになったのですが、
./configure
make uninstall
を実行してもアンインストールができませんでした。

調査したところ、
インストールディレクトリをリネームすればよいと
分かりましたがそれだけでよいのでしょうか?

Aベストアンサー

デフォルトインストールしたのであれば、
/usr/local/apache
にインストールされているはずなので、
このディレクトリごとバッサリと削除してしまっておしまいです。

ソースからインストールする場合はアンインストール方法がないと考えた方がいいと思います (アプリケーションのMakefileに依存)。従って、ディレクトリごと削除できるような場所にインストールすることをお勧めします。

Qインストールされているディレクトリを知るコマンドはありませんか?

phpのconfigerをするのに、
phpのインストールされているパスへ移動しなくてはいけませんが、
phpがどこにインストールされているかわかりません。

 rpm -qf php-4.0.6-7

とすると

 エラー: ファイル php-4.0.6-7: そのようなファイルやディレクトリはありません

と表示されてしまうのです。
rpmのサイトを見てオプションを設定して表示された結果から
ディレクトリを移動しても
コンフィギャーできるところに辿り着きませんでした。

どうしたらインストールされているディレクトリを
知ることができるでしょうか?

OSは以下の通りです。
AIX Version 4 もしくは LASER5 Linux release 7.2

今月が納期で生じたバグ対応のため大変困っています。
質問場所が違っていたら申し訳ないですが、
よろしくお願いいたします。

Aベストアンサー

Laser5に限っての話ですが、標準のインストールでphpはインストールされるはずですが。

# rpm -qa | grep -i php

でphpのパッケージ名は表示されませんか?

findを実行した結果、

php(コマンド)
libphp4.so(ライブラリ)
php.ini(設定ファイル)

等も見つからないのでしょうか?
もしそうならphpはパッケージもソースでもインストールされていない可能性があります。

Qhtmlのfileタグに自動で値を入れる方法

htmlのタグでいって
<input type="file">を用いてファイルをサーバーにアップロードしたいと思っています。で、このとき、ファイル名は任意に選べるのではなく固定で送信したいと思っています。

すなわち、HTMLを読み込んだ時点で、fileのテキストボックスにファイルパスが埋め込まれているか、JavaScriptで、ファイルパスを自動入力するようにしたいと思っています。

最終的には、form内のオブジェクトをすべて非表示にし、onload時にsubmitするような形にしたいと思っています。いろいろ事情があって苦肉の策になっています…。

とりあえず(だめだとは思っていたのですが)
<input type="file" value="ファイルパス" name="filepath">
と直書きにしてみたり
document.all.filepath.value = "ファイルパス";
などとしてみたりしましたがだめでした…。
W3C勧告の使用上はvalueでファイルパスを指定できるようになっているようなのですが、現在の一般的なブラウザでは禁止されているようですね。

このような場合、何らかの方法でfileにファイルパスを自動入力することはできますでしょうか?
もしできない場合、何らかの方法で実現する方法はありますでしょうか?よろしくお願いします。

ちなみに実現できればいい環境は
WinXP環境のIE6です。言語はクライアント言語はJavaScriptのみで、という条件付です。
できないかもしれないのですが、こういうのって必要になるときもあるよなーなどと思っており、もしかしたら解決方法があるかもしれないと思い質問しました。よろしくお願いします。

htmlのタグでいって
<input type="file">を用いてファイルをサーバーにアップロードしたいと思っています。で、このとき、ファイル名は任意に選べるのではなく固定で送信したいと思っています。

すなわち、HTMLを読み込んだ時点で、fileのテキストボックスにファイルパスが埋め込まれているか、JavaScriptで、ファイルパスを自動入力するようにしたいと思っています。

最終的には、form内のオブジェクトをすべて非表示にし、onload時にsubmitするような形にしたいと思っています。いろいろ事情があって苦肉...続きを読む

Aベストアンサー

やっぱ無理じゃないでしょうか。
なにか裏ワザ的な方法で一時的にできたとしても、いつか直されるかもしれないのでおいそれとは使えないし。

>W3C勧告の使用上はvalueでファイルパスを指定できるようになっている
→参考URL 「ユーザが明示的に送信を求めたファイル以外のものは送ってはいけない」とあります。

参考URL:http://www.asahi-net.or.jp/~sd5a-ucd/rec-html401j/appendix/notes.html#forms-security

Qgrepで検索文字列が完全一致した行だけ取り出す方法

grepの文字列検索で検索文字列が単語として、完全一致した行だけ取り出す方法はないでしょうか?

通常は
grep hoge hoge.txt

と打つと、hogeが含まれる行が出力されますが、今回は含まれる行ではなくて完全に文字列が一致した行だけ取り出したいのです。

例えばhoge.txtの中に
cc ghoge
kkl hogem
jjll hoge
という3行があったとしたら最後の行でhogeという文字が空白で区切られた行だけ取り出したいのです。

何かよい方法があれば教えてください

Aベストアンサー

-w オプションじゃだめですか?

参考URL:http://www.linux.or.jp/JM/html/GNU_grep/man1/grep.1.html

Qmake時に出てきたエラーメッセージの意味が分からなく困っています。

最近、Linuxを始めたばかりのLinux初級人間です。
出てきたエラーメッセージの意味が分からず、
次なる一手がどうしても判断できず、ご相談させていただきます。

現在、DHT技術に興味があり、
BambooDHTというものを、
自分のサーバにインストールしています。
そして苦戦しています。

banbooDHTをコンパイルするには、以下の手順が必要みたいです。

(1)JDKをインストール
(2)banbooをインストール
(3)makeでコンパイル

まずは、「wget」にて、下記javaのWEBページより、
「JDK 6 Update 6」よりダウンロードしました。

http://java.sun.com/javase/ja/6/download.html

使用許諾所に「Yes」で回答し、インストール作業を行いました。
インストール作業後「完了(DONE)」の表示が出ました。

その後、JAVAの環境変数の設定を行い、
「java -version」にて正常にインストール作業完了の旨認識できました。

bambooのインストール作業を行い、
こちらも正常に作業が完了しました(DONEの表示あり)。

最期のstepとして上記(3)を実行しましたが、
以下エラー内容と共にコンパイルが成功しませんでした。
「javac がないからコンパイルできないよ!」という意味でしょうか?
JDK 6にはjavacは含まれていると認識しています。

これ以上、どうしていいか分からない状況です。
長々としてしまいましたが、
どなたか、アドバイスいただけるとありがたいです。

 ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
make -C src/bamboo
make[1]: ディレクトリ `/root/bambooDHT/bamboo/src/bamboo' に入ります
make[2]: ディレクトリ `/root/bambooDHT/bamboo/src/bamboo/www' に入ります
WebInterface.java
/bin/sh: /bin/javac: そのようなファイルやディレクトリはありません
make[2]: *** [WebInterface.class] エラー 127
make[2]: ディレクトリ `/root/bambooDHT/bamboo/src/bamboo/www' から出ます
make[2]: ディレクトリ `/root/bambooDHT/bamboo/src/bamboo/vis' に入ります
Vis.java
/bin/sh: /bin/javac: そのようなファイルやディレクトリはありません
make[2]: *** [Vis.class] エラー 127
make[2]: ディレクトリ `/root/bambooDHT/bamboo/src/bamboo/vis' から出ます
make[2]: ディレクトリ `/root/bambooDHT/bamboo/src/bamboo/dmgr' に入ります
make[2]: `all' に対して行うべき事はありません.
ASyncCore.java
/bin/sh: /bin/javac: そのようなファイルやディレクトリはありません
make[2]: *** [ASyncCore.class] エラー 127
make[2]: ディレクトリ `/root/bambooDHT/bamboo/src/bamboo/lss' から出ます
make[2]: ディレクトリ `/root/bambooDHT/bamboo/src/bamboo/api' に入ります
BambooLeafSetChanged.java
/bin/sh: /bin/javac: そのようなファイルやディレクトリはありません
make[2]: *** [BambooLeafSetChanged.class] エラー 127
make[2]: ディレクトリ `/root/bambooDHT/bamboo/src/bamboo/api' から出ます
make[2]: ディレクトリ `/root/bambooDHT/bamboo/src/bamboo/router' に入ります
CheckRunning.java
/bin/sh: /bin/javac: そのようなファイルやディレクトリはありません
make[2]: *** [CheckRunning.class] エラー 127
make[2]: ディレクトリ `/root/bambooDHT/bamboo/src/bamboo/router' から出ます
make[2]: ディレクトリ `/root/bambooDHT/bamboo/src/bamboo/util' に入ります
GuidTools.java
/bin/sh: /bin/javac: そのようなファイルやディレクトリはありません
make[2]: *** [GuidTools.class] エラー 127
make[2]: ディレクトリ `/root/bambooDHT/bamboo/src/bamboo/util' から出ます
make[2]: ディレクトリ `/root/bambooDHT/bamboo/src/bamboo/temu' に入ります
PublishData.java
/bin/sh: /bin/javac: そのようなファイルやディレクトリはありません
make[2]: *** [PublishData.class] エラー 127
make[2]: ディレクトリ `/root/bambooDHT/bamboo/src/bamboo/temu' から出ます
make[1]: *** [subdirs] エラー 2
make[1]: ディレクトリ `/root/bambooDHT/bamboo/src/bamboo' から出ます
make: *** [sources] エラー 2

最近、Linuxを始めたばかりのLinux初級人間です。
出てきたエラーメッセージの意味が分からず、
次なる一手がどうしても判断できず、ご相談させていただきます。

現在、DHT技術に興味があり、
BambooDHTというものを、
自分のサーバにインストールしています。
そして苦戦しています。

banbooDHTをコンパイルするには、以下の手順が必要みたいです。

(1)JDKをインストール
(2)banbooをインストール
(3)makeでコンパイル

まずは、「wget」にて、下記javaのWEBページより、
「JDK 6 Update 6」...続きを読む

Aベストアンサー

こんにちは。

メッセージの意味としては、javacが見つからないということでしょうね。
インストールしたことが間違いないのであれば、javacはどこのディレク
トリにインストールされていますか?
メッセージを見ると、Makefileでは/binにあることが前提となっている
ようですが、javacのインストールディレクトリを確認の上、Makefileの
javacのパスを修正して、再度makeすればよいのではないでしょうか?

QApacheのバージョンアップ方法

現在Apacheのバージョンが2.2.15です。現在最新の2.2.22にバージョンアップをしたいです。
OSはCentOS6です。
Linux系の操作は初めで、インストールまでは完了しております。
バージョンアップの方法が分かりません。
教えていただけますでしょうか。

因みにウェブで検索したのですが、下記の方法で間違いないでしょうか?
もし間違いがあればご指摘頂けないでしょうか。
以下の方法は実際はインストール手順の方でしょうか?

(1)httpd.confファイルのバックアップ。
(2)Apacheを停止
  #/usr/bin/apachectl stop
(2)最新のバージョンをダウンロード。
#wget http://www.apache.org/dist/httpd/httpd-2.2.22.tar.gz
(3)展開する。
#tar zxvf ./httpd-2.2.22.tar.gz
(4)ダウンロードしたディレクトリへ移動 
 #cd httpd-2.2.22
(5)設定(ソースツリー設定?)
#./configure --prefix=/etc/httpd
(6)ビルド
 #make
(7)インストール
 #make install
(8)設定ファイルのカスタマイズ
 #vi /etc/httpd/conf/httpd.confでバックアップしたものの内容に修正?
(9)Apacheを開始
  #/usr/bin/apachectl start

バージョンアップ方法については以下の手順だけと書いてあるサイトがあったのですが、
config.niceやconfig.statusというのが見つかりませんでした。

# ./config.nice
# make
# make install
# usr/bin/apachectl stop
# usr/bin/apachectl start
 



 

現在Apacheのバージョンが2.2.15です。現在最新の2.2.22にバージョンアップをしたいです。
OSはCentOS6です。
Linux系の操作は初めで、インストールまでは完了しております。
バージョンアップの方法が分かりません。
教えていただけますでしょうか。

因みにウェブで検索したのですが、下記の方法で間違いないでしょうか?
もし間違いがあればご指摘頂けないでしょうか。
以下の方法は実際はインストール手順の方でしょうか?

(1)httpd.confファイルのバックアップ。
(2)Apacheを停止
  #/usr/bin/apachectl st...続きを読む

Aベストアンサー

次の質問を見ましたが、あなたのスキルレベルだと、ソースからのインストールは止めた方が良いです。
yum コマンドでアップデートするだけにしましょう。

どうしてもと言うなら、/usr/local にインストールしてください。./configure --prefix=/usr/local
OS附属のものは削除した方が良いでしょう。yum remove httpd で。

次の質問のエラーメッセージ(簡単な英語ですが)を見るとcコンパイラが入ってないのでそのインストールも必要です。yum install gcc

http://httpd.apache.org/docs/2.2/ja/install.html

をよく読んでください。また tar に含まれている INSTALL というファイルも読んでください。

configureでエラーになればライブラリが不足しているのでエラーメッセージをよく見て必要なライブラリを yum install してください。

Q起動しているサービスを確認するコマンド

初歩的な質問で恐縮ですが、ご教示いただけますと幸いです。

起動しているサービスを確認するために以下の2つのコマンドを打ってみるのですが、結果(出て来るサービス名)が違います。
このコマンドの違いについてご教示いただけますでしょうか。

(1)service --status-all
(2)chkconfig --list

Aベストアンサー

(1)service --status-all

サービスの現在のステータスを調べるコマンド

(2)chkconfig --list

OSのブート時に自動起動するサービスを調べるコマンド

違いが出るのは、
・ブート後に手動あるいは他のコマンドから起動したサービス
・ブート後に手動あるいは他のコマンドから、あるいはエラーで停止したサービス
・ブート後に実行はされるがすぐに停止して常駐しないサービス (ntpdate とか)

あるいは、(1)ではサービス名が表示されない物もあるので、どのサービスがどんなステータス出力をするのか知っておく必要もありますね。(service network statusとか)


人気Q&Aランキング