Linuxでアプリケーションをインストールする時、
どこにインストールしたらいいものか分からず困っています。
rpmの物は何も考えずrpmコマンドでインストールしているのですが、
tar.gz等の物は、どこに展開するのが一番いいのかな?
と思ってます。
インストールするアプリケーションの種類によってもまた違うんでしょうか??

みなさんはどうされているのか教えていただけないでしょうか。お願い致します。

また、root権限でインストールして、
それをどの一般ユーザーからも使えるようにするにはどうしたらよいでしょうか?
ブラウザをインストールする際に疑問に思いました。
こちらもご教授いただけたら幸いです。

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

A 回答 (3件)

私の場合は、自分でパッケージrpm化したものであれば、/usrまたは/usr/local にインストールし、それ以外のものは/opt/(package name)にFHSに従ってインストールするようにしています。



ソースコードからインストールした場合で一番問題なのがちゃんとしたアンインストーラがないことだと思います。

従って、/opt配下にパッケージ毎に分割してインストールすることにより、削除時はそのディレクトリごとバッサリ消してしまうことで削除できます。

Apacheの場合には/opt配下にインストールするためにレイアウトというものが用意されているのでそれが一番簡単です。

$ ./configure --with-layout=opt

その他のアプリケーション、例えばproftpdだと、

$ ./configure --prefix=/opt/proftpd --sysconfdir=/etc/opt/proftpd --localstatedir=/var/opt/proftpd

ただ、実際のところは人好き好きだと思いますよ。

> また、root権限でインストールして、
> それをどの一般ユーザーからも使えるようにするにはどうしたらよいでしょうか?
> ブラウザをインストールする際に疑問に思いました。

どこにインストールしようと、.bashrcあたりでパスやLD_LIBRARY_PATH等を設定するとちゃんと起動できるはずです。
    • good
    • 1
この回答へのお礼

>従って、/opt配下にパッケージ毎に分割してインストールすることにより、削除時はそのディレクトリごとバッサリ消してしまうことで削除できます。
これは確かにいいですね。。
僕はディストロがSUSEなんですが、
/opt配下に何個かアプリケーションがインストールされていました。

>ただ、実際のところは人好き好きだと思いますよ。
#1・#3さんの言っているコトも全部何らかの理由があってそこに配置しているというのが分かる気がするので、
やっぱり好きずきっていうのはあるんですね。。

>どこにインストールしようと、.bashrcあたりでパスやLD_LIBRARY_PATH等を設定するとちゃんと起動できるはずです。
あぁ!そこで設定すればいいんですね!
すごく参考になりました!
ありがとうございます^^

お礼日時:2005/08/25 01:08

解凍先はセキュリティポリシーというよりは


どっちかというと流行りの問題ですかね。
解説書によっては/usr/local以下を指定することも
多いようですが、個人的にはlocal自体に解凍すると
わけわかんなくなるので/usr/local/srcをつくってあり
その下に解凍してます。
場合によってはユーザーのカレント(~/)とかに解凍
することもあります。(すぐ消しちゃうときとか)

ソースからのインストール先は私はなるべくprefixを
指定して/usr/local以下にアプリの名称がわかるように
インストールしてます。
例えば私の管理している某サーバーだと、/usr/localの
以下はこんな感じ

BerkeleyDB.4.3,apache,bin,doc,etc,ftpmirror,
idnkit,include,info,lib,libdata,libexec,man,
mysql,php,samba,sbin,share,squid,src

もちろんシステム系のアプリは/etc以下に置くことも
おおいですよね。例えばbindだと/etc/namedbとか
sendmailだと/etc/mailとか・・・

コマンドは、chmodで権限さえ開放しておけば
パスさえとおってれば誰でも動作させられるはず。
場合によってはsudoなどで特定ユーザーにのみ権限
開放してやることもあるでしょう
    • good
    • 1
この回答へのお礼

>個人的にはlocal自体に解凍すると
わけわかんなくなるので/usr/local/srcをつくってあり
その下に解凍してます。
なるほどなるほど。。
確かに雑誌なんかでよく、
/usr/binがゴミ溜めのようになっていませんか?
なんてフレーズを聴いたことがあるような気がします。
/srcディレクトリを作ってあげるのもいいですね。。

