zoukankan      html  css  js  c++  java
  • MAC使用vagrant搭建开发环境

    公司的开发环境是这样的:

        Windows主机通过虚拟机安装CentOS。平时在Windows下编辑代码,然后跑到虚拟机里编译。

    我自己有台MAC,本来准备直接在MAC上装开发环境的。基于以下两个原因放弃了:

    1. 我有系统洁癖。
    2. 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内存大小

    1. 直接通过virtualbox修改
    2. 修改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

  • 相关阅读:
    C#磁吸屏幕窗体类库
    准备
    我写的诗
    How to turn off a laptop keyboard
    How to tell which commit a tag points to in Git?
    Why should I care about lightweight vs. annotated tags?
    How to get rid of “would clobber existing tag”
    Facebook, Google and Twitter threaten to leave Hong Kong over privacy law changes
    The need for legislative reform on secrecy orders
    Can a foreign key be NULL and/or duplicate?
  • 原文地址:https://www.cnblogs.com/gattaca/p/6298407.html
Copyright © 2011-2022 走看看