如何在linux用vagrant安装windows

请问一下,如何在linux用vagrant安装windows
最新回答
无理诗人

2024-07-28 02:56:41

你需要自己制作一个windows的box

  首先在本地创建好工作目录,并在命令行下切换到对应目录
  1 vagrant box add base CentOS-6.3-x86_64-minimal.box
  base 表示指定默认的box,也可以为box指定名称,比如 centos63 ,使用base时,之后可以直接使用 vagrant init 进行初始化,如果自行指定名称,则初始化的时候需要指定box的名称。
  CentOS-6.3-x86_64-minimal.box 是box对应的文件名,这里可以是本地保存box的路径,也可以是可以下载box的网址,如果是网址的话,Vagrant会自动启动下载。
  设置好box之后,在当前工作目录运行
  
  1 vagrant init
  
  生成对应的Vagrantfile。通过文本编辑器打开Vagrantfile可以进行一些进一步的常用配置:
  网络配置:
  Vagrant的网络有三种模式
  1、较为常用是端口映射,就是将虚拟机中的端口映射到宿主机对应的端口直接使用 ,在Vagrantfile中配置:
  
  1 config.vm.network :forwarded_port, guest: 80, host: 8080
  
  guest: 80 表示虚拟机中的80端口, host: 8080 表示映射到宿主机的8080端口。
  2、如果需要自己自由的访问虚拟机,但是别人不需要访问虚拟机,可以使用private_network,并为虚拟机设置IP ,在Vagrantfile中配置:
  
  1 config.vm.network :private_network, ip: "192.168.1.104"
  
  192.168.1.104 表示虚拟机的IP,多台虚拟机的话需要互相访问的话,设置在相同网段即可
  3、如果需要将虚拟机作为当前局域网中的一台计算机,由局域网进行DHCP,那么在Vagrantfile中配置:
  
  1 config.vm.network :public_network
  
  目录映射:
  既然是开发环境,那么开发工作肯定还是需要在本地完成,而不是都要进到虚拟机中去完成,虚拟机就好好在后台运行服务就好了,不然就本末倒置了,所以这里就需要使用目录映射功能,将本地的目录映射到虚拟机的对应目录。
  默认情况下,当前的工作目录,会被映射到虚拟机的 /vagrant 目录,当前目录下的文件可以直接在 /vagrant 下进行访问,当然也可以在通过 ln 创建软连接,如
  
  1 ln -fs /vagrant/wwwroot /var/www
  
  来进行目录映射,当然,从自动化配置的角度,能不进系统就不需要进系统,所以在Vagrant也可以进行目录映射的操作:
  
  1 config.vm.synced_folder "wwwroot/", "/var/www"
  
  前面的参数 “wwwroot/” 表示的是本地的路径,这里使用对于工作目录的相对路径,这里也可以使用绝对路径,比如: “d:/www/”
  后面的参数 “/var/www” 表示虚拟机中对应映射的目录。
  运行脚本:
  虽然不是必须,但是如果有需要在启动时运行一些脚本(环境的安装或者有些服务的启动需要在完成目录映射之后进行),可以编辑脚本,类似如下(摘自Vagrant Document):
  1 #!/usr/bin/env bash
  2
  3 apt-get update
  4 apt-get install -y apache2
  5 rm -rf /var/www
  6 ln -fs /vagrant /var/www
  保存在和Vagrantfile相同目录,文件名自取(如 boot.sh),然后在Vagrantfile中添加:
  1 config.vm.provision :shell, :path => "boot.sh"
  当初次使用基本的设置都完成则之后,则可以使用 vagrant up 启动虚拟机
  01 Bringing machine 'default' up with 'virtualbox' provider...
  02 [default] Setting the name of the VM...
  03 [default] Clearing any previously set forwarded ports...
  04 [default] Creating shared folders metadata...
  05 [default] Clearing any previously set network interfaces...
  06 [default] Preparing network interfaces based on configuration...
  07 [default] You are trying to forward to privileged ports (ports < = 1024). Most operating systems restrict this to only privileged process (typicallyprocesses running as an administrative user). This is a warning in case
  08 the port forwarding doesn't work. If any problems occur, please try a port higher than 1024.
  09 [default] Forwarding ports...
  10 [default] -- 22 => <strong>2222</strong> (adapter 1)
  11 [default] -- 80 => 8080 (adapter 1)
  12 [default] Booting VM...
  13 [default] Waiting for VM to boot. This can take a few minutes.
  14 [default] VM booted and ready for use!
  15 [default] The guest additions on this VM do not match the installed version of VirtualBox! In most cases this is fine, but in rare cases it can cause things such as shared folders to not work properly. If you see shared folder errors, please update the guest additions within the virtual machine and reload your VM.
  16
  17 Guest Additions Version: 4.1.18
  18 VirtualBox Version: 4.2
  19 [default] Mounting shared folders...
  20 [default] -- /var/www
  21 [default] -- /vagrant
  22 [default] Running provisioner: shell...
  虚拟机启动之后则可以通过 vagrant ssh 联入虚拟机进行进一步的环境配置,或者软件安装相关的工作,在Windows系统下,并不能直接通过 vagrant ssh 连到虚拟机,需要使用 Putty,Xshell 等第三方工具进行连接
  连接的IP和端口根据网络环境配置的不同有所不同,如果是默认使用端口映射的话,一般是连接 本地的2222端口。
  登录的帐号密码均为 vagrant ,登录之后如果需要 su root ,密码也是 vagrant
  注:使用 vagrant ssh 时,会提示可以使用密钥进行登录,如果需要使用putty进行密钥登录的话,需要下载 puttygen 将 ssh 的密钥转换为 ppk 文件才能使用。
  登录ssh完成环境的配置,如果在开发环境中使用webserver(nginx/apache)为了避免一些静态文件处理的问题,可能还需要进行一些额外的配置:Vagrant下共享目录静态文件(js/jpg/png等)“缓存”问题
  在不进入虚拟机的情况下,还可以使用下面的命令对 虚拟机进行管理:
  vagrant up (启动虚拟机)
  vagrant halt (关闭虚拟机——对应就是关机)
  vagrant suspend (暂停虚拟机——只是暂停,虚拟机内存等信息将以状态文件的方式保存在本地,可以执行恢复操作后继续使用)
  vagrant resume (恢复虚拟机 —— 与前面的暂停相对应)
  vagrant destroy (删除虚拟机,删除后在当前虚拟机所做进行的除开Vagrantfile中的配置都不会保留)
  当在启动Vagrant后,对于虚拟机有进行过安装环境相关的配置,如果并不希望写在Vagrant的启动shell里面每次都重新安装配置一遍,可以将当前配置好的虚拟机打包成box,
  1 vagrant package --output NAME --vagrantfile FILE
  2
  3 可选参数:
  4
  5 --output NAME : (可选)设置通过NAME来指定输出的文件名
  6
  7 --vagrantfile FILE:(可选)可以将Vagrantfile直接封进box中
  注:如果网络模式中使用 private_network 的话,在打包之前需要清除一下private_network的设置,避免不必要的错误:
  1 sudo rm -f /etc/udev/rule.d/70-persistent-net.rules
  制作完成之后直接将box文件拿到其他计算机上配置即可使用。
