windows配置wsl2,以及docker和wsl2的配置
配置windows10 开发环境
升级windows10
百度搜索易升
我还未尝试过,有时间可以试一下
wsl2安装
windows10安装wsl2 官方文档
大致如下:
-
启用适用于 Linux 的 Windows 子系统
dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart
-
启用虚拟机功能
dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart
-
重新启动 计算机,以完成 WSL 安装并更新到 WSL 2
-
下载 Linux 内核更新包 适用于 x64 计算机的 WSL2 Linux 内核更新包
-
将 WSL 2 设置为默认版本
wsl --set-default-version 2
-
安装所选的 Linux 分发 打开 Microsoft Store
-
首次启动新安装的 Linux 分发版时,需要为新的 Linux 分发版创建用户帐户和密码。
-
检查状态
wsl -l -v
-
设置wsl2 默认root登录
ubuntu2004.exe config --default-user root
重新打开wsl2 就是默认root登录了,可以设置root密码
sudo passwd
wsl2 设置
-
备份原来的源
cp /etc/apt/sources.list /etc/apt/sources_init.list
-
写入阿里源,vim
dG
删除所有,写入deb http://mirrors.aliyun.com/ubuntu/ focal main restricted universe multiverse deb-src http://mirrors.aliyun.com/ubuntu/ focal main restricted universe multiverse deb http://mirrors.aliyun.com/ubuntu/ focal-security main restricted universe multiverse deb-src http://mirrors.aliyun.com/ubuntu/ focal-security main restricted universe multiverse deb http://mirrors.aliyun.com/ubuntu/ focal-updates main restricted universe multiverse deb-src http://mirrors.aliyun.com/ubuntu/ focal-updates main restricted universe multiverse deb http://mirrors.aliyun.com/ubuntu/ focal-proposed main restricted universe multiverse deb-src http://mirrors.aliyun.com/ubuntu/ focal-proposed main restricted universe multiverse deb http://mirrors.aliyun.com/ubuntu/ focal-backports main restricted universe multiverse deb-src http://mirrors.aliyun.com/ubuntu/ focal-backports main restricted universe multiverse
-
更新
sudo apt update && sudo apt upgrade
-
systemctl
命令无法使用?现象为在命令行执行systemctl命令,报如下错误:
System has not been booted with systemd as init system (PID 1). Can't operate. Failed to connect to bus: Host is down
解决方案:
暂且不要使用下面的解决方案。o(╯□╰)o
很奇怪,有时候好用,有时候不好用,使用
curl -vv google.com
查看一下-
安装daemonize和fontconfig
apt install -y fontconfig daemonize
-
编辑/etc/profile脚本,加入如下内容:
SYSTEMD_PID=$(ps -ef | grep '/lib/systemd/systemd --system-unit=basic.target$' | grep -v unshare | awk '{print $2}') if [ -z "$SYSTEMD_PID" ]; then sudo /usr/bin/daemonize /usr/bin/unshare --fork --pid --mount-proc /lib/systemd/systemd --system-unit=basic.target SYSTEMD_PID=$(ps -ef | grep '/lib/systemd/systemd --system-unit=basic.target$' | grep -v unshare | awk '{print $2}') fi if [ -n "$SYSTEMD_PID" ] && [ "$SYSTEMD_PID" != "1" ]; then exec sudo /usr/bin/nsenter -t $SYSTEMD_PID -a su - $LOGNAME fi
-
修改/etc/sudoers文件,加入如下内容:
%sudo ALL=(ALL) NOPASSWD: /usr/sbin/daemonize /usr/bin/unshare --fork --pid --mount-proc /lib/systemd/systemd --system-unit=basic.target %sudo ALL=(ALL) NOPASSWD: /usr/bin/nsenter -t [0-9]* -a su - [a-zA-Z0-9]*
-
执行
source /etc/profile
或者是重新打开terminal,执行systemctl
验证是否能够正常操作。
-
配置wsl科学上网
WSL2获取Win10ip
在Win10 -> WSL2这个方向, 是可以直接通过Localhost来访问的, 但是WSL2 -> Win10这个方向就不能直接访问Localhost了, 需要指定Win10的ip, 想要查看WSL2中Win10的ip, 只需要查看 : cat /etc/resolv.conf
# This file was automatically generated by WSL. To stop automatic generation of this file, add the following entry to /etc/wsl.conf:
# [network]
# generateResolvConf = false
nameserver 172.18.176.1
这个172.18.176.1就是在WSL2中Win10的ip,想要方便获取这个IP, 可以直接使用下方命令 :
cat /etc/resolv.conf|grep nameserver|awk '{print $2}'
WSL2设置环境变量
由于上面已经可以获取到Win10的ip, 这个时候就可以很方便的对各种环境变量进行设置, socks5端口为1080, 所以可以直接设置环境变量 ,编辑~/.bashrc
,最后加上这些内容
export windows_host=`cat /etc/resolv.conf|grep nameserver|awk '{print $2}'`
export ALL_PROXY=socks5://$windows_host:1080
export HTTP_PROXY=$ALL_PROXY
export http_proxy=$ALL_PROXY
export HTTPS_PROXY=$ALL_PROXY
export https_proxy=$ALL_PROXY
### 这一步很重要,我也是摸索了一段时间
### 由于 apt 不支持scoks,必须要过滤掉
export no_proxy="mirrors.aliyun.com"
if [ "`git config --global --get proxy.https`" != "socks5://$windows_host:1080" ]; then
git config --global proxy.https socks5://$windows_host:1080
fi
Git 配置
git config --global proxy.https socks5://$windows_host:1080
设置小飞机允许局域网连接
测试
curl https://google.com
迁移WSL到其他盘
下载 LxRunOffline
-
从github下载压缩包,下载地址
-
首先需要停止自己的WSL,先执行
wsl --shutdown
,stop所有的wsl -
解压,执行里面的exe文件,
.\LxRunOffline.exe l #或者 .\LxRunOffline.exe list
查看所有的wsl
PS F:\LxRunOffline-v3.5.0-mingw> .\LxRunOffline.exe l Ubuntu-20.04
-
迁移到F盘
.\LxRunOffline.exe move -n Ubuntu-20.04 -d F:\WSL\Ubuntu
等待迁移完成
-
完成后使用命令查看有没有成功
.\LxRunOffline.exe di -n Ubuntu-20.04
输出
F:\WSL\Ubuntu
即迁移成功
-
LxRunOffline 还有一些 额外的功能
-
使用 LxRunOffline 安装自定义发行版
-
备份/恢复 WSL 发行版
-
不使用官方的wsl命令,使用 LxRunOffline 运行 WSL
-
安装Docker
下载docker
-
从官网下载 docker desktop for windows 下载链接
-
安装完可以从windows 和 wsl中查看
docker --version
配置oh my zsh
参考我的另一篇mac配置文章,文章链接
有很多相似的地方
文件管理 \\wsl$\Ubuntu-20.04\
可以访问到wsl2内部
配色喜欢 Dracula
,也可以在这里找自己喜欢的
单独贴出来
{
"name": "Dracula",
"black": "#000000",
"red": "#ff5555",
"green": "#50fa7b",
"yellow": "#f1fa8c",
"blue": "#bd93f9",
"purple": "#ff79c6",
"cyan": "#8be9fd",
"white": "#bbbbbb",
"brightBlack": "#555555",
"brightRed": "#ff5555",
"brightGreen": "#50fa7b",
"brightYellow": "#f1fa8c",
"brightBlue": "#bd93f9",
"brightPurple": "#ff79c6",
"brightCyan": "#8be9fd",
"brightWhite": "#ffffff",
"background": "#1e1f29",
"foreground": "#f8f8f2"
}
主题使用
git clone --depth=1 https://github.com/romkatv/powerlevel10k.git ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/themes/powerlevel10k
在 zsh 的配置文件 ~/.zshrc 中设置 ZSH_THEME="powerlevel10k/powerlevel10k"
即可,source 一下
执行 p10k configure
配置
配置:
git clone --depth=1 https://github.com/zsh-users/zsh-autosuggestions ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-autosuggestions
git clone --depth=1 https://github.com/zsh-users/zsh-syntax-highlighting.git ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-syntax-highlighting
# 然后也是改配置文件,把这个插件添加进去
vim ~/.zshrc
# 找到 `plugins` .默认应该是 plugins=(git) 改为
plugins=(git z zsh-autosuggestions zsh-syntax-highlighting)
# 保存,执行文件
source ~/.zshrc
评论区