回答編集履歴
5
Add expression
test
CHANGED
@@ -94,9 +94,29 @@
|
|
94
94
|
|
95
95
|
Windows 側で次のようにマウント・アンマウントします
|
96
96
|
|
97
|
+
|
98
|
+
|
99
|
+
マウント:
|
100
|
+
|
101
|
+
|
102
|
+
|
103
|
+
```console
|
104
|
+
|
97
|
-
|
105
|
+
net use Z: \172.28.128.3\workspace /user:vagrant vagrant
|
106
|
+
|
98
|
-
|
107
|
+
```
|
108
|
+
|
109
|
+
|
110
|
+
|
111
|
+
アンマウント:
|
112
|
+
|
113
|
+
|
114
|
+
|
115
|
+
```console
|
116
|
+
|
99
|
-
|
117
|
+
net use Z: /delete
|
118
|
+
|
119
|
+
```
|
100
120
|
|
101
121
|
|
102
122
|
|
4
Add second answer
test
CHANGED
File without changes
|
3
Add second answer
test
CHANGED
@@ -1,3 +1,115 @@
|
|
1
|
+
## 追記
|
2
|
+
|
3
|
+
|
4
|
+
|
5
|
+
`synced_folder` でマウントしたディレクトリーは
|
6
|
+
|
7
|
+
Windows のディスクなのでシンボリックリンクを作成することができない他、
|
8
|
+
|
9
|
+
権限も規定では `777` となります
|
10
|
+
|
11
|
+
特にシンボリックリンクは PHP で使われることが多いので
|
12
|
+
|
13
|
+
Composer のインストールが失敗する原因になりやすいです
|
14
|
+
|
15
|
+
|
16
|
+
|
17
|
+
自分の場合は、次のどちらかの対応を行っていました
|
18
|
+
|
19
|
+
|
20
|
+
|
21
|
+
## 選択 A: ファイルを絞って Windows からマウント
|
22
|
+
|
23
|
+
|
24
|
+
|
25
|
+
シンボリックリンクなどが含まれたディレクトリーは
|
26
|
+
|
27
|
+
Windows のディスク上で扱うことができませんので、
|
28
|
+
|
29
|
+
それ以外のファイルだけを Windows 上で管理するようにします
|
30
|
+
|
31
|
+
|
32
|
+
|
33
|
+
PHP のプロジェクトによっては
|
34
|
+
|
35
|
+
vendor ディレクトリーさえ Linux のディスクにしておけば
|
36
|
+
|
37
|
+
動作するものもあるので、その場合はこの方法を使います
|
38
|
+
|
39
|
+
|
40
|
+
|
41
|
+
ただし、Linux のディスクにあるファイルを取り出すときは
|
42
|
+
|
43
|
+
Windows 側の空のフォルダーを Linux 側のファイルのパスにマウントしても取り出せません
|
44
|
+
|
45
|
+
マウントは既存のファイル・ディレクトリーを隠し、
|
46
|
+
|
47
|
+
マウントしたファイル・ディレクトリーを表示します
|
48
|
+
|
49
|
+
[Answer: Vagrant shared folders wipes all the contents in my folders](https://stackoverflow.com/a/25487042/12721873?stw=2)
|
50
|
+
|
51
|
+
[Answer: What does Linux do with existing files in a mount point?](https://superuser.com/a/200697/1167741?stw=2)
|
52
|
+
|
53
|
+
[mount(8): mount filesystem - Linux man page](https://linux.die.net/man/8/mount)
|
54
|
+
|
55
|
+
|
56
|
+
|
57
|
+
Linux 上のファイルを取り出すときは次のコマンドが役立ちます:
|
58
|
+
|
59
|
+
|
60
|
+
|
61
|
+
```console
|
62
|
+
|
63
|
+
cp -ipr /path/to/source /path/to/destination
|
64
|
+
|
65
|
+
```
|
66
|
+
|
67
|
+
|
68
|
+
|
69
|
+
## 選択 B: 仮想マシンのボリュームを Windows にマウント
|
70
|
+
|
71
|
+
|
72
|
+
|
73
|
+
どうしてもシンボリックリンク等のファイルを扱う必要がある場合は
|
74
|
+
|
75
|
+
Vagrant の `synced_folder` の利用を諦め、
|
76
|
+
|
77
|
+
`Samba` を使って Linux 側のディスクを Windows にマウントします
|
78
|
+
|
79
|
+
|
80
|
+
|
81
|
+
[Sambaの基本を知っておこう:基礎から理解するLinuxサーバー[Cent OS 7.0編](7) - @IT](https://www.atmarkit.co.jp/ait/articles/1612/01/news183.html)
|
82
|
+
|
83
|
+
|
84
|
+
|
85
|
+
インストール手順は、次の Ansible コードが参考になります
|
86
|
+
|
87
|
+
(Ansible が実行できなくても、読めばインストール手順としては参考になると思います)
|
88
|
+
|
89
|
+
[ansible-role-samba-amazon-linux/main.yml at master · yukihiko-shinoda/ansible-role-samba-amazon-linux](https://github.com/yukihiko-shinoda/ansible-role-samba-amazon-linux/blob/master/tasks/main.yml)
|
90
|
+
|
91
|
+
|
92
|
+
|
93
|
+
正しくインストールすれば、Samba のサービスが Linux 側で起動するので
|
94
|
+
|
95
|
+
Windows 側で次のようにマウント・アンマウントします
|
96
|
+
|
97
|
+
[vagrant-symfony3/mount_workspace.bat at master · yukihiko-shinoda/vagrant-symfony3](https://github.com/yukihiko-shinoda/vagrant-symfony3/blob/master/mount_workspace.bat)
|
98
|
+
|
99
|
+
[vagrant-symfony3/unmount_workspace.bat at master · yukihiko-shinoda/vagrant-symfony3](https://github.com/yukihiko-shinoda/vagrant-symfony3/blob/master/unmount_workspace.bat)
|
100
|
+
|
101
|
+
|
102
|
+
|
103
|
+
## WSL は未検証です
|
104
|
+
|
105
|
+
|
106
|
+
|
107
|
+
上記の知識は WSL 以前のものなので、
|
108
|
+
|
109
|
+
もしかすると WSL を使えば別の解決方法があるかもしれません
|
110
|
+
|
111
|
+
|
112
|
+
|
1
113
|
## 元の回答
|
2
114
|
|
3
115
|
|
@@ -48,10 +160,6 @@
|
|
48
160
|
|
49
161
|
|
50
162
|
|
51
|
-
## 追記
|
52
|
-
|
53
|
-
|
54
|
-
|
55
163
|
仮想マシンに `GuestAdditions` はインストールしましたか?
|
56
164
|
|
57
165
|
`GuestAdditions` がインストールされていないと
|
2
Add second expression
test
CHANGED
@@ -75,3 +75,31 @@
|
|
75
75
|
vagrant plugin install vagrant-vbguest
|
76
76
|
|
77
77
|
```
|
78
|
+
|
79
|
+
|
80
|
+
|
81
|
+
また、`vagrant up` や `vagrant reload` した際に、次のログは表示されましたか?
|
82
|
+
|
83
|
+
|
84
|
+
|
85
|
+
```console
|
86
|
+
|
87
|
+
==> default: Checking for guest additions in VM...
|
88
|
+
|
89
|
+
==> default: Mounting shared folders...
|
90
|
+
|
91
|
+
default: /vagrant => C:/Users/Public/workspace/test-vagrant-287111
|
92
|
+
|
93
|
+
default: /var/www/html => C:/Users/Public/workspace/data
|
94
|
+
|
95
|
+
```
|
96
|
+
|
97
|
+
|
98
|
+
|
99
|
+
このログはフォルダーが正常にマウントされたことを示しています
|
100
|
+
|
101
|
+
もし、このログが表示されていない場合は、
|
102
|
+
|
103
|
+
仮想マシンが起動した際になんらかのエラーが発生しているものと思われます
|
104
|
+
|
105
|
+
その場合は、起動した際のメッセージを確認すると、原因を調べることができます
|
1
Add expression
test
CHANGED
@@ -1,3 +1,7 @@
|
|
1
|
+
## 元の回答
|
2
|
+
|
3
|
+
|
4
|
+
|
1
5
|
```Vagrantfile
|
2
6
|
|
3
7
|
config.vm.synced_folder "../data", "/var/www/html"
|
@@ -41,3 +45,33 @@
|
|
41
45
|
|
42
46
|
|
43
47
|
[vagrant up - Command-Line Interface | Vagrant by HashiCorp](https://www.vagrantup.com/docs/cli/up)
|
48
|
+
|
49
|
+
|
50
|
+
|
51
|
+
## 追記
|
52
|
+
|
53
|
+
|
54
|
+
|
55
|
+
仮想マシンに `GuestAdditions` はインストールしましたか?
|
56
|
+
|
57
|
+
`GuestAdditions` がインストールされていないと
|
58
|
+
|
59
|
+
ファイル共有は行なえません
|
60
|
+
|
61
|
+
|
62
|
+
|
63
|
+
`vagrant-vbguest` をインストールしておくと、
|
64
|
+
|
65
|
+
自動的に `GuestAdditions` をインストールしてくれるので便利かもしれません
|
66
|
+
|
67
|
+
|
68
|
+
|
69
|
+
[dotless-de/vagrant-vbguest: A Vagrant plugin to keep your VirtualBox Guest Additions up to date](https://github.com/dotless-de/vagrant-vbguest)
|
70
|
+
|
71
|
+
|
72
|
+
|
73
|
+
```console
|
74
|
+
|
75
|
+
vagrant plugin install vagrant-vbguest
|
76
|
+
|
77
|
+
```
|