生生漫

2024-07-28 00:55:27

先需要自己制作一个windows的box
  首先在本地创建好工作目录,并在命令行下切换到对应目录
  1 vagrant box add base CentOS-6.3-x86_64-minimal.box
  base 表示指定默认的box,也可以为box指定名称,比如 centos63 ,使用base时,之后可以直接使用 vagrant init 进行初始化,如果自行指定名称,则初始化的时候需要指定box的名称。
  CentOS-6.3-x86_64-minimal.box 是box对应的文件名,这里可以是本地保存box的路径,也可以是可以下载box的网址,如果是网址的话,Vagrant会自动启动下载。
  设置好box之后,在当前工作目录运行
  
  1 vagrant init
  
  生成对应的Vagrantfile。通过文本编辑器打开Vagrantfile可以进行一些进一步的常用配置:
  网络配置:
  Vagrant的网络有三种模式
  1、较为常用是端口映射,就是将虚拟机中的端口映射到宿主机对应的端口直接使用 ,在Vagrantfile中配置:
  
  1 config.vm.network :forwarded_port, guest: 80, host: 8080
  
  guest: 80 表示虚拟机中的80端口, host: 8080 表示映射到宿主机的8080端口。
  2、如果需要自己自由的访问虚拟机,但是别人不需要访问虚拟机,可以使用private_network,并为虚拟机设置IP ,在Vagrantfile中配置:
  
  1 config.vm.network :private_network, ip: "192.168.1.104"
  
  192.168.1.104 表示虚拟机的IP,多台虚拟机的话需要互相访问的话,设置在相同网段即可
  3、如果需要将虚拟机作为当前局域网中的一台计算机,由局域网进行DHCP,那么在Vagrantfile中配置:
  1 config.vm.network :public_network
  目录映射:
  既然是开发环境,那么开发工作肯定还是需要在本地完成,而不是都要进到虚拟机中去完成,虚拟机就好好在后台运行服务就好了,不然就本末倒置了,所以这里就需要使用目录映射功能,将本地的目录映射到虚拟机的对应目录。
  默认情况下,当前的工作目录,会被映射到虚拟机的 /vagrant 目录,当前目录下的文件可以直接在 /vagrant 下进行访问,当然也可以在通过 ln 创建软连接,如
  1 ln -fs /vagrant/wwwroot /var/www
  来进行目录映射,当然,从自动化配置的角度,能不进系统就不需要进系统,所以在Vagrant也可以进行目录映射的操作:
  1 config.vm.synced_folder "wwwroot/", "/var/www"
  前面的参数 “wwwroot/” 表示的是本地的路径,这里使用对于工作目录的相对路径,这里也可以使用绝对路径,比如: “d:/www/”
  后面的参数 “/var/www” 表示虚拟机中对应映射的目录。
  运行脚本:
  虽然不是必须,但是如果有需要在启动时运行一些脚本(环境的安装或者有些服务的启动需要在完成目录映射之后进行),可以编辑脚本,类似如下(摘自Vagrant Document):
  1 #!/usr/bin/env bash
  2
  3 apt-get update
  4 apt-get install -y apache2
  5 rm -rf /var/www
  6 ln -fs /vagrant /var/www
  保存在和Vagrantfile相同目录,文件名自取(如 boot.sh),然后在Vagrantfile中添加:
  1 config.vm.provision :shell, :path => "boot.sh"
  当初次使用基本的设置都完成则之后,则可以使用 vagrant up 启动虚拟机
  01 Bringing machine 'default' up with 'virtualbox' provider...
  02 [default] Setting the name of the VM...
  03 [default] Clearing any previously set forwarded ports...
  04 [default] Creating shared folders metadata...
  05 [default] Clearing any previously set network interfaces...
  06 [default] Preparing network interfaces based on configuration...
  07 [default] You are trying to forward to privileged ports (ports < = 1024). Most operating systems restrict this to only privileged process (typicallyprocesses running as an administrative user). This is a warning in case
  08 the port forwarding doesn't work. If any problems occur, please try a port higher than 1024.
  09 [default] Forwarding ports...
  10 [default] -- 22 => <strong>2222</strong> (adapter 1)
  11 [default] -- 80 => 8080 (adapter 1)
  12 [default] Booting VM...
  13 [default] Waiting for VM to boot. This can take a few minutes.
  14 [default] VM booted and ready for use!
  15 [default] The guest additions on this VM do not match the installed version of VirtualBox! In most cases this is fine, but in rare cases it can cause things such as shared folders to not work properly. If you see shared folder errors, please update the guest additions within the virtual machine and reload your VM.
  16
  17 Guest Additions Version: 4.1.18
  18 VirtualBox Version: 4.2
  19 [default] Mounting shared folders...
  20 [default] -- /var/www
  21 [default] -- /vagrant
  22 [default] Running provisioner: shell...
  虚拟机启动之后则可以通过 vagrant ssh 联入虚拟机进行进一步的环境配置,或者软件安装相关的工作,在Windows系统下,并不能直接通过 vagrant ssh 连到虚拟机,需要使用 Putty,Xshell 等第三方工具进行连接
  连接的IP和端口根据网络环境配置的不同有所不同,如果是默认使用端口映射的话,一般是连接 本地的2222端口。
  登录的帐号密码均为 vagrant ,登录之后如果需要 su root ,密码也是 vagrant
  注:使用 vagrant ssh 时,会提示可以使用密钥进行登录,如果需要使用putty进行密钥登录的话,需要下载 puttygen 将 ssh 的密钥转换为 ppk 文件才能使用。
  登录ssh完成环境的配置,如果在开发环境中使用webserver(nginx/apache)为了避免一些静态文件处理的问题,可能还需要进行一些额外的配置:Vagrant下共享目录静态文件(js/jpg/png等)“缓存”问题
  在不进入虚拟机的情况下,还可以使用下面的命令对 虚拟机进行管理:
  vagrant up (启动虚拟机)
  vagrant halt (关闭虚拟机——对应就是关机)
  vagrant suspend (暂停虚拟机——只是暂停,虚拟机内存等信息将以状态文件的方式保存在本地,可以执行恢复操作后继续使用)
  vagrant resume (恢复虚拟机 —— 与前面的暂停相对应)
  vagrant destroy (删除虚拟机,删除后在当前虚拟机所做进行的除开Vagrantfile中的配置都不会保留)
  当在启动Vagrant后,对于虚拟机有进行过安装环境相关的配置,如果并不希望写在Vagrant的启动shell里面每次都重新安装配置一遍,可以将当前配置好的虚拟机打包成box,
  1 vagrant package --output NAME --vagrantfile FILE
  2
  3 可选参数:
  4
  5 --output NAME : (可选)设置通过NAME来指定输出的文件名
  6
  7 --vagrantfile FILE:(可选)可以将Vagrantfile直接封进box中
  注:如果网络模式中使用 private_network 的话,在打包之前需要清除一下private_network的设置,避免不必要的错误:
  1 sudo rm -f /etc/udev/rule.d/70-persistent-net.rules
  制作完成之后直接将box文件拿到其他计算机上配置即可使用。