>ソースからのインストール先は私はなるべくprefixを
指定して/usr/local以下にアプリの名称がわかるように
インストールしてます。
prefixを指定するっていうのは全然考えてませんでした!参考になりました!

>もちろんシステム系のアプリは/etc以下に置くことも
おおいですよね。
うんうん。。確かに言われてみればそんな気がします。
みなさん微妙に違う返答ですが、どれも共通して理由があってすごく参考になりました。
ありがとうございました^^

お礼日時:2005/08/25 01:16

基本として、ディストリビューションが用意したもの以外を


ローカルな管理者が導入する場合

/usr/localの下にディレクトリーを作ったりする。
単一のファイルで済むものなら、/usr/local/binだろうし
シェルスクリプトによるインストーラーを用意したソフトでは
自動的に/usr/localにディレクトリーを作るものもあるみたい。

今みたら、RealPlayerとか翻訳の王様とかが/usr/localに入ってた。
翻訳の王様のLinuxコンポーネントは
rpmだったような気もするんだけど…
    • good
    • 0
この回答へのお礼

なるほど。。単一のファイルで済むなら
/usr/local/bin
っていうのは考えてみるとそうですね!
/usr/local
にアプリケーションのディレクトリがあるっていうのは
見てみたら何個かありました。
ありがとうございます。
参考になりました^^

お礼日時:2005/08/25 01:05

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

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

このQ&Aを見た人はこんなQ&Aも見ています

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

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

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はパッケージもソースでもインストールされていない可能性があります。

Qlinuxのフォルダと配置について

linuxのフォルダと配置について

そんなもの好きに配置すれば良いというのは分かっているとして。。。

windowsの場合、
ユーザー毎のモノはDocuments and Settingsに
プログラムはProgrm Filesに
その他は適当に適切な場所へ
という使い方が一般的な形ですが、

linuxの場合、どうなのでしょうか?
ユーザー毎のモノはhomeに
それから、、、
プログラムはusrに入れるのが良いのか?それともvarか?
この辺りがわかり辛いです。

同じデータベースソフトのデフォルトでも
mysqlは
/var/lib/mysql/
postgresは
/usr/local/pgsql/
と、割れています。

くどいようですが、
そんなものただのデフォルトなので好きに配置すれば良いというのは分かっています。

varとusr、またその他の決まりモノのように存在するフォルダのあるべき考え方、使い方を教えてください。

個人的な印象では
varはログやデータなどの置き場、
usrはアプリのインストール場所
という感じがします。

mysqlはデータをvarに置きつつも、コマンドは/usr/binにあります。
postgresはアプリのインストール場所についでにデータの置き場つくったって感じでしょうか。

あと、自作でプログラムやシェルを作った場合、
var、usr、home、その他
どこに置くのが妥当でしょうか?

linuxのフォルダと配置について

そんなもの好きに配置すれば良いというのは分かっているとして。。。

windowsの場合、
ユーザー毎のモノはDocuments and Settingsに
プログラムはProgrm Filesに
その他は適当に適切な場所へ
という使い方が一般的な形ですが、

linuxの場合、どうなのでしょうか?
ユーザー毎のモノはhomeに
それから、、、
プログラムはusrに入れるのが良いのか?それともvarか?
この辺りがわかり辛いです。

同じデータベースソフトのデフォルトでも
mysqlは
/var/lib/mysql/
postgresは
/u...続きを読む

Aベストアンサー

フォルダの配置についてはきちんと定義されています。
RedHatで言えば、以下を参考にされると良いでしょう。
http://www.jp.redhat.com/support/manuals/RHL62/ref-guide/ch-sysadmin.html

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

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

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

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

Aベストアンサー

(1)service --status-all

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

(2)chkconfig --list

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

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

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

Qaptでインストールしたプログラムはどのディレクトリに?(Ubuntu)

Ubuntuを使っています。

aptでインストールしたプログラムはどのディレクトリにインストールするのでしょうか?また、aptでインストールしたプログラムを確認する方法(どんなプログラムをインストールしたのかを確認する方法)はあるでしょうか?

Aベストアンサー

>aptでインストールしたプログラムを確認する方法

見逃してました。

# dpkg -l

とかで。

