Simplified install with vagrant

vagrant简易安装

本文会教你如何使用vagrant用最少的步骤安装和运行一个虚拟机器。这是给初学者的安装建议,它会帮助你解决许多安装过程中常见的陷阱。

github上的安装教程请见:https://github.com/edx/edx-platform#installation—the-first-time

故障排除

这一章节会介绍一些vagrant安装过程中的坑,你也可以去谷歌小组edx[general]小组寻找自己的问题解决的方案。

检查VirtualBox/Vagrant的版本

如果使用Vagrant安装和运行虚拟出现问题,第一步请检查一下VirtualBox和Vagrant 的版本,VirtualBox >=4.2.16,Vagrant >=1.3.5.

重安装

如果安装出错,你可以轻易的使用一下命令重新安装。

$ vagrant destroy -f && vagrant up

这一个命令会删除当前虚拟主机,并创建新的虚拟主机,并重新安装所有的依赖包和配置环境。

需要AWS 和互联网虚拟机服务商?

不需要,

安装NFS共享文件夹

“The following SSH command responded with a non-zero exit status.”

如果出现一下错误:

[default] Mounting NFS shared folders...
The following SSH command responded with a non-zero exit status.
Vagrant assumes that this means the command failed!
mount -o vers=3 192.168.20.1:'/Users/Bluelysium/edx-platform' /edx/edx-platform

Mac操作系统第一次尝试共享文件的时候就会报错提醒:

$ vagrant halt ; vagrant up

如果仍远不能解决活动,请关闭防火墙,使用debug模式重新运行

$ VAGRANT_LOG=debug vagrant destroy -f && vagrant up

出错信息是”It appears your machine doesn’t support NFS”

如果你运行$ vagrant up出线以下报错信息

It appears your machine doesn't support NFS, or there is not an
adapter to enable NFS on this machine for Vagrant. Please verify
that `nfsd` is installed on your machine, and try again. If you're
on Windows, NFS isn't supported.

你需要安装NFS服务,在Debian/Ubuntu使用一下命令进行安装。

$ sudo apt-get install nfs-common nfs-kernel-server

下载precise32镜像文件

如果下载precise32文件网速很慢或者链接失败,请手动下载,以下是地址http://files.vagrantup.com/precise32.box
然后加载镜像

$ vagrant box add precise32 /path/to/precise32.box

最后运行

$ vagrant destroy -f && vagrant up

处理Windows操作系统行结束和连接符号问题

在Windows运行vagrant up 你需要安装最新的cygwin,并且在cygwin终端里输入命令行
这听起来有点恐怖,是的而且你还需要使用麻省理工的Vagrant 镜像替换原有的镜像。这样做很可能不便于管理源代码,但是可以轻松在windows下运行edx程序.
运行一下程序可以方便的进入edx-platform 根目录

 # You need to run this from cygwin, not the Windows command-line (see above)
 git rm --cached -r . && git reset --hard
 git config --global alias.add-symlink '!__git_add_symlink(){ dst=$(echo "$2")/../$(echo "$1"); if [ -e "$dst" ]; then hash=$(echo "$1" | git hash-object -w --stdin); git update-index --add --cacheinfo 120000 "$hash" "$2"; git checkout -- "$2"; else echo "ERROR: Target $dst does not exist!"; echo "       Not creating invalid symlink."; fi; }; __git_add_symlink "$1" "$2"'
 git config --global alias.rm-symlink '!__git_rm_symlink(){ git checkout -- "$1"; link=$(echo "$1"); POS=$'\''/'\''; DOS=$'\''\\\\'\''; doslink=${link//$POS/$DOS}; dest=$(dirname "$link")/$(cat "$link"); dosdest=${dest//$POS/$DOS}; if [ -f "$dest" ]; then rm -f "$link"; cmd //C mklink //H "$doslink" "$dosdest"; elif [ -d "$dest" ]; then rm -f "$link"; cmd //C mklink //J "$doslink" "$dosdest"; else echo "ERROR: Something went wrong when processing $1 . . ."; echo "       $dest may not actually exist as a valid target."; fi; }; __git_rm_symlink "$1"'
 git config --global alias.rm-symlinks '!__git_rm_symlinks(){ for symlink in `git ls-files -s | grep -E "^120000" | cut -f2`; do git rm-symlink "$symlink"; git update-index --assume-unchanged "$symlink"; done; }; __git_rm_symlinks'
 git config --global alias.checkout-symlinks '!__git_checkout_symlinks(){ POS=$'\''/'\''; DOS=$'\''\\\\'\''; for symlink in `git ls-files -s | grep -E "^120000" | cut -f2`; do git update-index --no-assume-unchanged "$symlink"; if [ -d "$symlink" ]; then dossymlink=${symlink//$POS/$DOS}; cmd //C rmdir //S //Q "$dossymlink"; fi; git  checkout -- "$symlink"; echo "Restored git symlink $symlink <<===>> `cat $symlink`"; done; }; __git_checkout_symlinks'
 git rm-symlinks

第一行确保所有的文件的结束符正确。
第四行为连接符添加别名,最后一行创建新的连接符

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
物理层简化规范是指在计算机网络中,用于描述数据传输的物理层参数和特性的一种规范。物理层是计算机网络中最底层的一层,负责控制数据在网络中的传输和接收。 物理层简化规范通常包括以下几个方面的内容: 1. 传输介质:描述了网络使用的传输介质的类型,例如铜线、光纤或空气等。这些传输介质的不同特性会对数据的传输速率、距离和可靠性产生影响。 2. 接口类型:描述了物理层与其他网络设备(如网卡、集线器或交换机)之间的接口类型。常见的接口类型包括以太网、无线局域网(Wi-Fi)等。 3. 电气特性:描述了在传输介质上传输数据时所使用的电气信号的特性,如电压、频率等。这些电气特性对数据的传输速率、噪音干扰和传输距离等都有影响。 4. 编码和调制方式:描述了将数字数据转换为模拟信号以在传输介质上传输的编码和调制方式。常见的编码和调制方式包括曼彻斯特编码、振幅调制等。 5. 时钟同步:描述了在数据传输过程中保持发送端和接收端的时钟同步的方式。时钟同步对于正确识别和解析传输的数据至关重要。 物理层简化规范的目的是为了确保在计算机网络中数据的可靠传输和接收。它提供了一种标准化的方式来描述物理层的参数和特性,使得不同设备和系统之间能够互相兼容和交互。通过遵循这些规范,网络设备可以更好地理解和解析物理层传输的数据,从而实现高效和可靠的通信。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值