眼眸熏染离情丶

2024-07-28 10:10:53

  需要自己制作一个windows的box
  首先在本地创建好工作目录,并在命令行下切换到对应目录
  1 vagrant box add base CentOS-6.3-x86_64-minimal.box
  base 表示指定默认的box,也可以为box指定名称,比如 centos63 ,使用base时,之后可以直接使用 vagrant init 进行初始化,如果自行指定名称,则初始化的时候需要指定box的名称。
  CentOS-6.3-x86_64-minimal.box 是box对应的文件名,这里可以是本地保存box的路径,也可以是可以下载box的网址,如果是网址的话,Vagrant会自动启动下载。
  设置好box之后,在当前工作目录运行
  
  1 vagrant init
  
  生成对应的Vagrantfile。通过文本编辑器打开Vagrantfile可以进行一些进一步的常用配置:
  网络配置:
  Vagrant的网络有三种模式
  1、较为常用是端口映射,就是将虚拟机中的端口映射到宿主机对应的端口直接使用 ,在Vagrantfile中配置:
  
  1 config.vm.network :forwarded_port, guest: 80, host: 8080
  
  guest: 80 表示虚拟机中的80端口, host: 8080 表示映射到宿主机的8080端口。
  2、如果需要自己自由的访问虚拟机,但是别人不需要访问虚拟机,可以使用private_network,并为虚拟机设置IP ,在Vagrantfile中配置:
  
  1 config.vm.network :private_network, ip: "192.168.1.104"
  
  192.168.1.104 表示虚拟机的IP,多台虚拟机的话需要互相访问的话,设置在相同网段即可
  3、如果需要将虚拟机作为当前局域网中的一台计算机,由局域网进行DHCP,那么在Vagrantfile中配置:
  
  1 config.vm.network :public_network
  
  目录映射:
  既然是开发环境,那么开发工作肯定还是需要在本地完成,而不是都要进到虚拟机中去完成,虚拟机就好好在后台运行服务就好了,不然就本末倒置了,所以这里就需要使用目录映射功能,将本地的目录映射到虚拟机的对应目录。
  默认情况下,当前的工作目录,会被映射到虚拟机的 /vagrant 目录,当前目录下的文件可以直接在 /vagrant 下进行访问,当然也可以在通过 ln 创建软连接,如
  
  1 ln -fs /vagrant/wwwroot /var/www
  
  来进行目录映射,当然,从自动化配置的角度,能不进系统就不需要进系统,所以在Vagrant也可以进行目录映射的操作:
  
  1 config.vm.synced_folder "wwwroot/", "/var/www"
  
  前面的参数 “wwwroot/” 表示的是本地的路径,这里使用对于工作目录的相对路径,这里也可以使用绝对路径,比如: “d:/www/”
  后面的参数 “/var/www” 表示虚拟机中对应映射的目录。
  运行脚本:
  虽然不是必须,但是如果有需要在启动时运行一些脚本(环境的安装或者有些服务的启动需要在完成目录映射之后进行),可以编辑脚本,类似如下(摘自Vagrant Document):
  1 #!/usr/bin/env bash
  2
  3 apt-get update
  4 apt-get install -y apache2
  5 rm -rf /var/www
  6 ln -fs /vagrant /var/www
  保存在和Vagrantfile相同目录,文件名自取(如 boot.sh),然后在Vagrantfile中添加:
  1 config.vm.provision :shell, :path => "boot.sh"
  当初次使用基本的设置都完成则之后,则可以使用 vagrant up 启动虚拟机
  01 Bringing machine 'default' up with 'virtualbox' provider...
  02 [default] Setting the name of the VM...
  03 [default] Clearing any previously set forwarded ports...
  04 [default] Creating shared folders metadata...
  05 [default] Clearing any previously set network interfaces...
  06 [default] Preparing network interfaces based on configuration...
  07 [default] You are trying to forward to privileged ports (ports < = 1024). Most operating systems restrict this to only privileged process (typicallyprocesses running as an administrative user). This is a warning in case
  08 the port forwarding doesn't work. If any problems occur, please try a port higher than 1024.
  09 [default] Forwarding ports...
  10 [default] -- 22 => <strong>2222</strong> (adapter 1)
  11 [default] -- 80 => 8080 (adapter 1)
  12 [default] Booting VM...
  13 [default] Waiting for VM to boot. This can take a few minutes.
  14 [default] VM booted and ready for use!
  15 [default] The guest additions on this VM do not match the installed version of VirtualBox! In most cases this is fine, but in rare cases it can cause things such as shared folders to not work properly. If you see shared folder errors, please update the guest additions within the virtual machine and reload your VM.
  16
  17 Guest Additions Version: 4.1.18
  18 VirtualBox Version: 4.2
  19 [default] Mounting shared folders...
  20 [default] -- /var/www
  21 [default] -- /vagrant
  22 [default] Running provisioner: shell...
  虚拟机启动之后则可以通过 vagrant ssh 联入虚拟机进行进一步的环境配置,或者软件安装相关的工作,在Windows系统下,并不能直接通过 vagrant ssh 连到虚拟机,需要使用 Putty,Xshell 等第三方工具进行连接
  连接的IP和端口根据网络环境配置的不同有所不同,如果是默认使用端口映射的话,一般是连接 本地的2222端口。
  登录的帐号密码均为 vagrant ,登录之后如果需要 su root ,密码也是 vagrant
  注:使用 vagrant ssh 时,会提示可以使用密钥进行登录,如果需要使用putty进行密钥登录的话,需要下载 puttygen 将 ssh 的密钥转换为 ppk 文件才能使用。
  登录ssh完成环境的配置,如果在开发环境中使用webserver(nginx/apache)为了避免一些静态文件处理的问题,可能还需要进行一些额外的配置:Vagrant下共享目录静态文件(js/jpg/png等)“缓存”问题
  在不进入虚拟机的情况下,还可以使用下面的命令对 虚拟机进行管理:
  vagrant up (启动虚拟机)
  vagrant halt (关闭虚拟机——对应就是关机)
  vagrant suspend (暂停虚拟机——只是暂停,虚拟机内存等信息将以状态文件的方式保存在本地,可以执行恢复操作后继续使用)
  vagrant resume (恢复虚拟机 —— 与前面的暂停相对应)
  vagrant destroy (删除虚拟机,删除后在当前虚拟机所做进行的除开Vagrantfile中的配置都不会保留)
  当在启动Vagrant后,对于虚拟机有进行过安装环境相关的配置,如果并不希望写在Vagrant的启动shell里面每次都重新安装配置一遍,可以将当前配置好的虚拟机打包成box,
  1 vagrant package --output NAME --vagrantfile FILE
  2
  3 可选参数:
  4
  5 --output NAME : (可选)设置通过NAME来指定输出的文件名
  6
  7 --vagrantfile FILE:(可选)可以将Vagrantfile直接封进box中
  注:如果网络模式中使用 private_network 的话,在打包之前需要清除一下private_network的设置,避免不必要的错误:
  1 sudo rm -f /etc/udev/rule.d/70-persistent-net.rules
  制作完成之后直接将box文件拿到其他计算机上配置即可使用。
