新鲜的Ubuntu虚拟机,一般自己都会装这些东西:
#) 设置root密码:
:~$ sudo -s
root@:/# passwd root
#)建议先用桥接安装,然后再改成NAT,然后再改/etc/resolv.conf里面的DNS,因为直接NAT的话可能导致源解析失败,非常麻烦。 如果是NAT网络创建的虚拟机,需要修改一下dns server,不然会经常出现域名解析错误的情况,导致安装其他东西的时候老是提示下载错误,让你误以为是被墙。
root@ubuntu01:~# vi /etc/resolv.conf
在最前面加上
#add these lines on top and above one for home router…
nameserver 8.8.8.8
nameserver 114.114.114.114
然后:
sudo systemctl daemon-reload
#) 先将镜像源改为国内,这样apt-get update的时候快些,后面在改成阿里或者163的镜像源。这一步如果你不熟悉也可以不做,只是在安装软件的时候慢些。
cp /etc/apt/source-list /etc/apt/source-list.backup
vi /etc/apt/source-list
然后 :%s/hk./cn./g
这个是把原来香港的镜像源改为国内。有的会是美国或者其他的,不懂这个命令就先不要改了,后面在看我怎么改成阿里镜像源。
#) 一般新鲜的虚拟机都要先apt-get update 然后再安装其他软件。可以不做第二步,直接apt-get update
#) 安装配置 openssh-server
root@:~# apt-get install openssh-server
修改配置:
root@:~# vi /etc/ssh/sshd_config
(确认端口为22,且没有被注释)
# What ports, IPs and protocols we listen for
Port 22
# Authentication:
LoginGraceTime 120
#PermitRootLogin without-password \\注释掉这一行
PermitRootLogin yes \\赋值上面那一行,改成yes,保存退出
StrictModes yes
重启ssh 服务
sudo /etc/init.d/ssh restart
#) 可选.
如果你在安装虚拟机的时候用的是桥接模式给虚拟机分配IP的,那这里你应该可以通过ssh去连接虚拟机了。但是我这里用NAT方式,需要设置一下端口转发。(VMware的好像不用自己试一下,virtualbox的需要)
1)首先ifconfig -a 看看虚拟机IP是多少:10.0.2.15
然后去修改virtual box上面的设置->网络->端口转发->新建一个规则:
tcp 本机IP是127.0.0.1 端口给9000 虚拟机IP就是10.0.2.15 端口 22
然后再win7上的ssh客户端输入ssh://root@127.0.0.1:9000就可以以root身份登录到虚拟机了。现在我们可以通过ssh登录虚拟机了。
#) 可选,让一个普通用户变成root用户:
# vi /etc/passwd
agan:x:0:0:agan,,,:/home/agan:/bin/bash
将这个用户的第三、第四段改成:agan:x:0:0,其他段不用改,保存即可。
#) 我们把镜像源改成阿里的,注意这个是Ubuntu16.04的镜像源,其他版本的请自行百度,不要用这个。
vi /etc/apt/sources.list
把里面原来所有的删掉,把下面的贴进去,然后apt-get update
deb http://mirrors.aliyun.com/ubuntu/ xenial main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ xenial-security main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ xenial-updates main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ xenial-proposed main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ xenial-backports main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ xenial main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ xenial-security main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ xenial-updates main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ xenial-proposed main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ xenial-backports main restricted universe multiverse
#)让虚拟机获取静态IP:
auto enp0s3
iface enp0s3 inet static
address 10.0.2.5
netmask 255.255.255.0
gateway 10.0.2.1
dns-nameserver 8.8.8.8
dns-nameserver 114.114.114.114
#) 如果需要高版本的go环境,就安装,不需要太高版本的就用apt-get install go就好了。
这个链接有安装源下载。下载二进制安装文件传到虚拟机之后:
tar -xf go1.11.1.linux-amd64.tar.gz -C /usr/local/
解压完可以用这个命令测试一下安装包是否正确:
root@ubuntu01:~# /usr/local/go/bin/go version
go version go1.11.1 linux/amd64
root@ubuntu01:~#
上面说明正确。
GO需要设置环境变量:
root@ubuntu01:~# vi ~/.bashrc
#在最后加上:
export PATH=$PATH:/usr/local/go/bin/
export GOROOT=/usr/local/go
export GOPATH=~/mygo #这个下面创建一个src目录用来放go源码
root@ubuntu01:~# mkdir ~/mygo #创建一下这个目录
更新一下:
root@ubuntu01:~# pwd
/root
root@ubuntu01:~# ls .bashrc #看我路径,这个路径下面有这个文件
.bashrc
root@ubuntu01:~# source .bashrc
root@ubuntu01:~# go version #这里直接输入go命令就可以了,说明安装成功
go version go1.11.1 linux/amd64
root@ubuntu01:~#
然后创建一下这几个目录
root@ubuntu01:~# cd $GOPATH
root@ubuntu01:~/mygo# pwd
/root/mygo
root@ubuntu01:~/mygo# echo $GOPATH
/root/mygo #这个和上面的一样了,我们才在这个地方创建src和bin目录
root@ubuntu01:~/mygo#
root@ubuntu01:~/mygo# mkdir src #这个下面放go源码
root@ubuntu01:~/mygo# mkdir bin #这个下面会自动放进去二进制文件。
上面这两个文件是在go module还没有出来的时候需要创建的,go module出来之后就不需要了,现在还需要创建这两个文件。
#) 安装docker。如果没有要求可以直接通过apt-get install docker安装,如果要安装高版本请到官网参考。
因为docker实时会更新,最好到官网查看安装方法:
如果登录不上官网,找其他教程看看,或者用先用系统自带的docker。
这个是Ubuntu的,其他的也就在那附近,自己找一下。
https://docs.docker.com/install/linux/docker-ce/ubuntu/#prerequisites
按照官网的执行到apt-get update的时候有可能报如下错误
Reading package lists... Done
W: Failed to fetch https://download.docker.com/linux/ubuntu/dists/xenial/InRelease Could not resolve host: download.docker.com
W: Some index files failed to download. They have been ignored, or old ones used instead.
这时候先确认你的DNS解析服务文件
vi /etc/resolv.conf
最前面的最好是
nameserver 8.8.8.8
nameserver 114.114.114.114
修改之后,让新的DNS server生效:
sudo systemctl daemon-reload
sudo systemctl restart docker
sudo systemctl status docker
#) 安装docker-compose
官网链接 https://docs.docker.com/compose/install/
安装Python-pip
apt-get install python-pip
下载版本,版本号1.12.0会随着时间的推移而改变,可在docker-compose官网选择合适的版本。
sudo curl -L "https://github.com/docker/compose/releases/download/1.22.0/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
sudo mv ~/docker-compose /usr/local/bin/docker-compose
chmod +x /usr/local/bin/docker-compose
#) git上clone下fabric源码之后可以在这个地方用这个脚本拉取fabric镜像
cd ~/go/src/github.com/hyperledger/fabric/examples/e2e_cli/
source download-dockerimages.sh -c x86_64-1.0.0 -f x86_64-1.0.0