WSL的全称是Windows Subsystem for Linux(适用于Linux的Windows子系统)。
下图是微软给出的比较。另外,在Windows 11中WSL 2能过访问GPU,这意味着可以使用一些Linux GUI程序,同时使得使用机器学习、人工智能和数据科学等应用场景更加方便快捷。
总之,多数情况下,使用WSL 2是一个更好的选择,除非一些情况。
你的项目文件必须存储在 Windows 文件系统中。
你的项目需要访问串行端口或 USB 设备(WSL 2不支持访问穿行端口)。
需要有与主机相同的网络中拥有 IP 地址(WSL 2使用NAT而非而非桥接到主机网卡)。
在介绍安装使用WSL之前我认为有必要先介绍一下Windows Termial即Windows终端(简称终端)。终端默认打开的是PowerShell,此外还有一个CMD,当然还可以添加其他的启动项。它长这个样子:
Windows终端和Linux的终端是一个概念,如果你不清楚这个概念,那么可以把它(终端)理解成一个客户端,使用这个客户端来进行对计算机的操作如执行命令、ssh连接等。
你可以直接在windows商店中搜索并安装之:
或者在https://github.com/microsoft/terminal/releases中下载安装你喜欢的版本。
后续的操作我将全部使用终端来完成。
可以在https://docs.microsoft.com/zh-cn/windows/terminal/customize-settings/profile-appearance中查看有关配置终端的方法,此处不再赘述。
wsl的安装步骤并不复杂,按照官方的说法,如果你使用的是比较新版本的windows:
必须运行 Windows 10 版本 2004 及更高版本(内部版本 19041 及更高版本)或 Windows 11
只需要在终端中运行如下命令,然后重启计算机。
wsl --install
使用这种方法安装默认为WSL 2,发行版为Ubuntu。可以用wsl --install -d <发行版名称>
来安装指定的发行版(使用wsl --list --online
命令能查看可用的版本),本文创作时有如下种发行版:
NAME FRIENDLY NAME
Ubuntu Ubuntu
Debian Debian GNU/Linux
kali-linux Kali Linux Rolling
openSUSE-42 openSUSE Leap 42
SLES-12 SUSE Linux Enterprise Server v12
Ubuntu-16.04 Ubuntu 16.04 LTS
Ubuntu-18.04 Ubuntu 18.04 LTS
Ubuntu-20.04 Ubuntu 20.04 LTS
安装完成后需要按提示来设置用户名和密码,提醒一下输入密码的时候不是没打上而是隐藏起来的。
如果你不得用手动的方式来安装,那么还是有一点点小繁琐的。首先需要设置WSL运行环境,有两种方式。
使用如下命令来打开“wsl可选功能”。
dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart
如果你只想安装WSL 1,执行完了之后重启即可(此步骤结束,还有后续步骤)。如果要安装WSL 2还需要执行下面命令来打开“虚拟机平台”。
dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart
执行完毕后重启计算机。
在控制面版中找到“程序和功能”,打开“启用或关闭Windows功能”。
勾选下面两项。然后重启。
实际上配置环境和安装发行版没有依赖关系,你想先做哪一步都没关系。在应用商店里选择你喜欢的发行版(我喜欢的是Ubuntu 20.04)并下载之,耐心等待…安装成功就可以在开始菜单找到了,或者在终端的下拉框里也会出现。
安装完成后执行命令sudo apt install neofetch
安装neofetch,安装完成后输入命令neofetch
会看到如下界面,恭喜你已经学会抢答了!
学开车先学刹车,在终端中使用下面命令来关闭WSL。现在的WSL2存在一个问题,就是如果你长时间高强度使用WSL2可能会导致物理内存耗尽。
wsl --shutdown
使用命令wsl --set-version <发行版名称>
来从WSL1切换到WSL2,或者反过来。
在终端中(打开WSL的终端)输入explorer.exe .
来使用Windows的文件管理器打开WSL的当前目录,注意不要丢掉后面的空格和点。
可以直接在WSL中调用Windows工具,例如在终端中输入calc.exe
来打开计算器;使用notepad.exe .bashrc
命令来打开启动Linux命令行时运行的shell脚本。
这个报错好像是出现最多的,解决办法就是在“设置"—“系统”—“存储”—“更多存储设置: 更改新内容的保存位置”中把保存位置改为C盘。
由于我在使用过程中并没有遇到过多的问题,因此有其他麻烦的朋友可以在https://docs.microsoft.com/zh-cn/windows/wsl/troubleshooting这个链接中看一下有没有对味儿的。
使用如下命令安装postgre数据库:
sudo apt update
sudo apt install postgresql
等待安装完毕后输入psql --version
命令来查看版本号,如成功显示则表明安装成功。以下三个为PG常用命令:
sudo service postgresql status
用于检查数据库的状态。sudo service postgresql start
用于开始运行数据库。sudo service postgresql stop
用于停止运行数据库。要使用PG命令行对数据库进行连接操作,首先需要执行上述启动命令。
使用如下命令连接到 postgres 服务,并打开 psql shell:sudo -u postgres psql
,或者,也可以通过使用 su - postgres
切换为 postgres 用户,然后输入命令 psql
来打开 psql shell。
若要退出 postgres=# ,请输入 \q
。
要查看在 PostgreSQL 安装上创建的用户帐户,请在 WSL 终端上使用 psql -c "\du"
;如果已打开 psql shell,则仅使用 \du
。
使用\l
命令可以列出所有的数据库,或者使用语句SELECT datname FROM pg_database;
。
可以使用\c myDB
来连接到名为myDB的数据库,切换数据库后,使用\dt
列出所有数据库表。
su - postgres
Password:
~$ psql
psql (12.8 (Ubuntu 12.8-0ubuntu0.20.04.1))
Type "help" for help.
创建用户
postgres=# create user xxf with password '你的密码';
创建数据库
postgres=# create database xxf owner xxf;
授予权限
postgres=# grant all privileges on database xxf to xxf;
postgres=# \q
~$ exit
logout
~> psql
psql (12.8 (Ubuntu 12.8-0ubuntu0.20.04.1))
Type "help" for help.
xxf=>
至此,就在数据库xxf中了。
授予用户其他权限(如创建数据库)可以先授予普通用户超级用户权限,再在dbeaver里授予其他权限:alter role angelhand with superuser;
。
有关使用 PostgreSQL 数据库的信息,请参阅 PostgreSQL 文档
若要在 WSL 上安装 Redis (即。Ubuntu) :
sudo apt update
sudo apt install redis-server
redis-server --version
若要开始运行 Redis 服务器,请执行: sudo service redis-server start
检查 redis 是否正常工作 (redis-cli 是命令行接口实用工具,以与 Redis) :这应返回 redis-cli ping
“一个答复”。
若要停止运行 Redis 服务器,请执行: sudo service redis-server stop
有关使用 Redis 数据库的信息,请参阅 Redis 文档。