公司的开发环境是这样的:
Windows主机通过虚拟机安装CentOS。平时在Windows下编辑代码,然后跑到虚拟机里编译。
我自己有台MAC,本来准备直接在MAC上装开发环境的。基于以下两个原因放弃了:
- 我有系统洁癖。
- MAC系统终归和开发环境不同。
后来通过调研发现了vagrant这个新大陆,哈哈,开心。整个搭建过程如下:
1. 安装virtualbox
2. 安装vagrant
(直接去官网下载安装即可)
3. 下载CentOS
以前在虚拟机中安装CentOS,都要去下载对应系统的iso文件。vagrant有一个box的概念,你可以下载对应系统的box文件,非常方便。
下载地址:www.vagrantbox.es
4. 安装CentOS
首先选择一个目录作为MAC和虚拟机的共享目录,我在主目录下建了个目录vagrant。然后就是很简单的安装命令:
cd vagrant vagrant box add centos7 /your_box_path vagrant init centos7
到此,我们的CentOS就装好了。(目录下会生成一个配置文件Vagrantfile )
5. 访问CentOS
vagrant up // 启动CentOS vagrant ssh // ssh访问
到此,就可以愉快地开发了。
--------------------------------------------
修改默认登录用户
默认的登录用户是vagrant,如果想实现默认root登录,可在Vagrantfile 文件中添加如下配置:
config.ssh.username = 'root' config.ssh.password = 'vagrant' config.ssh.insert_key = 'true'
(root默认密码是:vagrant)
修改box内存大小
- 直接通过virtualbox修改
- 修改Vagrantfile文件
修改box磁盘大小(本人没试过)
VBoxManage clonehd box-disk1.vmdk tmp-disk.vdi --format vdi VBoxManage modifyhd tmp-disk.vdi --resize 61440 VBoxManage clonehd tmp-disk.vdi resized-disk.vmdk --format vmdk rm tmp-disk.vdi box-disk1.vmdk mv resized-disk.vmdk box-disk1.vmdk
链接:Add some way to increase disk space from Vagrantfile
box时间同步
如果你在make的时候出现如下错误:"检测到时钟错误。您的创建可能是不完整的。",那么说明你的系统时间有问题。
首先通过date命令查看系统时间,如果时区不对(输出中没有CST),那么直接修改/etc/localtime文件:
rm -f /etc/localtime ln -s /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
如果时区正确,那么应该是同步没有做好。
1. 检查是否安装ntp
rpm -qa ntp
如果没有直接 yum install ntp。
2. 时间同步
ntpdate cn.pool.ntp.org
3. 开机启动
chkconfig ntpd on
备份
vagrant package --output backup.box
PS:
在公司,用不了vagrant,怀疑是网络问题。详情可见:Failing "underlying SSH library"
参考文章:
https://github.com/astaxie/go-best-practice/blob/master/ebook/zh/01.2.md