wsl2是windows内置的linux子系统,安装步骤如下:
1.Win10 版本号为 2004(内部版本19041或更高)即可,如果低于此版本可使用 Windows 10 易升工具手动升级。下载 Windows 10 易升工具:
https://www.microsoft.com/zh-cn/software-download/windows10
2. 如果之前没有用过 WSL,那么首先需要为Linux启用Windows子系统:
dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart
3. 安装 WSL 2 之前,必须启用“虚拟机平台”可选功能
dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart
重新启动计算机以完成WSL安装并更新到WSL 2。
4. 下载Linux内核更新程序包
5、安装 Linux 分发版本
打开微软应用商店,搜索 Ubuntu,在列表中选择最新的长期支持版本 20.04 LTS 并安装。
image.png
6. 使用任一终端,输入以下命令查看 WSL 版本,确保 WSL 的版本为 2.0:
$ wsl -l -v
NAME STATE VERSION
* Ubuntu-20.04 Stopped 2
7. 如果显示当前不是 WSL 2 版本,可以通过以下命令设置 WSL 的默认版本:
wsl --set-version Ubuntu-20.04 2
8. 如果安装有问题的话,勾选此选项:
image.png
9. 进入wsl2终端:
打开任一命令行工具,输入 wsl
image.png
关于使用WSL2出现“参考的对象类型不支持尝试的操作”的解决方法。
https://zhuanlan.zhihu.com/p/151392411
下载此软件:
链接: https://pan.baidu.com/s/12_cAA9L0wNCqxpquuWjNeQ 提取码: pir4
管理员身份运行CMD输入:
NoLsp.exe C:\windows\system32\wsl.exe
执行成功会显示 success!
解决无法安装sshpass的问题:
首选运行命令,更新清单::
sudo apt-get update
然后检查包是否可用:
apt-cache search sshpass
然后就可以安装了
sudo apt install sshpass
编写sh脚本,用sshpass 进行ssh自动登录操作:
需要先手动用命令进行ssh登录,这样本地会有一个ssh登录缓存,然后才能运行sh脚本
本地ssh登录,输入密码
ssh root@xxx.xxx.xx.xx
password:
exit
sshpass 脚本操作:
export SSHPASS='xxxxxxxx'
cd /dir/
sshpass -e rsync -z -r root@xxx.xxx.xx.xx:/dir/
解决Linux下编译.sh文件报错 “[: XXXX: unexpected operator”
直接在cmd,git bash下执行sh脚本没问题,而再wsl下执行报上面的错误
原因是Ubuntu默认的sh是连接到dash的,而dash跟bash是不兼容的;
解决:wsl下执行命令sudo dpkg-reconfigure dash,选择no,意思就是不默认使用dash命令行