config2spec环境配置
注意:一定要把虚拟机的磁盘空间一次分配够,我分配了80G之后不够了,扩容之后就怎么都打不开了,只能重新安装。一定要分配够啊
本条注意请忽略
1.准备工作
ubuntu-18.04.5-desktop-amd64.iso
jdk-8u261-linux-x64.tar.gz
apache-maven-3.3.9-bin.tar.gz
2.安装jdk
解压jdk到用户目录的jdk文件夹中
$ cd ~
$ mkdir jdk
$ tar -zxvf jdk-8u261-linux-x64.tar.gz
配置环境变量
$ vim /etc/profile
export JAVA_HOME=/home/miracle/jdk/jdk1.8.0_261
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib:${CLASSPATH}
export PATH=${JAVA_HOME}/bin:${JRE_HOME}/bin:${PATH}
$ source /etc/profile
#将该命令添加都 ~/.bashrc中可以不用每次都执行该命令
$ java -version #验证是否安装成功
3.安装maven
解压maven到用户目录的maven文件夹中
$ cd ~
$ mkdir maven
$ tar -zxvf apache-maven-3.3.9-bin.tar.gz
$ vim /etc/profile
配置环境变量
export MAVEN_HOME=/home/miracle/maven/apache-maven-3.3.9
export PATH=${PATH}:${MAVEN_HOME}/bin
$ source /etc/profile
$ mvn -v #验证是否安装成功
4.配置batfish
config2spec-master所在路径为
/home/miracle/GitHub/config2spec-master
复制并解压batfish_repo.zip
$ cp /home/miracle/GitHub/config2spec-master/batfish_interface/batfish_repo.zip /home/miracle/GitHub/
$ unzip /home/miracle/GitHub/batfish_repo.zip
$ rm /home/miracle/GitHub/batfish_repo.zip
$ mv batfish-73946b2f1bdea5f1146e4db4f2586e071da752df c2s_batfish
执行setup.sh脚本,将config2spec对batfish的修改进行合并
$ bash /home/miracle/GitHub/config2spec-master/batfish_interface/setup.sh /home/miracle/GitHub c2s_batfish /home/miracle/GitHub/config2spec-master
打包编译
$ cd /home/miracle/GitHub/c2s_batfish/projects
$ mvn package
$ cd backend/target
$ java -cp backend-bundle-0.36.0.jar org.batfish.backend.Backend
如下图便成功了
5.安装z3
因为和GitHub上z3的版本不匹配,修改 tools/install_z3.sh ,将 UBUNTU_VERSION修改为16.04,如图 之所以采用Ubuntu18.04是因为16.04的python版本比较低,在安装过程中会遇到更多的麻烦
以下命令其实只需要执行sudo tools/install_z3.sh
即可
#安装z3
$ sudo tools/install_z3.sh
#Give your shell access to batfish functions
#Include this command in your .bashrc or equivalent or run it manually each time.
$ source tools/batfish_functions.sh
#编译,时间较长,请耐心等待
$ batfish_build_all
#运行
$ allinone -runclient false
6.Create a virtualenv with all requirements
安装pip3
#这个很容易断,建议多试几次
$ sudo apt install python3-pip
#断了之后执行以下命令,可以多试几次
$ sudo apt install python3-pip --fix-missing
#查看pip3是否安装成功
$ pip3 --version
安装virtualenv
$ pip3 install virtualenv
#或者直接使用下面的命令安装
$ sudo apt-get install virtualenv
Create a virtualenv
$ virtualenv -p python3 c2s_env
$ source c2s_env/bin/activate
$ cd /home/miracle/GitHub/config2spec-master
#下载未成功以下命令可以多运行几次
$ sudo apt-get install python3.6-dev
$ pip install -r requirements.txt
7.Install Config2Spec
$ pip install -e .
#如下图则安装完成
8.Run Config2Spec
$ cd ~/GitHub/config2spec-master
$ python run_c2s.py scenarios/bics ~/GitHub/c2s_batfish/projects/backend/target/backend-bundle-0.36.0.jar ~/GitHub/tmp -mf 1
运行截图如下