質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

ただいまの
回答率

90.47%

  • Vagrant

    1233questions

    Vagrantは、VirtualBox上の仮想マシンを コマンドラインから作成してくれるソフトウェアです。 ビルド環境など容易に構築が可能です。

  • VirtualBox

    801questions

    VirtualBoxは、現在米オラクル社が開発している、 x86仮想化ソフトウェア・パッケージの一つです。

Vagrantをインストールすると/opt/vagrant以下にインストールされる

受付中

回答 2

投稿

  • 評価
  • クリップ 0
  • VIEW 1,456

y_natsui

score 40

只今、MacにてVagrantをインストールして環境構築をしようとしているのですが、ファイルが/opt/vagrant以下にインストールされてしまいます。

これはどういった理由からこの場所にインストールされているのでしょうか?
/Applications/Vagrant以下にインストールされるのかと思っていたので、何故こういう状況が起きるのかを知りたいです。

自分自身でも色々調べたところMacPortsも関係しているのでしょうか?

Vagrantの公式のダウンロードサイトよりMac用をダウンロードしただけなのですが。

その点、ご教示頂けると幸いです。
  • 気になる質問をクリップする

    クリップした質問は、後からいつでもマイページで確認できます。

    またクリップした質問に回答があった際、通知やメールを受け取ることができます。

    クリップを取り消します

  • 良い質問の評価を上げる

    以下のような質問は評価を上げましょう

    • 質問内容が明確
    • 自分も答えを知りたい
    • 質問者以外のユーザにも役立つ

    評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

    質問の評価を上げたことを取り消します

  • 評価を下げられる数の上限に達しました

    評価を下げることができません

    • 1日5回まで評価を下げられます
    • 1日に1ユーザに対して2回まで評価を下げられます

    質問の評価を下げる

    teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

    • プログラミングに関係のない質問
    • やってほしいことだけを記載した丸投げの質問
    • 問題・課題が含まれていない質問
    • 意図的に内容が抹消された質問
    • 広告と受け取られるような投稿

    評価が下がると、TOPページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

    質問の評価を下げたことを取り消します

    この機能は開放されていません

    評価を下げる条件を満たしてません

    評価を下げる理由を選択してください

    詳細な説明はこちら

    上記に当てはまらず、質問内容が明確になっていない質問には「情報の追加・修正依頼」機能からコメントをしてください。

    質問の評価を下げる機能の利用条件

    この機能を利用するためには、以下の事項を行う必要があります。

回答 2

+2

Vagrantの公式のダウンロードサイトよりMac用をダウンロードした

のですよね?
そして「vagrant_x.x.x.dmg」内のインストーラに従ってデフォルトの設定でインストールされた訳ですよね?

であれば /opt/vagrant 配下がインストール先として定義されていただけで、不思議はないのではないでしょうか?

その証拠に、dmg パッケージに同梱されている「uninstall.tool」の内容をテキストエディタで確認してみてください。
29,30行目に以下のように定義されています。

append my_files "/opt/vagrant"
append my_files "/usr/local/bin/vagrant"

どの程度ご存知か分かりませんが、Mac OS X は BSD UNIX ベース のOSなので、ディレクトリ構成もその流儀に従っています。
そしてUnix系のOSでは、ユーザーが後から追加したアプリケーションが /opt 配下にインストールされるのはごく自然なことなのです。

同じUnix系のOSでもディストリビューションによって流儀が異なりますが、以下のページがご参考になるかもしれません。

各ディレクトリの役割を知ろう(ルートディレクトリ編)
FreeBSDとLinuxのディレクトリ構造一覧

以上、ご参考になれば幸いです。

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2015/08/01 16:27 編集

    回答有難うございます!
    ではインストールをすると下記の2つのパス上にインストールされるということでしょうか?それとも片方だけにインストールされる感じでしょうか?
    /usr/local/bin以下にはvagrantが見当たらなくて。
    append my_files "/opt/vagrant"
    append my_files "/usr/local/bin/vagrant"
    その点ご教示頂けると有難いです!

    上記リンクも参考にさせて頂きます!

    キャンセル

  • 2015/08/02 08:40 編集

    `/opt` 配下は追加のアプリ本体のインストール先です。
    しかし、この配下はデフォルトでは「コマンドサーチパス」に含まれていないので、コンソールから入力して利用する「コマンド」類は、パスの通ったディレクトリ配下へインストール(コピーまたはシンボリックリンク作成)されます。
    コマンド類のパスの通ったインストール先には以下の3箇所がありますが、それぞれのザックリとした使い分けは(自分の理解に基づくので厳密ではないですが)
    ① /bin     ← (OSの)基本コマンド類
    ② /usr/bin   ← ユーザープログラムのコマンド類
    ③ /usr/local/bin ← ユーザーが(ソースからマニュアルで追加した)コマンド類
    となっています。
    そして一般的には③→②→①の順にコマンドを検索するようにPATHが設定されています。

    Vagrant の場合、通常にインストールした直後には、以下のようにインストール(シンボリックリンク作成)されています。

    $ ls -l /usr/bin/vagrant
    lrwxr-xr-x 1 root wheel 24 2 14 09:02 /usr/bin/vagrant@ -> /opt/vagrant/bin/vagrant

    ご指摘のように、/usr/local/bin/vagrant は存在していませんが、もし追加(オプション)でVagrant関連のコマンドを追加する場合はここにインストールされるはずなので、アンインストール(お掃除)の対象として定義されているのだと思います。

    キャンセル