小傻子

2024-07-28 02:22:54

要使用Vagrant需要先安装依赖支持的VirtualBox。下一步,下一步默认安装完成2个软件。下载安装 VirtualBox 官网:
https://www.virtualbox.org/
下载安装 Vagrant 官网:
http://www.vagrantup.com/

配置使用Vagrant 安装 kali linux
http://www.vagrantbox.es/
这里提供了超全的linux系统预制box包。已经给你搞好系统了,任君选取所需,我这里选kali linux先用迅雷把
http://ftp.sliim-projects.eu/boxes/kali-linux-1.0-amd64.box
下载好,放入你的工作目录如D:\Vagrant增加box
vagrant box add base kali-linux-1.0-amd64.box
初始化
vagrant init
D:\Vagrant>vagrant box add base kali-linux-1.0-amd64.box
==> box: Adding box ‘base’ (v0) for provider:
box: Downloading: file://D:/Vagrant/kali-linux-1.0-amd64.box
box: Progress: 100% (Rate: 65.2M/s, Estimated time remaining: –:–:–)
==> box: Successfully added box ‘base’ (v0) for ‘virtualbox’!D:\Vagrant>vagrant init
A Vagrantfile has been placed in this directory. You are now
ready to vagrant up your first virtual environment! Please read
the comments in the Vagrantfile as well as documentation on
vagrantup.com for more information on using Vagrant.
Vagrantfile配置
打开目下的Vagrantfile配置文件网络配置
Vagrant的网络有三种模式1、端口映射方式,映射虚拟机中端口到宿主机config.vm.network :forwarded_port, guest: 80, host: 8080guest: 80 表示虚拟机中的80端口, host: 8080 表示映射到宿主机的8080端口。2、私有网络config.vm.network :private_network, ip: "192.168.1.104"192.168.1.104 表示虚拟机的IP,多台虚拟机的话需要互相访问的话,设置在相同网段即可3、桥接
config.vm.network :public_network
这样一个广播域的dhcp就可以分配ip了
目录映射
默认情况下,当前的工作目录,会被映射到虚拟机的 /vagrant 目录,当前目录下的文件可以直接在 /vagrant 下进行访问
也可以自己根据需要映射下
config.vm.synced_folder "work1/", "/data1"前面的参数 “work1/” 表示的是本地的路径,这里使用对于工作目录的相对路径,这里也可以使用绝对路径,比如: “D:\Vagrant\work1”启动set VBOX_INSTALL_PATH=%VBOX_MSI_INSTALL_PATH%vagrant up –provider=virtualbox常用管理命令vagrant up (启动虚拟机)
vagrant halt (关闭虚拟机——对应就是关机)
vagrant suspend (暂停虚拟机——只是暂停,虚拟机内存等信息将以状态文件的方式保存在本地,可以执行恢复操作后继续使用)
vagrant resume (恢复虚拟机 —— 与前面的暂停相对应)
vagrant destroy (删除虚拟机,删除后在当前虚拟机所做进行的除开Vagrantfile中的配置都不会保留)