博客
希望我们能与您分享和探讨成长中的点点滴滴
WSL 2中安装VectorCAST
分享到
“转载自维克多汽车技术(上海)有限公司,作者Vector China”
如需在Windows平台上搭建Linux开发和测试环境,常用的方法是使用VMware公司的虚拟化产品如VMware Workstation,或VMware vSphere创建Linux虚拟机。为了精简传统虚拟机或双启动设置的开销,微软在Windows 10平台中引入WSL 1兼容层,后续又推出基于虚拟化技术的WSL 2,支持用户在Windows宿主机上直接安装和使用Linux系统(包括大多数Linux发行版中内置的命令行工具、实用工具和应用程序),并全面提升与宿主系统的兼容性和互操作性。本文在介绍WSL的基础上,逐步讲解如何在WSL 2上安装VectorCAST代码测试工具。
WSL简介
WSL(Windows Subsystem for Linux),即适用于Linux的Windows子系统,目前有两个版本:WSL 1和WSL 2。支持WSL的Windows版本有:Windows 10及以上版和Windows Server 2016及以上版本。
WSL 1与WSL 2
微软于2016年8月发布第一版WSL 1(WSL Version 1),之后在2019年6月发布了WSL 1的升级版WSL 2(WSL Version 2)。WSL 2是基于Hyper-V虚拟化技术,在轻量化的虚拟机中运行Linux内核。
WSL 1与WSL 2之间的区别如表1所示。
表1 | WSL 1与WSL 2特性对比
从表1可以看出,WSL 2包含完整的Linux内核,能够提供全面的系统调用兼容性。
WSL 2与传统虚拟机
传统的虚拟机是各自独立的,启动速度较慢,消耗大量内存和外设资源,并需要花费大量的时间做配置管理。而WSL 2使Windows和Linux之间可以无缝集成,启动时间短,占用资源少,在后台由虚拟机平台托管管理,无需用户进行虚拟机参数的配置或管理。以下章节将介绍如何安装并使用WSL 2。
检查Windows系统版本
安装WSL 2之前先检查Windows版本是否支持WSL 2。
• 按下Win + R键打开运行窗口;
• 输入winver后回车,会弹出当前Windows版本信息。WSL 2需要Windows 10 Version 19032 Builder 18362 或更高版本。
图1 | 获取Windows 10版本信息
启用WSL和虚拟机平台
通过以下两种方法可以启用WSL功能与虚拟机平台:
1. 通过控制面板开启适用于Linux的Windows子系统与虚拟机平台功能
图2 | 开启相应的Windows功能
2. 用管理员权限启动PowerShell,并执行命令:
• dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart
• dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart
3. 设置WSL版本
为确保使用WSL 2的方式安装Linux发行版,需要设置WSL默认版本为2。以管理员权限启动PowerShell,并执行命令:wsl --set-default-version 2。
下载Linux Kernel更新包并安装
WSL 2中需要使用Linux Kernel,所以需要安装Kernel的更新包,从Step 4中可以找到对应的下载链接。本机的Windows平台是x64架构,需要下载x64对应的内核更新包,下载完成后双击安装程序开始安装。
https://docs.microsoft.com/en-us/windows/wsl/install-manual
图3 | 下载内核更新包
安装Ubuntu 20.04
打开软件程序商店(Microsoft Store),搜索框中输入WSL并点击搜索,会显示所有可用的Linux发行版。选择需要安装的发行版,这里选择Ubuntu 20.04 LTS发行版,进入详情页面后,点击安装,等待下载安装完成。
图4 | WSL应用列表
安装完成后进入PowerShell,输入“ wsl -l -v ”查看WSL列表,确认子系统对应的WSL 版本,输出如下图所示,表明Ubuntu-20.04是WSL 2。
图5 | 查看WSL列表
启动WSL 2
Ubuntu 20.04安装完成后,会在开始菜单栏中显示Ubuntu 20.04的图标,点击图标启动Ubuntu 20.04。首次启动时会打开一个控制台窗口,窗口中提示需要数分钟等待安装完成;安装完成之后会提示配置用户名和密码,如图6所示;输入用户名和密码后等待片刻即可完成初始配置。
图6 | 设置用户名和密码
在WSL 2的文件系统中,Windows上的盘符默认加载到/mnt目录下,用户能够直接在WSL中访问Windows系统下的文件。进入/mnt目录,输入ls命令查看/mnt目录中的内容,将显示Windows下的磁盘盘符,如图7所示。
图7 | WSL 加载Windows宿主机盘符
由于Windows 10中的WSL 2尚未内置Linux桌面环境,以上操作都只能通过在终端中输入命令行完成。如果需要直接在WSL 2子系统中操作图形化界面,可考虑安装GNOME、KDE等Linux桌面环境。另一种使用图形化界面的方法是利用SSH进行X11图形界面转发:在Windows上安装X Server软件,借助X11-forwarding和SSH连接,通过X Server显示图形窗口。下文将以MobaXterm软件为例介绍如何使用这种方法在Windows上直接操作Linux平台的图形化软件。
安装配置MobaXterm
MobaXterm是一款适用于Windows平台的终端软件,支持包括X11-Forwarding、SSH等多种网络协议。利用MobaXterm中嵌入的X Server,用户可以在Windows平台上直接显示和操作Linux平台上的图形化软件。本节将介绍如何安装和配置MobaXterm,以便在MobaXterm中使用VectorCAST的图形化界面。
1. 进入MobaXterm官网,下载Windows x64的安装包,并完成安装;
2. 安装完成后,打开MobaXterm,按照下图配置X11的属性为多窗口透明模式并给予全部的远程访问权限;
图8 | 配置X11窗口模式和访问权限
3. 打开防火墙配置,允许MobaXterm程序通过;
图9 |允许MobaXterm通过防火墙
4. 打开MobaXterm,主界面左边的会话列表列出了当前机器上的所有WSL子系统,双击会话名称即可打开命令行终端;在工具的右上角有一个X server按钮,可以点击此按钮来开启或者关闭X server。MobaXterm的主界面如下图所示。
防火墙配置,允许MobaXterm程序通过;
图10 |MobaXterm主界面
WSL 2上安装VectorCAST
VectorCAST产品家族是同时支持图形化界面与命令行的代码测试工具集。本节将以VectorCAST工具集中的C++白盒测试工具VectorCAST/C++为例,介绍如何在WSL 2中安装与使用图形化软件。
1. 双击MobaXterm左边会话栏中的WSL-Ubuntu-20.04建立会话连接;
2. 在打开的会话终端中创建一个安装脚本install_vcast.sh,将以下命令复制粘贴到shell脚本中,根据实际情况修改安装包路径和安装目录的信息,完成之后执行脚本;
• #!/bin/bash
• # 创建安装目录
• sudo mkdir /usr/local/vcast
• # 复制Windows系统中VectorCAST的安装包到WSL中的指定目录
• sudo cp /mnt/d/Downloads/vcast.linux64.2020sp4.tar.gz /usr/local/vcast/
• cd /usr/local/vcast
• # 解压安装包
• sudo tar zvf vcast.linux64.2020sp4.tar.gz
3. 创建一个VectorCAST的启动脚本start_vcast.sh,将以下命令复制粘贴到shell脚本中,根据实际情况修改环境变量中的VectorCAST的安装目录、许可证服务器的主机名和端号,完成之后执行此脚本。
• #!/bin/bash
• # 配置安装目录信息
• export VECTORCAST_DIR=/usr/local/vcast
• # 配置许可证服务器信息
• export VECTOR_LICENSE_FILE=27000@localhost
• cd ~
• # 启动VectorCAST
• $VECTORCAST_DIR/vcastqt
执行start_vcast.sh脚本后,可在Windows桌面中看到VectorCAST图形化界面,此时即可在Windows桌面环境中直接操作Ubuntu20.04中的VectorCAST,如下图所示。
图11| Windows桌面显示VectorCAST图形化界面
总结
WSL 2加快了在Windows平台中部署与使用Linux开发和测试环境的过程,其优点如下:
>用户在企业内网中可通过Microsoft Store一键安装配置WSL,相较于外网下载的虚拟机镜像文件或容器安装包,从IT管控角度,前者更加安全可靠;
>和WSL 1相比,WSL 2包含完整的Linux内核,拥有完全的Linux系统调用兼容性,可以直接使用Linux平台的工具和应用程序,更能满足在Windows平台中进行Linux程序开发和测试的需求;
>WSL 2使用了托管的虚拟平台技术,其虚拟平台在后台管理和运行,无需用户自行管理;相较于VMware虚拟机,WSL 2省去了诸多的系统配置工作,安装快捷;对内存、CPU配置等硬件资源无自定义需求的可直接安装WSL 2,节省安装配置虚拟机的时间;
>相较于VMware创建的虚拟机,WSL 2类似于Windows主机上的应用程序,占用的资源比虚拟机更少,启动和关闭速度更快,并可以与Windows系统无缝切换;另一方面,VMware虚拟机必须手动配置共享目录才可在文件系统中访问Windows主机上的文件,而WSL 2中的直接访问则更便捷;
>WSL 提供便利的导出导入操作,可直接通过wsl命令行进入创建快照、备份与恢复,方便统一配置Linux平台开发和测试环境以及迁移与复用。