0

アプリの作りの話から始める必要があるのかなと思います。

まず、いわゆるアプリにはグラフィカルなGUIアプリと
ターミナルでコマンドを実行するCUIアプリに大別できます。

MacでGUIアプリを作った場合、/Applicationsにいれることで、
アプリケーションの一覧やLaunchpadなどに現れるようになります。
ですので、ほとんどのアプリは/Applicationsに入れるようになっています。

しかし、CUIアプリは/Applicationsにいれても意味がありません。
なぜなら、ターミナルからコマンドを実行しようとしても、
/Applications配下にある各アプリについてコマンドがあるかを
確認しないためです。
ではどうするかというと、本体は全く別の場所において、コマンドのシンボリックリンクを
パスが通っている/usr/binまたは/usr/local/binに置く場合が多いです。
/usr/bin等にコマンドを置くと、ターミナルからコマンド名だけで
実行できるようになるからです。
ただし、/usr/bin等におくのはコマンドへのリンクのみで、
本体をどこに置くのかはアプリによって違います。
GUIアプリとしての機能もある場合は/Applicationsに一緒に置くものもあります。
システムに深く関わるものですと/System/Library配下に置く場合があります。(例えばJava)
UNIX/Linux由来のCUIアプリは/optに置く傾向があります。
/optはPOSIX(UNIX共通の決まり事、MacもPOSIXに準拠している)で
サードパーティーのアプリを置く場所として決めているからです。

では、Vagrantはどうかというと、VagrantはもともとRubyGemで
いれることから始まっており、UNIX/Linux由来のCUIアプリです。
そのため、POSIXの慣習に従って/optへ入れるようになっています。
なので本体は/opt/vagrantにあるわけです。
ただ、これだけですとターミナルからコマンドを実行できません。
(ターミナルは/opt/vagrantにvagrantがあるなんて知らないからです。)
追加で、/usr/local/bin/vagrantというシンボリックリンクを作成して、
本体の/opt/vagrant/bin/vagrantに向ける作りなっています。

投稿

編集

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2015/08/02 16:22

    GUIとCUIアプリの一般的な所からご説明頂きありがとうございます!
    やっと何故vagrantが/opt以下に置かれるかが理解出来ました。

    ちなみに自分がvagrantのコマンドが実行できるようにしたやり方として.bash_profileに以下の様にパスを通して使えるようにしたのですが
    export PATH=/opt/vagrant/bin:$PATH

    このやり方は適切な方法ではないのでしょうか?

    キャンセル

  • 2015/08/02 16:53

    いいえ、間違いではありません。
    "/opt/vagrant/bin"を見に行くのでも問題ありません。

    vagrantのコマンドを"/usr/local/bin"に置くのは、
    他のアプリケーションの多くが、同じように"/usr/local/bin"に置くからです。
    そのため、Macではデフォルトで"/usr/local/bin"がPATHにありませんが、
    ほとんどのユーザが追加している場合が多いです。
    "/usr/local/bin"を使っているアプリが他にあれば、
    共通してPATHに含めた方が楽ですが、
    特になければ、"/opt/vagrant/bin"のみを指定しても問題ありません。

    キャンセル

15分調べてもわからないことは、teratailで質問しよう!

  • ただいまの回答率 90.47%
  • 質問をまとめることで、思考を整理して素早く解決
  • テンプレート機能で、簡単に質問をまとめられる

関連した質問

同じタグがついた質問を見る

  • Vagrant

    1233questions

    Vagrantは、VirtualBox上の仮想マシンを コマンドラインから作成してくれるソフトウェアです。 ビルド環境など容易に構築が可能です。

  • VirtualBox

    801questions

    VirtualBoxは、現在米オラクル社が開発している、 x86仮想化ソフトウェア・パッケージの一つです。