Windows 10确实非常不错,以至于我都不愿意再回到Linux桌面。 但有个问题,在Windows 进行后台开发很不方便,好多包甚至不支持Windows。 不过使用Vagrant这样的工具,可以大大减轻这样的问题。
Vagrant 介绍
Vagrant 可以很方便的管理虚拟机, 使得配置开发环境变得容易。 支持多种hypervisor, 不过我一般用virtualbox,够用而且不要钱。
Vagrant官网有详细的介绍, 里面的文档也比较好, 推荐进行学习。 也可以参考这个中文教程。
我的Vagrantfile
我一般有下面的需求:
- 配置特定的ip, 方便组织虚拟机和后面登陆.
- 共享磁盘.
- 配置cpu和内存(可选).
- 把我的公钥放在上面,方便后面登陆。
- 替换源为阿里云,并更新系统。
下面是我的Vagrantfile模板,满足了上面的要求,后面创建虚拟机只需要对这个模板稍作修改就可以了。
# -*- mode: ruby -*-
# vi: set ft=ruby :
Vagrant.configure("2") do |config|
config.vm.box = "ubuntu/xenial64"
config.vm.box_check_update = false
config.vm.network "private_network", ip: "172.16.1.4"
# 共享D盘和E盘
config.vm.synced_folder 'd:/', "/d"
config.vm.synced_folder 'e:/', "/e"
# 配置虚拟机的内存,cpu
config.vm.provider "virtualbox" do |v|
v.memory = 2048
v.cpus = 2
end
# 准备虚拟机
config.vm.provision "shell" do |s|
ssh_pub_key = File.readlines('E:\config\ssh\personal.pub').first.strip
s.inline = <<-SHELL
# 把自己的公钥放在上面
if ! grep -Fxq "$ssh_pub_key" /home/vagrant/.ssh/authorized_keys; then
echo #{ssh_pub_key} >> /home/vagrant/.ssh/authorized_keys
fi
# 替换默认源为阿里源
if ! cmp --silent /etc/apt/sources.list /e/config/vagrant/ubuntu/sources.list; then
sudo cp /etc/apt/sources.list /etc/apt/sources.list.backup
sudo cp /e/config/vagrant/ubuntu/sources.list /etc/apt/sources.list
fi
# 更新软件仓库信息 && 升级
sudo apt-get update && sudo apt-get -y upgrade
SHELL
end
end
其他配置: 我将公钥和阿里源文件提前放到了E盘指定的文件。
网友评论