window 配置環境

windows下離線安裝wsl和docker_Ubuntu

下載 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 文件裏,發個快捷方式到桌面!