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

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

新規登録して質問してみよう
ただいま回答率
85.48%
Vagrant

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

Q&A

解決済

2回答

4614閲覧

vagrant上でのファイルをデスクトップに置き、アトムで編集するには

reotantan

総合スコア295

Vagrant

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

0グッド

0クリップ

投稿2016/08/22 06:03

mobaextermからvagrantを利用しているのですが
vagrant上のファイルを元のPCのデスクトップからatomで編集して管理したいのですが、
どのようにすればいいのでしょうか

気になる質問をクリップする

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

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

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

ベストアンサー

VirtualBox Guest Additionsをインストールすれば、ゲストOSの/vagrantが、ホスト側のVagrantファイルを置いているフォルダがマウントされます。
そのファイルをホスト側のAtomで編集すればOKです。

--
以下追記

私の環境では、vagrant up時に以下のようになります。

$ vagrant up Bringing machine 'default' up with 'virtualbox' provider... ==> default: Clearing any previously set forwarded ports... ==> default: Fixed port collision for 22 => 2222. Now on port 2200. ==> default: Clearing any previously set network interfaces... ==> default: Preparing network interfaces based on configuration... default: Adapter 1: nat ==> default: Forwarding ports... default: 22 => 2200 (adapter 1) ==> default: Booting VM... ==> default: Waiting for machine to boot. This may take a few minutes... default: SSH address: 127.0.0.1:2200 default: SSH username: vagrant default: SSH auth method: private key default: Warning: Connection timeout. Retrying... default: Warning: Remote connection disconnect. Retrying... ==> default: Machine booted and ready! ==> default: Checking for guest additions in VM... ==> default: Mounting shared folders... default: /vagrant => /Users/moonphase/guestos ==> default: Machine already provisioned. Run `vagrant provision` or use the `--provision` ==> default: flag to force provisioning. Provisioners marked to run always will still run.

投稿2016/08/22 06:13

編集2016/08/26 07:02
moonphase

総合スコア6621

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

Casablanca_mtg

2016/08/26 04:42

すみません。お教えください。VirtualBox Guest Additionをinstallしました。pyファイルを 呼び出すには[vagrant@localhost ~]$ python test.pyでよいのでしょうか?もちろんtest.pyはvagrantfileと同じ階層に置いています。そうするとpython: can't open file 'test.py': [Error 2] No such file or directoryとなります http://www.hcn.zaq.ne.jp/cabnw708/pic/vagrant.JPG よろしくお願いいたします
moonphase

2016/08/26 05:07

VirtualBox Guest Additionをインストールした後に、vagrant haltしてからvagrant upしましたか?そうすると/vagrantがマウントされます。
Casablanca_mtg

2016/08/26 05:40

これはwindowsならコマンドプロンプト、Macならターミナルで実行するのですか? インストール後にエンターキーを押すと端末は消えますね。再度端末を立ち上げてするのでしょうか?よろしくお願いいたします
moonphase

2016/08/26 05:43

vagrant halt/upがわからない場合は、Guest OSを再起動してください。
Casablanca_mtg

2016/08/26 06:35

windowsでvagrant halt/upしたら追加でcentOsが作られてしまいました。名前もmtg-1_default_1472190183815_14860でCuiです。なので前の分を立ち上げました。しかしてtest.pyは表示されないままです。追加された分はキーボードもおかしいしteratermも接続できないので削除しますね(前者が残っていますから。)
Casablanca_mtg

2016/08/26 07:26

少し頭を冷やしますね。下記がVirtualBoxの内容ですが上記の様にUPしたときは私の方もコードが流れました。そして追加で作られました http://www.hcn.zaq.ne.jp/cabnw708/pic/virtualBox_vagrnt.JPG Macも同じようにやりましたら http://www.hcn.zaq.ne.jp/cabnw708/pic/vagrant%20up.JPGとなりました。 WindowsもMacもcentostop画面一緒です http://www.hcn.zaq.ne.jp/cabnw708/pic/centos_top.JPG 不思議です???
moonphase

2016/08/26 07:34

vagrant init したタイミングで、boxからVMが作成されます。 その後、vagrant upするたびにVMが作られるんですか??? vagrant upは作成したVMのPowerをONにするだけのコマンドです。
Casablanca_mtg

2016/08/26 07:53

