虚拟机环境
安装 Centos 7
阿里云站点 使用下载镜像创建虚拟机
安装Golang
官网下载,注意下载版本,6.824对于go的版本的要求You should use Go 1.15 or any later version.
此处我选择的是1.17.7
1 2 3 4 5 6 7 8 9 10 11
| # 将go压缩包放在/usr/local下并解压 cd /usr/local rm -rf /usr/local/go && tar -C /usr/local -xzf go1.17.7.linux-amd64.tar.gz
# 在 /etc/profile 中添加环境变量(对所有用户有效) # 或在用户主目录下 .bash_profile 中添加环境变量(仅对该用户有效) vi /etc/profile export PATH="$PATH:/usr/local/go/bin" # 查看版本 go version
|
安装Git
1 2 3 4 5
| # 安装Git yum -y install git
# 查看版本 git --version
|
Git常见操作
安装Docker
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
| # 配置Docker的yum源 yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
# 安装Dokcer yum install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
# 启动Docker systemctl start docker
# 停止Docker systemctl stop docker
# 重启 systemctl restart docker
# 设置Docker开机自启 systemctl enable docker # 设置容器开机自启 docker update --restart=always 容器名称
# 执行docker ps命令,如果不报错,说明安装启动成功 docker ps
|
打开阿里云镜像加速器,复制镜像加速地址
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
| # 创建目录 mkdir -p /etc/docker
# 复制内容,注意把其中的镜像加速地址改成你自己的 tee /etc/docker/daemon.json <<-'EOF' { "registry-mirrors": ["https://xxxx.mirror.aliyuncs.com"] } EOF
# 重新加载配置 systemctl daemon-reload
# 重启Docker systemctl restart docker
|
Ubuntu下可安装goland
1 2 3 4 5 6 7 8 9 10 11 12 13 14
| # Goland 版本为 2021.1.3 sudo tar -zxvf goland-2021.1.3.tar.gz -C /usr/local sudo mv /usr/local/GoLand-2021.1.3/ /usr/local/GoLand
# 配置为全局启动 # 将启动脚本goland.sh加入用户的 /usr/bin/ 目录下,可以在任意位置执行goland.sh启动 GoLand IDE cd /usr/local/GoLand/bin/ sudo ln -s $(pwd)/goland.sh /usr/bin/goland.sh
# 配置启动命令别名并独立运行 # 通过重命名alias的方式简化启动命令,并独立运行(这样IDE不随terminal关闭而退出) vim /etc/bash.bashrc # 在末尾添加如下语句 alias goland='nohup goland.sh & >/dev/null'
|
本地环境
官网下载并安装Goland或VSCode,使用ssh远程开发,连接至虚拟机即可
Getting started
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
| # 克隆源码 git clone git://g.csail.mit.edu/6.824-golabs-2020 6.824
# 安装 make 工具(默认安装在 /usr/bin/make) yum -y install make # 安装gcc yum -y install gcc
# 编译运行 go build -buildmode=plugin ../mrapps/wc.go go run mrsequential.go wc.so pg*.txt
# 查看结果后删除 more mr-out-0 rm mr-out*
|
环境配置成功!