公司的開發環境是這樣的:
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