Qrpmでパッケージのファイルがインストールされる場所について。

rpmパッケージでrpm -qlpとかでパッケージに含まれるファイルはわかりますが、それがどこにインストールされるのか事前にわかるような方法はあるでしょうか?rpmのマニュアルはもちろんよんだのですが。

Aベストアンサー

こんばんは。

>BUILDとSRPMSというディレクトリは何に使われるのでしょうか?

BUILD は、コンパイル(パッケージ構築)が行われるワークみたいなところです。

SRPMS はソースパッケージ(.src.rpm)が作られる場所です。
rpmbuild -ba オプションで、XXXX.rpm とXXX.src.rpm の両方が作成されます。


>にcoreutils-5.93-7.2.src.rpm関連のファイルがあるのはrpm -ivh coreutils-5.93-7.2.src.rpm
>としたからなのでしょうか?

そのとおりです。rpm -ivhでインストールされます。
#5で回答したとおり、coreutilsのソース本体は、/usr/src/redhat/SOURCES/coreutils-5.2.1.tar.bz2
です。

Q#./configureの時点でダメです。

  Fedora Core6 から始めたばかりです。
#./configureの時点で

bash: ./configure: そのようなファイルやディレクトリはありません

と言われます。解凍したディレクトリに入ってやったのですが
PHPやfirefoxどちらもダメでした。
一日かけても答えが出ずくじけそうになってます。
  助けてください。

Aベストアンサー

> bash: ./configure: そのようなファイルやディレクトリはありません

エラーの表示されるディレクトリーで # ls とすると configure はないですよね? 『./configure』の意味は、カレント・ディレクトリーにある『configure』を実行しなさい!ですから、存在しないから・・・『そのようなファイルやディレクトリはありません』と報告しています。
実行するディレクトリーをパッケージを解凍したディレクトリーに移動しすれば正常に実行できますよ ^ ^

 ちょっと気になるのですが・・・・
『bash: ./configure: その・・・』『:』が『e』の後ろにありますが・・・それって単なるタイプ・ミスですよね???

Qインストールされているプログラムの一覧を見たい。

Windowsでの、「プログラムの追加と削除」などのように、インストールされているプログラムの一覧を見る方法を教えていただきたいです。

Ubuntuを使っています。

よろしくお願いします。

Aベストアンサー

GNOMEメニューのアプリケーションから「追加と削除」
表示:インストール済みのアプリケーション

Qpingでポートの指定

pingでIPアドレスを指定して、通信できるかどうかというのは
よく使いますが、pingでポートを指定して応答するかどうかは調べられるのでしょうか?

よろしくお願いします

Aベストアンサー

pingを含むICMPというプロトコルは、OSIの7レイヤで言うところのL2(同一セグメント内通信)とL3(IPルーティングされた通信)の両方にまたがる、ちょっと珍しいプロトコルです。

IPアドレスは指定できますが、別サブネットに属するIPアドレスに到達できればL3通信、できなければゲートウェイと呼ばれる同一サブネットに属する中継装置からの回答を得るという点でL2(MAC通信ではなく、同一セグメント内通信という意味)通信です。

ポート番号はL4で使用されるアドレスですから、L4機能の疎通確認はping(を含むICMP)ではできません。

FTPの疎通確認であれば、クライアントからサーバに対するTCP/21通信(FTP-CMD)が可能であること(サーバからクライアントへのTCP/21からの応答を含む)+サーバからクライアントに対するTCP/20通信(FTP-DATA)が可能であること(クライアントからサーバへのTCP/21からの応答を含む)が必要でしょう。

監視ソフトによるものであれば、
・クライアントからサーバへのログイン(TCP/21)
・クライアントからサーバへのlsの結果(TCP/20)
で確認すればよいでしょう。

pingを含むICMPというプロトコルは、OSIの7レイヤで言うところのL2(同一セグメント内通信)とL3(IPルーティングされた通信)の両方にまたがる、ちょっと珍しいプロトコルです。

IPアドレスは指定できますが、別サブネットに属するIPアドレスに到達できればL3通信、できなければゲートウェイと呼ばれる同一サブネットに属する中継装置からの回答を得るという点でL2(MAC通信ではなく、同一セグメント内通信という意味)通信です。

