win10在任意位置安装Linux子系统WSL Ubuntu
1.可选步骤--把WSL 2设置为默认版本
以管理员身份打开Powershell,输入命令
wsl --set-default-version 1
*2.启用适用于Linux的Windows子系统
控制面板--程序--程序和功能--启用或关闭Windows功能
选中 适用于Linux的Windows子系统,确定
完成后重启生效
*3.下载WSL Linux手动安装包
选择Linux版本,下载
https://learn.microsoft.com/en-us/windows/wsl/install-manual#downloading-distributions
*4.安装
.AppxBundle安装包改名为zip文件,解压,找到文件名包含x64的.appx文件,再次改名为.zip文件,
解压到D盘比较好找的目录,如D:\Ubuntu
点击ubuntu.exe安装,在D:\Ubuntu目录中有一个rootfs文件,即为安装目录
5.设置默认用户为root
Ubuntu中运行命令:
su root
获取root权限
在windows cmd中执行命令:
cd D:\Ubuntu
d:
ubuntu.exe config --default-user root
关闭Ubuntu,重新打开,默认已经是root用户
6.配置Python环境
在Ubunbu运行如下命令,找到python文件的位置
whereis python3
打开目录D:\Ubuntu\rootfs\root, 打开.bashrc文件,在
# Alias definitions.
这一行注释前面添加一行并保存:
alias python='/usr/bin/python3'
在Ubuntu运行命令:
source ~/.bashrc
7.安装并切换shell为zsh
运行命令
sudo apt install zsh
验证是否安装成功
zsh --version
关闭Ubuntu重新打开
确认当前运行的Shell, 运行命令
echo $0
运行命令
chsh -s $(which zsh)
如果不生效,在/root/.bashrc文件的最后添加一行
bash -c zsh
重启Ubuntu
8.安装oh-my-zsh
运行命令
sh -c "$(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"
打开/root/.zshrc文件,设置ZSH_THEME的值(需要双引号)
主题对应样式,参考
https://github.com/ohmyzsh/ohmyzsh/wiki/themes
下载nerd fonts
下载之后,解压,复制 .ttf 文件到C:\Windows\Fonts目录
打开powershell, 用cd命令切换到zip文件解压目录(/nerd/nerd-fonts-master目录),执行命令
./install.ps1 Ubuntu
7.Shell的解释器更改为bash
执行ls -l /bin/sh命令,若得到结果/bin/sh -> dash,则说明Shell的解释器为dash。
执行dpkg-reconfigure dash命令,然后选择no。
(重要此步骤需要root权限)
再次执行ls -l /bin/sh命令,若得到结果/bin/sh -> bash,则说明成功更改Shell的解释器为bash。
8.添加国内的源(解决安装包下载慢的问题)
将下列文本添加到/etc/apt/sources.list文件:
# 默认注释了源码镜像以提高 apt update 速度,如有需要可自行取消注释
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ trusty main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ trusty main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ trusty-updates main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ trusty-updates main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ trusty-backports main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ trusty-backports main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ trusty-security main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ trusty-security main restricted universe multiverse
# 预发布软件源,不建议启用
# deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ trusty-proposed main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ trusty-proposed main restricted universe multiverse
在Ubuntu运行命令:
apt-get update;apt-get upgrade
9.启用systemd(crontab依赖于systemd)
在/etc目录下创建文件wsl.conf,输入文件内容
[boot]
systemd=true
保存内容。关闭 WSL Ubuntu重新启动
运行命令
systemctl list-unit-files --type=service
确认cron服务是否运行
10.安装、运行docker
在WSL Ubuntu运行命令:
sudo apt update && sudo apt upgrade -y
sudo apt install -y apt-transport-https ca-certificates curl software-properties-common
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
echo "deb [signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
sudo apt update
sudo apt install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
sudo usermod -aG docker $USER
关闭WSL Ubuntu,在Powershell运行命令
wsl --shutdown
打开WSL Ubuntu,运行命令
docker --version
显示版本号,就是安装成功
启动docker
sudo service docker start
查看docker是否运行
sudo service docker status
WSL Ubuntu 22.04会看到docker没有运行,因为WSL Ubuntu 22.04默认使用了iptables-nft,要让docker运行,需要切换为iptables-legacy
运行命令
sudo update-alternatives --config iptables
选择1,也就是iptables-legacy
运行sudo service docker start
停止Docker
sudo service docker stop
11.卸载Ubuntu
以管理员身份打开Powershell,输入命令
wsl --list
wsl --unregister Ubuntu