一般人可能会选择联网下载,但是如果把相关软件都下载下来,那么以后安装会更快捷。但是离线安装首先需要有个能上网的机器先把所需要的依赖下载下来,所以建议先掌握联网版安装方式,请参考文章VPP-20.09版本安装教程(联网版)
以下工作在联网的机器上操作,然后把相关依赖全部拷贝出来即可
一、环境
操作系统: Centos7.4
VPP版本: 20.09
设置阿里云镜像源
注:由于centos官方源下载rpm太慢,vpp依赖的rpm包有几百个,所以选择阿里云镜像源
更新centos-base源参考
https://developer.aliyun.com/mirror/centos?spm=a2c6h.13651102.0.0.3e221b11gE0rea
更新epel源参考
https://developer.aliyun.com/mirror/epel?spm=a2c6h.13651102.0.0.3e221b11gE0rea
都选择RHEL 7版本
二、下载vpp及相关软件
1.下载vpp-20.09版本
git clone -b stable/2009 https://github.com/FDio/vpp.git
如果速度太慢可以先把vpp从github上导入到码云,然后从码云下载
2.下载vpp所需的rpm包
vpp通过安装命令 make install-dep 安装需要的rpm包
这里我们通过 vpp-20.09/Makefile 文件查看
由于我们系统是centos7,所以会走到293行选项centos,centos-release-scl-rh 和 epel-release 都是镜像源,$(RPM_DEPENDS)就是我们要下载的rpm包
通过加上 @sudo -E echo $(RPM_DEPENDS) > /home/rpm.txt 就可以打印出所需要的rpm包
通过以下命令只下载不安装rpm包
yum install rpm包名 --downloadonly --downloaddir=要下载的目录
注:步骤掌握了最好在一台刚刷系统的机器上执行,这样可以下载rpm包和相关依赖的所有rpm包,这样安装不需要强制安装就可以安装所有依赖,不会破坏系统的rpm环境
3.下载依赖的软件
执行vpp的 make install-ext-deps 命令下载依赖的软件,例如dpdk,这个步骤因为网络问题经常很费时间
执行完命令后下载的路径是 vpp-20.09/build/external/downloads
文件主要包括

三、安装vpp
1.安装所有的rpm包
rpm -Uhv *.rpm # 这里默认所有的rpm都在同一目录下
如果执行失败一般来说就是依赖不全,只需要忽略依赖并强制安装
rpm -Uhv *.rpm --nodeps --force # --nodeps是忽略依赖 --force是强制安装
2.拷贝所需软件
cd vpp-20.09
mkdir -p build/external/downloads
拷贝上面几个依赖的软件到downloads目录下
3.编译igb_uio驱动
这里是可选项,vpp利用dpdk收包,需要编译igb_uio这个网卡驱动,但是不做vpp也可以运行
有两种方式编译igb_uio驱动
方式一是手动编译安装dpdk的时候编译igb_uio驱动
方式二是修改配置文件,让vpp编译安装dpdk时编译igb_uio驱动,这里采用方式二,方式一可以自行百度,网上有很多教程
cd /home/vpp-20.09/build/external/packages
vi dpdk.mk
# 找到 $(call set,RTE_EAL_IGB_UIO,n)
# 把 n 改成 y 并保存退出
4.安装vpp
# 这里不需要执行make install-dep命令
make install-ext-deps
make build # 编译debug版本
make build-release #编译release版本 与make build选一个即可
四、配置大页内存
参考VPP-20.09版本安装教程(联网版)第三章节
五、运行VPP
参考VPP-20.09版本安装教程(联网版)第四章节