从零开始在ubuntu1604上搭建onos
onos_wiki: https://wiki.onosproject.org/display/ONOS/ONOS
https://github.com/opennetworkinglab/onos
1,使用虚拟机VMware安装配置ubuntu系统。
为了追求系统稳定性,选择使用ubuntu16.04.6版本的系统。若使用远程服务器,则镜像加载需选择本地客户端加载安装包。安装过程中若出现not found提示,按Esc键即可继续加载安装。更改屏幕分辨率settings-display。
参考的链接如下:
Ubuntu安装包下载地址https://ubuntu.com/download/alternative-downloads;
安装好Ubuntu18.04之后要做的事!!大全、详细教程!https://blog.csdn.net/haeasringnar/article/details/81809040;
关于如何在VMware虚拟机里安装Ubuntu16.04系统https://jingyan.baidu.com/article/5d368d1ec381fe3f60c0572a.html;
用vmware在本地安装Ubuntu并调整屏幕大小适应本机https://blog.csdn.net/iqmae68024/article/details/54772918(命令为主,提取tar.gz文件时可打开DVD_VmwareTools直接拖拽,链接中的一个步骤要将cd vmware-tools-disturb更改成cd vmware-tools-distrib ),即安装vmware tools步骤链接 https://jingyan.baidu.com/article/6fb756ec4079cf241858fba9.html(鼠标点击为主)。
Ubuntu16.04系统安装搜狗输入法详细教程https://blog.csdn.net/areigninhell/article/details/79696751(可以装搜狗,但是系统里自带了中文输入法)
2,安装git(分布式版本控制系统)
crtl+alt+t打开终端,输入命令如下:$git $sudo apt install git
安装完成后输入:$git config --global user.name "Your name"
$git config --global user.email "email@example.com"
git使用教程参考:https://www.liaoxuefeng.com/wiki/896043488029600/896827951938304
创建一个版本库,首先要建立合适的新目录:
$ mkdir myRepo
$ cd myRepo
$ pwd (输出当前所在目录:qingcheng@ZQC:~/myRepo)
第二步,通过git init
命令把这个目录变成Git可以管理的仓库:$ git init
(输出:Initialized empty Git repository in /home/qingcheng/myRepo/.git/)
如果你没有看到.git
目录(不能动里面的内容),那是因为这个目录默认是隐藏的,用ls -ah
命令就可以看见。
3,安装jdk1.8
Ubuntu16.04安装JDK1.8详细步骤:https://blog.csdn.net/hhy1107786871/article/details/86540975
(良心总结)成功安装jdk1.8.0_221的网址:https://blog.csdn.net/zbj18314469395/article/details/86064849
1)前往oracle Java官网下载JDK(http://www.oracle.com/technetwork/java/javase/downloads/index.html)
2)解压缩到指定目录(以jdk-8u191-linux-x64.tar.gz为例)
创建目录: sudo mkdir /usr/lib/jvm
解压缩到该目录: sudo tar -zxvf jdk-7u60-linux-x64.gz -C /usr/lib/jvm
3)修改环境变量: sudo vi ~/.bashrc 在文件末尾追加下面内容:
#set oracle jdk environment
export JAVA_HOME=/usr/lib/jvm/jdk1.8.0_191 ## 这里要注意目录要换成自己解压的jdk 目录
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib
export PATH=${JAVA_HOME}/bin:$PATH
使环境变量马上生效:source ~/.bashrc
4)系统注册此jdk
sudo update-alternatives --install /usr/bin/java java /usr/lib/jvm/jdk1.8.0_191/bin/java 300
5)查看java版本,看看是否安装成功:java -version 如果你安装了多个版本的jdk,你可以通过以下命令在这些版本之间切换:
sudo update-alternatives –config java 前面带星号的是当前正在使用的java版本,键入编号选择使用哪个版本。
4,安装maven(项目管理工具)
核心功能:合理叙述项目间打依赖关系,通过pom.xml文件的配置自动获取jar包。
maven学习资料:https://www.imooc.com/learn/443
安装maven前需要先安装jdk1.8。
1)下载maven链接:https://maven.apache.org/download.cgi 选第一个
2)配置环境变量:$sudo gedit /etc/profile
在文件后加上:
export M2_HOME=/opt/maven/apache-maven-3.6.1
export CLASSPATH=$CLASSPATH:$M2_HOME/lib
export PATH=$PATH:$M2_HOME/bin
保存,输入以下命令使配置文件生效:source /etc/profile
解压maven压缩包到某一目录下:
创建maven目录:sudo mkdir /opt/maven
解压到该目录下:sudo tar zxvf apache-maven-3.6.1-bin.tar.gz -C /opt/maven
验证是否安装成功:mvn -v
配置环境变量方法二:sudo vim ~/.bashrc
在文本最后加入以下几句:(o换行,esc退出编辑模式,:wq保存并退出)
export M2_HOME=/opt/apache-maven-3.6.1
export CLASSPATH=$CLASSPATH:$M2_HOME/lib
export PATH=$PATH:$M2_HOME/bin
使文件生效:$ source ~/.bashrc
5,ONOS1.13框架及部署
参考:https://wiki.onosproject.org/pages/viewpage.action?pageId=10558601
解决依赖问题:sudo apt-get install git zip curl python -y
1)ONOS控制器编译与安装
第一步,切换至指定目录下,git源码:
cd myRepo(进入自己本地的git仓库,为后面创建分支做准备)
git clone https://gerrit.onosproject.org/onos
cd onos
git branch -a (查看远程分支)
git checkout remotes/origin/onos-1.13 (切换到远程分支)
第二步,配置到~/.bashrc(推荐):
切换到home文件夹 cd ~
sudo vim ~/.bashrc
export ONOS_ROOT=~/myRepo/onos
source $ONOS_ROOT/tools/dev/bash_profile
使环境变量马上生效:source ~/.bashrc
第三步,编译onos,编译后生成一个.tar.gz包(保持网络畅通)
cd ~/myRepo/onos
onos-buck build onos --show-output
输出:/home/qingcheng/myRepo/onos/tools/build/onos-buck: line 30: curl: command not found(因此要安装curl:sudo apt-get update
;sudo apt install curl
)
输出:Successfully updated Buck in /home/qingcheng/myRepo/onos/bin/buck to buck-v2018.02.09.01.zip
Unable to download: https://nodejs.org/dist/v8.1.2/node-v8.1.2-linux-x64.tar.gz
BUILD FAILED: //web/gui:node-release-v8.1.2 failed with exit code -1:
curl
(尝试解决:其实多运行几次onos-buck build onos --show-output即可输出。{我运行了三次}
也可在onos目录下输入$ONOS_ROOT/tools/build/onos-buck build onos --show-output)
The outputs are:
//tools/package:onos-package buck-out/gen/tools/package/onos-package/onos.tar.gz
第四步,将以上包解压,进入解压文件夹并执行karaf脚本
cd apache-karaf-3.0.8/bin
./karaf
除此之外,也可以通过onos脚本命令执行(推荐)
cd ~/myRepo/onos
onos-buck run onos-local
输出:/home/qingcheng/myRepo/onos/tools/build/onos-buck: line 130: 106014 Killed $BUCK "$@"
再输入:onos localhost
第五步,操作及使用
GUI界面:在浏览器中输入地址:localhost:8181/onos/ui/login.html(帐号:onos 密码:rocks)
参考:https://wiki.onosproject.org/display/ONOS/The+ONOS+Web+GUI
控制台:打开终端步骤(onos localhost)
cd ~/myRepo/onos
onos-buck run onos-local
Ctrl+Alt+T
onos localhost
onos> help onos(想看更多,enter)
onos> devices\link\hosts
onos> flows mininet ping
想要关闭:输入system:shutdown或logout;点击ctrl-d
DEBUG:
1.非正常关机后,开机遇到initramfs,解决方法如下图:
2.ubuntu Files打不开:在终端输入killall nautilus
nautilus命令快速打开文件:https://blog.csdn.net/kudou1994/article/details/88704586
3.扩展分区
sudo apt-get install gparted
查看分区的UUID: ls -l /dev/disk/by-uuid
列出分区的情况:df -lh
4.Ubuntu16.04 获取Root 权限https://blog.csdn.net/qq_34347375/article/details/79057268
5.虚拟机突然不能窗口自适应了
安装虚拟机tools : sudo ./VMware-install.pl
安装后在原目录继续配置文件得到自适应分辨率: sudo apt-get install open-vm-tools
一路yes或回车,只能装成功后点击虚拟机-设置窗口-自适应