創提部落格
希望我們能與您分享和探討成長中的點點滴滴
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平臺開發和測試環境以及遷移與複用。