ポート番号はL4で使用されるアドレスですから、L4機能の疎通確認はping(を含む...続きを読む

Qyumインストール先は、何で決まるのでしょうか?

yumインストール先は、何で決まるのでしょうか?
どこかに設定ファイルがあってそこに記述しているのでしょうか?
それを変更すると、インストール先が変わるのでしょうか?(特に変更したいわけではないのですが単なる疑問です)
また、インストール先が予め決められているとしたら、「yumコマンド」はどこで打っても同じということでしょうか?(カレントディレクトリとか考慮しない?)

■質問背景
「CentOS」に「phpMyAdmin」をyumでインストールしようとしています。
実際に入れてみて、探してみればどこにあるのか分かるとは思うのですが(rpm -ql phpMyAdmin?)、
事前にインストール先を知るにはどうしたら良いのでしょうか?
「yum list installed」だと一覧は表示されるのですが、パスは表示されなかったので

後、「Linux」におけるインストール先の決まりごとみたいなのはあるのでしょうか?
普通はここに入れる、もしくは、人によって異なる?

Aベストアンサー

Linuxにはファイル配置のお作法、とでもいうものがあって、
/bin には共通で使う実行ファイル、
/sbin にはrootユーザ用の実行ファイル
/etc には設定ファイル
/var にはログとか動作中に使うファイル
/usr にはユーザごとに使用するファイル
などなどディレクトリの使い方が決まってたりします。
(この作法にもRedhat系やDebian系などいくつか流派があったりしますが。。)

で、yumやrpmで特にオプションを付けずにインストールすればこの作法に則った場所にインストールされます。
・必要なコマンドは/bin,/sbin,/usr/binなどに
・設定ファイルは/etc/xxxx/xxxx.conf などに
・ライブラリは/lib,/user/lib などに
などなど。

逆にインストール先を指定する場合はyumなら"installroot"、rpmなら"prefix"オプションで指定出来ます。
rpmなら"-ql"オプションでインストール先の表示もできます。
pypMyadminの場合"/user/share/"のようですね。

http://www.magic3.org/doc/index.php?phpMyAdmin%E3%81%AE%E3%82%A4%E3%83%B3%E3%82%B9%E3%83%88%E3%83%BC%E3%83%AB%28yum%E3%82%B3%E3%83%9E%E3%83%B3%E3%83%89%29

Linuxにはファイル配置のお作法、とでもいうものがあって、
/bin には共通で使う実行ファイル、
/sbin にはrootユーザ用の実行ファイル
/etc には設定ファイル
/var にはログとか動作中に使うファイル
/usr にはユーザごとに使用するファイル
などなどディレクトリの使い方が決まってたりします。
(この作法にもRedhat系やDebian系などいくつか流派があったりしますが。。)

で、yumやrpmで特にオプションを付けずにインストールすればこの作法に則った場所にインストールされます。
・必要なコマンドは/bin,/sbin...続きを読む

Qポートの80と443

こちらのサービス(https://secure.logmein.com/)を利用すると、インターネットを見られるサーバーのポートの80と443が空いていればルータやファイアウォールに特段の設定なく外部からサーバーを操作できるそうですが、逆にサーバーのポートの80や443を空けることには何か危険性があるのでしょうか。

Aベストアンサー

ポート80は一般的なHTTP、ポート443はHTTPSです。
この2つのポートがあいていなければインターネット接続(WEBブラウジング)は出来ません。
ですから、ほとんどのファイアウォールでこのポートは開いています。(インターネット接続を制限している社内LANでは当然閉じていますが)

ちなみに、よく使うポートとしてはFTPで20、21、SMTP(送信メール)で25、受信メールPOP3で110あたりです。セキュリティポリシー上、この辺は制限される事も多いですが、HTTP 80、HTTPS(暗号化用)443は通常閉じません。


危険性?
WEBプロトコルを使ってFTP的なファイル転送(WebDAV)やVPN等も出来るようになっています。当然そこにはある種の危険はつきものですが、WEBブラウジングに伴う危険と大きく変わりません。ウィルス等に感染していればこの2つのポートだけでも相当危険でしょうね。

参考まで。


このQ&Aを見た人がよく見るQ&A

人気Q&Aランキング

おすすめ情報