p4 编程语言环境配置

p4 编程语言环境配置,第1张

文章目录
  • 前言
  • 建议直接看第二种方法
  • 第一种方法:p4官方教程里的方法(不建议,我没安装成功)
    • 1.1 下载并安装 Virtual Box
    • 1.2 下载并安装 Vagrant
    • 1.3 利用 Vagrant 安装虚拟机
  • 第二种方法:直接导入已经配置好的虚拟镜像文件
    • 2.1 下载并安装 Virtual Box
    • 2.2 导入镜像文件
    • 2.3 (记录)其他镜像文件1
    • 2.4 (记录)其他镜像文件2
  • Reference


前言

p4 (官网链接:https://p4.org/)是一种用于网络设备的领域特定语言,指定数据平面设备(交换机、网卡、路由器、过滤器等)如何处理包。

本文主要介绍一下 p4 这门编程语言的虚拟机环境配置,供小伙伴们参考。

下面介绍两种环境配置方法:

第一种是p4官方教程里的方法(由于p4的环境配置复杂,所以官方直接给我们打包好了安装虚拟机的一系列文件,我们只需要按照步骤 *** 作就好。不建议用这种方法,因为很难安装成功,但是在这里我还是要记录一下安装步骤,供大家参考);

第二种方法是直接导入已经配置好的虚拟镜像文件,一般为 .ova 或者 .ovf 文件,下文中有获取链接。

建议直接看第二种方法

如果不想了解官网安装步骤的话可以直接看第二种方法

第一种方法:p4官方教程里的方法(不建议,我没安装成功)

打开 p4 的官方教程:https://github.com/p4lang/tutorials,你会看到下面这个界面,这里面有p4语言的相关练习exercises、安装虚拟环境所必要的文件等。

我们直接看下面的README.md,并且翻到下面这一部分:


按照红框里的步骤,逐一下载所需要的软件并执行相关 *** 作:

1.1 下载并安装 Virtual Box

下载链接:https://www.virtualbox.org/wiki/Downloads,点击这个链接会看到下面的页面,由于我的电脑是Window系统,所以我选择Windows hosts,点击即可下载。其他系统的小伙伴可以自行搜索如何下载安装。

0、下载好了,双击安装:


1、点击下一步

2、点击浏览更改安装位置,尽量不要装在C盘(系统盘),这里我装在了 D:\VirtualBox\ 目录下,点击下一步:

3、点击下一步:

4、点击 是

5、安装完成,点击完成并打开VirtualBox:

6、打开 全局设定:

7、修改默认虚拟电脑位置,就是给我们后面安装的虚拟机设定一个安装目录,并且以后我们的虚拟机都会安装到这个目录下。确保这个目录有足够的存储空间,最好不要在C盘(系统盘),这里我放在了D:\VirtualBos VMs这个目录下,然后点击 OK:


8、然后关闭VirtualBox,我们安装VirtualBox的工作就结束啦!!

1.2 下载并安装 Vagrant

下载链接:https://www.vagrantup.com/downloads
根据系统类型选择要下载的文件,我是win10 x86 64位的,所以选择了 Amd64,不过我试了另外一个686的,好像效果是一样的,不太清楚他们两个的区别是什么,反正随便下载一个就好啦

0、下载好了,双击安装

1、点击Next

2、接受,Next

3、更改安装文件夹,最好不要在C盘,Next

4、点击Install

5、等待一会就安装好了

6、安装好了,Finish

7、之后会d出下面这个窗口,点击Yes重启计算机或者自己手动重启计算机

Vagrant 是没有图形界面的,所以安装完成后也没有桌面快捷方式。开机之后,打开终端,输入vagrant version,这样可以判断是否安装成功

8、通过 Vagrant 创建虚机需要先导入镜像文件,它们默认存储的位置在用户目录下的 .vagrant.d 目录下,对于 Windows 系统来说,就是 C:\Users\用户名\.vagrant.d

如果后续可能会用到较多镜像,或者你的 C 盘空间比较紧缺,可以通过设置环境变量VAGRANT_HOME 来设置该目录。

打开系统设置,点击关于,然后点击右侧地高级系统设置

点击环境变量

新建系统变量


在 Windows 系统中,可以这样 *** 作:新建系统环境变量,环境变量名为 VAGRANT_HOME,变量值为 D:\VirtualBos VMs\.vagrant.d ,最后这个.vagrant.d 目录名称不是必须的,但是建议保持一致,这样一眼看上去就能知道这个目录是做什么用处的了。(可以注意到,这里的路径和刚刚我们安装Virtual Box时在全局设定中设置的虚拟机存放位置是一样的,这样做可以让我们以后更方便地管理自己的虚拟机)

然后一路确定就好了,为了保险起见,最好再重启一下计算机。

到这里,Vagrant 就安装好了。

1.3 利用 Vagrant 安装虚拟机

首先我们要去官网下载一下相关文件:https://github.com/p4lang/tutorials


下载好之后解压,进入下面这个文件夹

输入 cmd ,回车进入终端:


如下:

以上步骤相信大家都能顺利完成

接下来的步骤要保证有非常稳定的网络环境
在终端输入 vagrant up ,接下来就是漫长的等待过程,在此期间,Virtual Box会被唤醒并自动新建一个虚拟机,如果过顺利的话,按照官方说法,大概一两个小时之后,我们虚拟机就会完全安装完成,这个虚拟机里有我们运行p4语言所需要的所有环境。当然,这只是理论情况。


然而遗憾的是,我并没有在安装过程中顺利下载所有资源,从而导致虚拟机安装失败。当初我以为是网络不稳定,但是换了几个不同的网络之后,还是不行,这时我已经安装了3次了,每次vagrant up 之后都要等将近两个小时才能出结果,每次都是在下面这个界面卡一个多小时,然后报一大堆获取资源出错的错误,可想而知内心很崩溃。

最后仔细分析了报错的原因,发现有些资源的获取链接不是国内的,所以要FQ才能下载这些资源,事实证明也确实是这个原因,但是由于FQ后网络不稳定,试了几次还是没有成功,最后果断放弃。

如果有大佬安装成功了,希望可以克隆一份放在评论区,蟹蟹!!!

第二种方法:直接导入已经配置好的虚拟镜像文件

由于用第一种方法没有安装成功,我就在网上搜索有没有已经安装好的镜像文件,这样就可以用Virtual Box直接导入使用了。

最后在一位大佬的学习笔记中发现了一个配置好的镜像文件(链接:https://www.zhihu.com/people/yaoj-x/posts),他的这篇文章中给的链接时谷歌云盘,我下了好长时间才下载成功,下面是网盘链接,方便大家自取:

链接:https://pan.baidu.com/s/10JgFwffsPCyw6g7TVp8Asg 
提取码:2de6 
--来自百度网盘超级会员V4的分享

另外,这位大佬的笔记也是非常好,非常适合入门p4,推荐大家去看一下。

接下来介绍具体的安装步骤。

2.1 下载并安装 Virtual Box

这里和 1.1 中的步骤是一样的,就不再重复写了。

2.2 导入镜像文件

下载好上面网盘里的文件


打开Virtual Box,点击导入虚拟机

选择我们刚刚下载好的p4-learning.ova文件


点击导入


大概十几分钟就能完成


安装好了,点击启动(需要等待几分钟)

启动之后大概是这个样子

打开终端,输入git clone https://github.com/p4lang/tutorials,下载我们想要的p4教程

这时我们的主文件夹里会出现一个tutorial目录


tutorial目录里的exercises目录就是我们想要的p4练习

接下来就可以愉快地学习p4啦!!!

唯一遗憾的是,官方给的最新版是Ubuntu 20,而这个是Ubuntu 16,不过没关系啦,对于学习p4来说已经够用了。


2.3 (记录)其他镜像文件1

与此同时,从一位学长那里也要到了一份镜像文件,导入之后发现同样是Ununtu 16版本的,和2.2中的一样,只是文件格式和2.2中的不一样,就不再分享资源了。下面主要记录一下安装过程。

安装好Virtual Box(安装步骤见1.1)之后,就可以导入文件了,学长给的是一个压缩包,解压之后,如下:

打开Virtual Box,点击导入


选择刚刚文件夹中的这个文件:




大概十几分钟就安装好了,然后启动虚拟机(启动虚拟机也需要几分钟时间),打开之后是这个样子的:


可以看到,主目录下有一个tutorials文件夹,也就是官方的教程,据学长说这个他已经做过了,所以我们要再下载一份新的没做过的。打开终端,输入如下命令:git clone https://github.com/p4lang/tutorials

然后就会报错,大概意思就是这个目录已经存在,所以我们要把之前的tutorials目录删除或者重命名,这里我重命名为tutorials00



再次输入git clone https://github.com/p4lang/tutorials

这样就下载好了,这个新的tutorials文件夹内有我们想要的练习题

2.4 (记录)其他镜像文件2

https://www.cnblogs.com/gejuncheng/p/16178961.html
Virtual Box 和 Vagrant的安装与下载可以参考 1.1 和 1.2


Reference

https://p4.org/learn/
https://blog.csdn.net/class_c/article/details/120623743
https://www.zhihu.com/people/yaoj-x/posts
https://zhuanlan.zhihu.com/p/259833884
https://github.com/p4lang/tutorials

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/734041.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-04-27
下一篇 2022-04-27

发表评论

登录后才能评论

评论列表(0条)

保存