initは初期化ですよね。vagrant upはほとんどしたことがなくしたときは必ずmtg-1_default_でされたことが前にも一度ありました。仮に削除してもvagrantfileが残っているので完全削除ではないですね。どこかがおかしいですねVirtualBoxの共有を見たらデフォルトでvagrantfileがありますが追加はできないみたいです。訳が分からなくなってきています
moonphase

2016/08/26 07:58

2つのVMをVagrant経由で作成する場合はフォルダを分けます。 mkdir foo1 && cd foo1 && vagrant init xxxx && vagrant up cd .. mkdir foo2 && cd foo2 && vagrant init xxxx && vagrant up この使い方はあってますか?
Casablanca_mtg

2016/08/26 08:35

これはやったことがありません。Lnux mintやUbuntuはVagrntを介していません。Isofileからインストールしています そしてCentosのみvagrant経由です。削除するときはすべて跡形もなく削除してやり直していましたからもう何回も繰り返し繰り返しやりました(centOsそのものを削除しVagrantもプログラムと機能から削除しておりました。) https://teratail.com/questions/45512?complete= 表題のごとくやりたかったことです
moonphase

2016/08/26 08:50

Vagrantで初期化していないものは /vagrant フォルダは作成されません。 Virtualboxのみで共有フォルダーを作成しましょう。 VirtualBox Guest Additionを入れた後、VirtualBoxの仮想マシンを右クリック-設定-共有フォルダー 右にある「フォルダに+記号」アイコンをクリックし、 フォルダーのパスに、ローカル側(ホスト側)のパスを指定、 フォルダー名に vagrant 永続化する にチェックを入れればvagrantと同様の事が出来ると思います。 Vagrantはこれを自動でやってくれているだけです。
Casablanca_mtg

2016/08/27 00:07

おはようございます。これは自動的にこのようになっています。お教えくださいGuest Additionsをインストールしました。そうしたときCentosのシェルからVagrantfileと同じ階層に置いたPYfileはPythonの保存したファイルとして[vagrant@localhost ~]としてそのファイルを呼び出すことができるのですよね。コマンドプロンプトやターミナルのようにcd /vagrantで移動してからPython test.pyとコードを打ち込めばtest.pyの中身が表示されるとの理解でよいのでしょうか?ただしそうしてもエラーになるのはなぜですか?何が不足しているのでしょうか?よろしくお願いいたします。
moonphase

2016/08/27 00:36

おはようございます。 私の環境で以下試しました。 ■OSX側 $ ls -1 Vagrantfile test.py ■CentOS側 [vagrant@localhost ~]$ ls -1 /vagrant Vagrantfile test.py [vagrant@localhost ~] python /vagrant/test.py Hello world! -- Python test.pyと打ち込んでも、Pythonというコマンドがないのでエラーがでます。 中身を表示するのはcatコマンドです。 移動してから表示するなら以下のとおりです。私の環境では表示されました。 [vagrant@localhost ~] cd /vagrant [vagrant@localhost vagrant]$ cat test.py print "Hello world!"
Casablanca_mtg

2016/08/27 01:35

ありがとうございます。ただ私はMacが使い慣れていないためOSX側のターミナルで確認ですね ■OSX側 $ ls -1    →エルエス スペースイチ Vagrantfile  →どこに存在するのか? test.py    →Vagrantと同じ階層に置く この様にまだまだMacはツリー環境がわかっていません(ツリーに関してはインストール済です) Windowsでもcentos側は同じだと思いますが [vagrant@localhost vagrant]$ cat test.py cat : test.py: そのようなファイルやディレクトリはありませんと出ます 何かがおかしいですね。centosのデスクトップにはVBOXADDITIONS_5.0.24_108355があります:これをクリックするとソフトウェアを実行と右に出るのでクリックしましたが何も変わらないみたいです。
Casablanca_mtg

2016/08/27 01:37

もう少しMacの使い方を勉強しないと駄目ですね。
moonphase

2016/08/27 01:38

