No.2ベストアンサー
- 回答日時:
>実は、アプリケーションを作るのではなく、オープンソースのソフトを使う方です。
(カテゴリがちょっと違ったかもしれません)カテゴリは違いますね。
本来だったら
OS:
http://oshiete.goo.ne.jp/category/233/
の方でしょう。
>オープンソースのソフトをインストールする際
ここにも恐らく勘違いがあると思います。
「レポジトリ提供のバイナリ」ってのは、その殆どが「オープンソースのソフト」をディストロ提供側で、ユーザーの手間を削減する意味で、事前にビルドしたもの、です。
つまり、「オープンソースのソフト」と言うのは、別に「ソースファイルの形式"のみで"提供されている」って意味じゃありません。
「望めば必ずソースコードが入手出来る」と言う意味です。バイナリ形態だろうと何だろうと、この定義を満たせば「オープンソース」なんですよ。
恐らく、前提で把握すべき概念に対して勘違いしていると思われます。
>添付のREADMEファイルでは、./configureでよいと書かれているのですが、このソフトを使っているブログなどのサイトでは、/usr/localにインストール用のディレクトリを作成して、--prefixオプションでこのディレクトリを指定しています。
これはこう言う意味です。
基本的に./configureで良い、と書かれている場合はそれに従えば良いんですが……。
ところが、ディストロによって、
・提供アプリケーションは全て/usr/binに突っ込む形式のもの…(例:Debian系)
・ディストロが用意したOS関連/直結のアプリは/usr/binにあるが、ユーザーが独自にインストールしようとしたアプリケーションは(レポジトリ経由の提供バイナリも含めて)/usr/local/binに突っ込む形式のもの……(例:RedHat系)
と言う二つの大きな「流儀」があります。
そうすると、そもそもその「ソフトウェア製作者」がどっちの形式を念頭に入れて、と言うより、もっと言うと「どっちのディストロのOSを使ってソフトウェアを製作したのか?」それが鍵となってくるんです。
例えば、Debian系ユーザーだったら/usr/binに突っ込む事を念頭に入れてソフトウェアを製作した、けどインストールする側のユーザーが同じディストロを使ってるとは限らないんですよね。
その「このソフトを使っているブログなどのサイト」のユーザーが作成者が使ってるのと同じOSを使ってなかった、ってのが一番簡単に考えられる回答でしょう。
これは野良ビルドでは結構起こる事です。ソフトウェア製作者はmakefileを作るとき「自分が使ってるOS」をベースにして考えるのは良くある事です。従って、システムが若干違っただけで「××と言うディレクトリが見つからない。configureが失敗しました」と言うエラーを目にする事になります。「それを避けるための」--prefixオプションなんです。
これは例えば、RedHat系ディストロのユーザーが書いたソフトウェアを(過去の)Ubuntuでビルドしようとして上手く行かなかった、なんて事を僕も経験してます。元のソフトが/usr/local/binにインストールされるのを念頭においてるのに、Ubuntuにはそもそも/usr/localと言うディレクトリ自体が存在しなかった、とか。最近この手のconfigureの不具合を回避する為か、Ubuntuにも/usr/localディレクトリが出来ましたけどね。
まあ、そう言った「互換性問題」の為に--prefixオプションが存在するのです。
ご返答ありがとうございます。
このソフトのREADMEファイルをよく見るとRedHat系で、参考にしたサイトではUbuntuを使っていました。
私もUbuntuを使っているので、なぜかなとふしぎに思っていたのですが、疑問が解消されました。
ありがとうございました。
No.1
- 回答日時:
デフォルトではほぼ付ける必要性がありません。
--prefixオプションは、そうですねえ……。
例えば、今みたいにレポジトリが完備されているディストリビューションが殆どの中で、ディストロ提供側が用意したバイナリのインストールが可能で、ほぼそれでまかなえる場合、/usr/binとか/usr/local/binに自分でビルドしたソフトウェアを追加した時、「パッケージ管理システム」が誤動作したりする可能性がある、んです。
そう言う時、野良ビルドしたソフトウェアを/usr/binとか/usr/local/binなんかじゃなくって、例えば/opt以下に突っ込む、とか言う流儀があるんですね。そう言うディレクトリがあれば、ですけど。
そう言う時、ディスティネーション(インストール先)を、通常想定されている/usr/binとか/usr/local/binから変更する必要性が出てくる、んです。例えば/opt/binとかに。
「その為の」--prefixですね。
ご返信ありがとうございます。
実は、アプリケーションを作るのではなく、オープンソースのソフトを使う方です。(カテゴリがちょっと違ったかもしれません)
詳しくは、オープンソースのソフトをインストールする際、添付のREADMEファイルでは、./configureでよいと書かれているのですが、このソフトを使っているブログなどのサイトでは、/usr/localにインストール用のディレクトリを作成して、--prefixオプションでこのディレクトリを指定しています。
こうすることのメリット、例えば、アンインストールの時このディレクトリを削除するだけでよいとか、このディレクトリのバックアップをとっておけばすぐに復帰できるとかのメリットがあるのかなと思ったのですが。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- PostgreSQL PostgreSQL14.6のSSL対応について 1 2023/01/05 15:42
- 英語 「install and/or execute an application」の訳し方 2 2022/04/05 11:11
- CPU・メモリ・マザーボード マザーボードM5A99FX PRO R2.0にCentOS7,Fedora32,Debian11等を 2 2023/05/24 05:08
- Ruby Ruby / passenger のインストールについて 1 2023/01/30 18:31
- UNIX・Linux OS(fedora)の再インストール 5 2022/11/15 14:21
- UNIX・Linux Linuxのパーティションタイプ(MBR/GPT)について 2 2022/07/26 13:35
- UNIX・Linux 【初心者】aws lightsail で自作のオリジナルテーマのwordpressを設定する方法 1 2022/07/14 09:46
- UNIX・Linux ASUS UEFI BIOS バージョン 0507 x64 のマザーボードを使ってますが、このマザボ 1 2023/05/18 21:13
- UNIX・Linux LINUXでのパーティション追加について 1 2022/12/09 11:15
- UNIX・Linux linux 初心者です。コマンドラインでのインストールとアップデート方法を教えてください。 3 2022/04/04 00:53
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
応用情報技術者試験の令和元年...
-
インクリメント演算子のみを用...
-
Windows formアプリで データグ...
-
右ビットシフト
-
Linux Cプログラミングを学ぶた...
-
プログラミングについて。 1つ...
-
ArduinoのジャイロモジュールMP...
-
c言語
-
これなにがちがうんですか??
-
Int('1234') で、strをかんたん...
-
C言語 配列と関数の練習問題
-
質問失礼します。 プログラム言...
-
C言語の関数と配列に関する質問
-
どなたかこのプログラミングを...
-
VisualStudio2022でC言語プログ...
-
C言語をコンパイルするとコンピ...
-
どちのほうがすきですか?
-
Notepad++の関数リスト表示の変...
-
WindowsのCapsLock(キャップス...
-
double型が正常に認識されてい...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
eclipseでC言語がコンパイルで...
-
CGIでの環境変数PERL5LIBの設定
-
perlなんですが、403エラーにつ...
-
CGIをSSL対応に?
-
500エラーorダウンロードになる...
-
bashシェルスクリプトで空白が...
-
scpコマンドでリモートサーバの...
-
Viで書き込もうとすると、保...
-
書き込み権限が無いためコピー...
-
/ が何時の間にか「Read-only f...
-
コマンド終了ステータス
-
FTPコマンドの戻り値について
-
DOSコマンドでのワイルドカ...
-
rcpコマンドについて、教えて!
-
Illustratorのデータをまとめて...
-
telnet,rlogin,rshの違いってな...
-
IBM漢字コードのSJIS変...
-
GNOME端末の起動 及び コマンド...
-
/etc/passwd と /etc/shadowを...
-
FTP接続中のコマンド実行結果を...
おすすめ情報