window 配置環境
下載 Linux 發行版:
你可以直接下載 可執行文件 來安裝,跟安裝 普通應用一樣的,很簡單。
舊版 WSL 的手動安裝步驟 | Microsoft Docs
https://wsldownload.azureedge.net/Ubuntu_2004.2020.424.0_x64.appx
##查看可用的 Linux 發行版列表:
wsl --list --online
或
wsl -l -o
##安裝 默認的 Linux 發行版 (Ubuntu):
wsl --install
##安裝指定的 Linux 發行版:
wsl --install -d
是發行版名稱,如:
wsl --install -d Ubuntu-20.04
我的 Ubuntu-20.04 的默認安裝目錄是:
%LocalAppData%\Packages\CanonicalGroupLimited.Ubuntu20.04onWindows_79rhkp1fndgsc\LocalState
另外還有兩個文件:
%LocalAppData%\Microsoft\WindowsApps\ubuntu2004.exe
%LocalAppData%\Microsoft\WindowsApps\CanonicalGroupLimited.Ubuntu20.04onWindows_79rhkp1fndgsc\ubuntu2004.exe
稍後會提示輸入 系統用户和密碼,然後 正常的話 就 登錄 Ubuntu 系統了:
……
Welcome to Ubuntu 20.04.3 LTS (GNU/Linux 4.4.0-19041-Microsoft x86_64)
##列出已安裝的 Linux 發行版:
wsl -l
wsl -l -v
初始安裝的子系統,列出的是 “Ubuntu-20.04 (默認)” 我的為什麼是 “Ubuntu_20 (默認)” 呢?
因為我把默認的子系統 (在 C 盤) 做好個性化配置後,導出系統,然後刪除它,然後再導入 並重命名了,後面會講的。
##運行默認的 Linux 發行版:
wsl
或
bash
0.1 秒進入 Ubuntu !毫不拖泥帶水!根本不要開機過程!絲滑得 不要不要的。
##直接進入 Linux 家目錄:
wsl ~
##用 Win 命令行 執行 Linux 子系統內部命令:
wsl – <命令>
如:
wsl -- ifconfig
wsl -- sudo apt update
wsl -- sudo apt upgrade
##運行指定的 Linux 發行版:
wsl -d
wsl -d -u
如:
wsl -d Ubuntu-20.04
wsl -d Ubuntu-20.04 -u root
##設置默認 Linux 發行版:
wsl --set-default
##更新 Linux 發行版 內核版本:
wsl --update
##關閉所有正在運行的發行版:
wsl --shutdown
##關閉指定的發行版
wsl -t
如:
wsl -t Ubuntu-20.04
##檢查 WSL 狀態:
wsl --status
顯示結果:
默認分發:Ubuntu-20.04
默認版本:2
請啓用虛擬機平台 Windows 功能並確保在 BIOS 中啓用虛擬化。
有關信息,請訪問 https://aka.ms/wsl2-install
可以從 Linux Bash shell 中訪問本地計算機的文件系統,例如,你的 C盤 裝載在 /mnt/c 下。
cd /mnt/c
cd /mnt/d
##卸載本地磁盤:
sudo umount /mnt/e
##導出 WSL 映像
wsl --export
如:
wsl --export Ubuntu-20.04 E:\WSL\WSL_Ubuntu_20.04_LTS.tar
導出、導入 功能,太讚了!配置好開發環境之後,導出一個包,隨身帶!比小姐姐的 LV 包包 還要香!我有包我怕誰?
##導入 WSL 映像
wsl --import
是安裝路徑, 是之前導出的 xxx.tar 文件路徑,如:
wsl --import Ubuntu_20 D:\WSL\Ubuntu_20 E:\WSL\WSL_Ubuntu_20.04_LTS.tar
意思是把之前 配置好的 Ubuntu 系統包,導入到 D:\WSL\Ubuntu_20 目錄 下,記得先手動創建一下這個目錄啊,不然導入會失敗的。
我這裏還建立了一個 啓動腳本 start.bat 和 一個關機腳本 shutdown.bat,畢竟 懶嘛,點點鼠標總比輸入命令快。
##卸載 WSL 分發版:
wsl --unregister
如:
wsl --unregister Ubuntu-20.04
畢竟 我已經把 配置好的 Ubuntu 系統 導入到 D:\WSL 去了,C 盤中的那個 默認的子系統 佔我心愛的空間,是時候卸載它了! ___
卸載後 可以刪除默認的安裝目錄:
rmdir /s/q "%LocalAppData%\Packages\CanonicalGroupLimited.Ubuntu20.04onWindows_79rhkp1fndgsc"
你的目錄可不一定是上面這個啊,請自行研究,像這樣的:
rmdir /s/q “%LocalAppData%\Packages*Ubuntu*_***”
##在 WSL Ubuntu 18.04 中設置 免密碼 sudo:
sudo bash -c "echo '$USER ALL=(ALL) NOPASSWD: ALL' >/etc/sudoers.d/$USER"
##Win10 Linux WSL 子系統添加開機啓動任務:
WSL 中不支持通過 rc.local 來實現開機啓動,無法通過 systemctl 設置自啓動服務。
解決方法是 通過添加 windows 開機啓動項 來啓動 WSL 子系統中的服務。
網上好多教程 都是互相抄襲,根本沒有親自驗證,以訛傳訛,太氣人了,下面是 九陰真經:
1、進入目錄:
%AppData%\Microsoft\Windows\Start Menu\Programs\Startup
2、新建文件:
wsl_start.bat
內容如下(可能需要把相關命令改為適合你的機器的命令):
wsl -- sudo service ssh start
wsl -- sudo service bt start
wsl -- sudo service nginx start
wsl -- sudo service redis start
wsl -- sudo service php-fpm-80 start
#......
如果不需要開機啓動,就把它放到 D:\WSL\start.bat 文件裏,發個快捷方式到桌面!