OSX側:Vagrantfileはvagrant initしたディレクトリに作成されます。 CentOS側:/vagrantが作成されていても、共有設定がうまく言ってなければマウントされていないだけかもです。 VirtualBOXの共有設定を見たらOSX側のパスがわかると思いますがいかがでしょうか? CentOS側でのマウント状態は次の通りです。 $ df -h ファイルシス サイズ 使用 残り 使用% マウント位置 /dev/sda1 64G 1.4G 63G 3% / devtmpfs 236M 0 236M 0% /dev tmpfs 245M 0 245M 0% /dev/shm tmpfs 245M 4.3M 241M 2% /run tmpfs 245M 0 245M 0% /sys/fs/cgroup vagrant 233G 171G 62G 74% /vagrant tmpfs 49M 0 49M 0% /run/user/500
moonphase

2016/08/27 02:02

一旦、OSXでの最初からの手順を書きますね。 Vagrant initするところから全て書くのでやってみてください。 私が作った中身が最小インストールのCentOS6のBOXを使う例です。 $ cd $HOME $ mkdir test20160827 $ cd test20160827 $ vagrant init uemura/centos-6.7-x86_64 https://atlas.hashicorp.com/uemura/boxes/centos-6.7-x86_64 $ vagrant up $ echo 'print "Hello world!"' > test.py $ vagrant ssh [vagrant@localhost ~]$ python /vagrant/test.py
Casablanca_mtg

2016/08/27 02:08

ありがとうございます。この順番でやってみます
moonphase

2016/08/27 02:10

CentOS上でマウントされていませんね。 CentOS側で次のコマンドを実行してもマウントされませんか? sudo mount -t vboxsf -o uid=`id -u vagrant`,gid=`id -g vagrant` vagrant /vagrant もしマウントされない場合はVirtualBox Guest Additionが上手くインストールされていません。
Casablanca_mtg

2016/08/27 03:29

centos-6.7-x86_64は作成されました。そしてhello world!と表示されました。この分のlogin →vagrant,password →vagrantではないようですね。 そしてmountに関してはfailed to parse mount options で失敗です デバイスからGuest AdditionsCDイメージの挿入から入りましたがインストールされていないということですね 参考にしたサイトです http://qiita.com/SUZUKI_Masaya/items/ac0c9e8eb060f84f25a3 端末にPress Return to close this window...という表示が出てきたら、エンターキーを押す。この通りでできたのでインストール出来たものと思いました
moonphase

2016/08/27 04:01 編集

今気づきました。vagrantユーザーのパスワードは未設定でしたね。いつも鍵でログインしてるのでパスワードは使ってません。もしパスワードを設定するならrootでログインして、passwd vagrantで設定してください。rootユーザーはパスワードvagrantで入れます。 BOXは近いうちに再作成します。
Casablanca_mtg

2016/08/30 08:02

お世話になります。 VirtualBox Guest Additionがうまくインストール出来ていない原因は https://github.com/tommy-muehle/puppet-vagrant-boxes/releases/download/1.1.0/centos-7.0-x86_64.boxとvirtualBox5.024のバージョンが一致していないのかもしれないことが考えられますよね。そこでhttps://atlas.hashicorp.com/geerlingguy/boxes/centos7から再度インストールしなおしたいと思いますがvagrant init geerlingguy/centos7; vagrant up --provider virtualboを実行してもエラーが返ります。扱い方がよくわかりませんのでお教えください
guest

0

共有フォルダの設定をすればssh接続をしないでもファイルの編集を行うことが出来ます。
こちらなどを参考にするのがいいかと思います。
http://qiita.com/tanakachang/items/1367cef5df190548781c

共有フォルダを使用することで、Vagrantfileがある階層にappを配置すればvagrant sshした際のcd /vagrantとリンクしていますので、テキストエディタで編集可能になります。

投稿2016/08/22 06:10

編集2016/08/22 06:12
kenny_sayama

総合スコア1036

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

reotantan

2016/08/22 06:59

vagrant上でrails new~をしたときにはvagrant上(正確にはvirtual boxのubuntu)にファイルがあるという事ですよね。 だから共有フォルダーの設定を行い、パイプをつくるという理解で正しいでしょうか
kenny_sayama

2016/08/23 03:16

手順は 共有フォルダの設定(syncフォルダかシンボリックリンクをはる)がしてある前提ですが、 vagrant ssh cd /vagrant /vagrant内にrails appを設置 exit Vagrantfileがあるディレクトリにrails appが入っているかと思うので、そこのrails appを開いて編集すれば編集することが出来るかと思います。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問