windows下使用wsl2初體驗


背景

  • 嘗試全面轉向win作為主力開發系統,但是很多東西需要在linux下執行,wsl經歷了一次技術路線的全面更新在網絡上的反響也還是不錯的。隨機決定進行一下嘗試

幾點說明

  • 本篇文章僅僅是小白從零開始進行wsl2配置,沒有過wsl1的使用經驗,里邊的步驟也大多都是來自於萬能的互聯網
  • 本篇文章不涉及深度使用的感受,后續體驗之后有時間的話會再進行記錄

概念

  • wsl全名windows subsystem for linux

開始安裝

安裝WSL2功能模塊

該步驟下所有命令執行都在windows powershell(管理員模式)下

  • 打開wsl功能模塊
    dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart
  • 安裝必要功能
    dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart
  • 重啟電腦,完成安裝(重要,我被卡在這里很久

設置內核安裝默認為wsl2

  • powershell(管理員)執行wsl --set-default-version 2
  • 這里正常的話是可以正常執行的,如果提示類似於需要升級wsl內核之類的信息的話,就需要手動更新一下wsl內核:
    • 下載地址
    • 下載完成雙擊打開一路下一步即可,無其他可選項

安裝linux子系統

  • 打開windows應用商店,搜索關鍵字linux
  • 下載安裝想要使用的linux發行版,等待安裝完成
  • 開始菜單啟動一次剛剛安裝的發行版,耐心等待安裝完成

配置

以下配置以本人安裝的Debain為例,步驟差不多,有一些命令可能會不一樣

換源

  • 用預設源進行apt-get update切記不能先換源,否則會出現錯誤
  • 安裝必要軟件apt-get install ca-certificates
  • 備份原源列表cp /etc/apt/sources.list /etc/apt/sources.list.backup
  • 編輯源列表nano /etc/apt/sources.list
  • 將源列表內容替換為下列內容
deb [trusted=yes] https://mirrors.tuna.tsinghua.edu.cn/debian/ buster main contrib non-free
# deb-src [trusted=yes] https://mirrors.tuna.tsinghua.edu.cn/debian/ buster main contrib non-free
deb [trusted=yes] https://mirrors.tuna.tsinghua.edu.cn/debian/ buster-updates main contrib non-free
#deb-src [trusted=yes] https://mirrors.tuna.tsinghua.edu.cn/debian/ buster-updates main contrib non-free
deb [trusted=yes] https://mirrors.tuna.tsinghua.edu.cn/debian/ buster-backports main contrib non-free
# deb-src [trusted=yes] https://mirrors.tuna.tsinghua.edu.cn/debian/ buster-backports main contrib non-free
deb [trusted=yes] https://mirrors.tuna.tsinghua.edu.cn/debian-security buster/updates main contrib non-free
# deb-src [trusted=yes] https://mirrors.tuna.tsinghua.edu.cn/debian-security buster/updates main contrib non-free
  • 更新源列表apt-get update

代理上網

wsl2采用了虛擬化技術,對於宿主機來說wsl是一個單獨的虛擬網卡,等同於一張“公共網卡”,所以對於wsl2來講,win宿主機的ip地址是網卡內部的ip,需要通過命令cat /etc/resolv.conf | grep nameserver | awk '{ print $2 }'進行查看,為了后文敘述方便,這里假設輸出結果192.168.1.2

方案一:臨時性全局科學,僅對當前shell窗口生效

  • shell窗口直接執行export ALL_PROXY=protocol://192.168.1.2:port

方案二:軟件解決,每次需要科學的命令需要加上命令前綴

  • 安裝apt-get install proxychains
  • 配置nano /etc/proxychains.conf
  • 在文件末尾根據示例添加科學地址

美化shell窗口

  • 安裝zsh: apt-get install zsh
  • 安裝oh-my-zsh: sh -c "$(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"
  • 配置oh-my-zsh:
    • 下載最新版本對shell窗口進行優化
    • 下載字體並安裝
    • 安裝zsh神級插件:
      git clone https://github.com/zsh-users/zsh-syntax-highlighting.git ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-syntax-highlighting
      git clone https://github.com/zsh-users/zsh-autosuggestions ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-autosuggestions
    
    • 編輯nano ~/.zshrc
      • 找到ZSH_THEME修改為agnoster
      • 找到plugins並在后邊添加想啟用的插件,以空格為分隔符git zsh-syntax-highlighting zsh-autosuggestions

Python環境

  • 為了后期方便,這里采用conda對python環境進行統一管理
  • 由於wsl完全占用C盤空間,所以盡量選擇最小安裝,節省空間。Anaconda官方預算3G空間,Miniconda完全安裝完大概1G左右,故選擇miniconda進行安裝
  • 步驟
    • 定位到用戶目錄cd ~
    • 下載Miniconda(python3.8)安裝腳本
    • 執行腳本,並根據腳本提示進行安裝bash Miniconda3-latest-Linux-x86_64.sh
    • 安裝完成,關閉當前shell窗口並重新開啟
    • 執行python -V驗證安裝結果

寫在最后

  • zsh的其他美化以及插件功能還有很多,讀者可以自行進行調研使用
  • 至此wsl2內核的debian系統已經達到能用的狀態
  • 在這之前作者也是一個堅定的win/linux雙系統使用者,只是近來由於一些原因必須要遷移到win平台,才發現其實在微軟這么多年的深耕之下,全球有太多的軟件公司都為win做了太多的優化,無論從美觀程度、易用程度、更新速度方面都遠超linux平台下的軟件。而現在win也在深耕wsl,更是給了win一個很大的機會,“在不重啟的情況下使用兩個系統”,聽起來就很不錯。在搜索資料的過程中偶然瞥到wsl2現在已經支持了GPU,這對深度學習工作者來講更是一個天大的好消息,同時也發現wsl對於ntfs的io慢到令人發指,作者目前還沒有感受到,只能是進行深度體驗后再說。無論如何,系統融合對於開發者來講都是一個天大的好事。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM