【other】WSL基础使用指南

WSL使用指南

1、WSL介绍和安装

一、简介

  • Windows Subsystem for Linux(简称WSL)是一个在Windows 10\11上能够运行原生Linux二进制可执行文件(ELF格式)的兼容层。它是由微软与Canonical公司合作开发,其目标是使纯正的Ubuntu、Debian等映像能下载和解压到用户的本地计算机,并且映像内的工具和实用工具能在此子系统上原生运行。
  • 优势:开发人员可以在 Windows 计算机上同时访问 Windows 和 Linux 的强大功能。 通过适用于 Linux 的 Windows 子系统 (WSL),开发人员可以安装 Linux 发行版(例如 Ubuntu、OpenSUSE、Kali、Debian、Arch Linux 等),并直接在 Windows 上使用 Linux 应用程序、实用程序和 Bash 命令行工具,不用进行任何修改,也无需承担传统虚拟机或双启动设置的费用。
  • 一句话,在windows上不需要通过虚拟机运行Linux

二、准备工作

先开启Windows对子系统的支持:控制面板–>程序–>启用或关闭Windows功能

  • 打开Hyper-V
  • 打开适用于Linux的Windows子系统

三、安装WSL

1 启用适用于 Linux 的 Windows 子系统

需要先启用“适用于 Linux 的 Windows 子系统”可选功能,然后才能在 Windows 上安装 Linux 分发。

以管理员身份打开 PowerShell(“开始”菜单 >“PowerShell” >单击右键 >“以管理员身份运行”),然后输入以下命令:

1
dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart
2 启用虚拟机功能

安装 WSL 2 之前,必须启用“虚拟机平台”可选功能。 计算机需要虚拟化功能才能使用此功能。

以管理员身份打开 PowerShell 并运行:

1
dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart

重新启动计算机,以完成 WSL 安装并更新到 WSL 2。

安装完重启后在PowerShell中设置默认为WSL2:

1
wsl --set-default-version 2
3 安装所选的 Linux 分发

在MicroSoft Store中搜索并下载想要使用的linux版本,我这里使用的ubuntu 20版本(或22版本)

4 运行WSL

终端使用命令

1
2
wsl -h # 查看命令help
wsl # 运行wsl

2、进入WSL 安装开启ssh远程

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
sudo passwd root   #设置root账号密码。根据提示输入root密码即可。
12345678
su User #切换账号. root账号是 # 结尾,非root账号是 $结尾

// 更新环境
sudo apt-get update

ifconfig # 如果没有就执行下面的
sudo apt-get install net-tools

// 安装ssh
sudo apt-get install openssh-server

sudo apt-get install openssh-server

# 编辑sshd_config文件
vim /etc/ssh/sshd_config

Port 2222 #设置ssh的端口号, 由于22在windows中有别的用处, 尽量不修改系统的端口号
PermitRootLogin yes # 可以root远程登录
PasswordAuthentication yes # 密码验证登录
#设置SSH的端口号,尽量避免与Windows端口号冲突
Port 2345
#允许远程登录
PermitRootLogin yes
#使用密码登录
PasswordAuthentication yes
#SSH登录时的用户名字
AllowUsers wsl_username

安装ssh
apt-get install ssh

开启 ssh
/etc/init.d/ssh start

出现* Starting OpenBSD Secure Shell server sshd报错就
$ ssh-keygen -A
$ /etc/init.d/ssh start
可以远程连接了
sudo ps -e | grep ssh # 输入查看有没有启动成功
如果显示对应的端口号,就说明启动成功了

3、更新服务器软件源(阿里云源)并更新软件

1
2
3
4
5
6
7
8
9
10
#使用 root 权限登录,后续输入密码
sudo -i

#接下来备份当前源,输入以下命令
cp /etc/apt/sources.list /etc/apt/sources.list.old

#这个sources.list文件就是源文件,删除该文件,重新写一个
rm /etc/apt/sources.list
vim /etc/apt/sources.list

更新软件源(阿里云源)并更新软件

1
2
3
4
5
6
7
8
9
#使用 root 权限登录,后续输入密码
sudo -i

#接下来备份当前源,输入以下命令
cp /etc/apt/sources.list /etc/apt/sources.list.old

#这个sources.list文件就是源文件,删除该文件,重新写一个
rm /etc/apt/sources.list
vim /etc/apt/sources.list

复制下面内容,然后单击右键粘贴进去即可,之后按ESC,输入wq保存并退出。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
deb http://mirrors.aliyun.com/ubuntu/ jammy main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ jammy-security main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ jammy-updates main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ jammy-backports main restricted universe multiverse

# deb-src http://mirrors.aliyun.com/ubuntu/ jammy main restricted universe multiverse
# deb-src http://mirrors.aliyun.com/ubuntu/ jammy-security main restricted universe multiverse
# deb-src http://mirrors.aliyun.com/ubuntu/ jammy-updates main restricted universe multiverse
# deb-src http://mirrors.aliyun.com/ubuntu/ jammy-backports main restricted universe multiverse

## Pre-released source, not recommended.
# deb http://mirrors.aliyun.com/ubuntu/ jammy-proposed main restricted universe multiverse
# deb-src http://mirrors.aliyun.com/ubuntu/ jammy-proposed main restricted universe multiverse

deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy-updates main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy-backports main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy-security main restricted universe multiverse

# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy-updates main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy-backports main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy-security main restricted universe multiverse

## Pre-released source, not recommended.
# deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy-proposed main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy-proposed main restricted universe multiverse

## Pre-released source, not recommended.
# deb https://mirrors.ustc.edu.cn/ubuntu/ jammy-proposed main restricted universe multiverse
# deb-src https://mirrors.ustc.edu.cn/ubuntu/ jammy-proposed main restricted universe multiverse

deb http://mirrors.163.com/ubuntu/ jammy main restricted universe multiverse
deb http://mirrors.163.com/ubuntu/ jammy-security main restricted universe multiverse
deb http://mirrors.163.com/ubuntu/ jammy-updates main restricted universe multiverse
deb http://mirrors.163.com/ubuntu/ jammy-backports main restricted universe multiverse

# deb-src http://mirrors.163.com/ubuntu/ jammy main restricted universe multiverse
# deb-src http://mirrors.163.com/ubuntu/ jammy-security main restricted universe multiverse
# deb-src http://mirrors.163.com/ubuntu/ jammy-updates main restricted universe multiverse
# deb-src http://mirrors.163.com/ubuntu/ jammy-backports main restricted universe multiverse

## Pre-released source, not recommended.
# deb http://mirrors.163.com/ubuntu/ jammy-proposed main restricted universe multiverse
# deb-src http://mirrors.163.com/ubuntu/ jammy-proposed main restricted universe multiverse
1
2
3
# 开始更新软件镜像源和软件包
sudo apt update #更新软件源
sudo apt upgrade #更新软件包

4、docker 安装

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
1. 先卸载旧版本的docke
sudo apt-get remove docker docker-engine docker.io
2. 更新一下apt-get源
sudo apt-get update
3. 安装GPG证书
#别忘了最后的“-”
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
4. 写入软件源信息
sudo add-apt-repository "deb [arch=amd64] http://mirrors.aliyun.com/docker-ce/linux/ubuntu $(lsb_release -cs) stable"
5. 列出可用版本
sudo apt-cache madison docker-ce
6. 更新并安装 Docker-CE
sudo apt-get update
sudo apt-get install docker-ce=5:23.0.5-1~ubuntu.20.04~focal
sudo apt-get install docker-ce=5:24.0.4-1~ubuntu.22.04~jammy
7. 开启docker服务,查看docker状态
sudo service docker start
sudo service docker status
systemctl restart docker
8.使用docker的命令,查看现有镜像和正在运行的容器
docker images
docker ps
# docker compose安装
curl -L "https://github.com/docker/compose/releases/download/1.29.0/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
1
2
3
4
5
6
7
sudo apt-get update
sudo apt-get install apt-transport-https ca-certificates curl gnupg-agent software-properties-common
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"

sudo apt-get update
sudo apt-get install docker-ce docker-ce-cli containerd.io

docker 换源

1
2
3
4
5
6
7
8
9
10
11
[root@localhost henryhzy]# vim /etc/docker/daemon.json  # 创建或修改 /etc/docker/daemon.json 文件,修改为如下形式
{
"registry-mirrors" : [
"https://docker.mirrors.ustc.edu.cn",
"http://hub-mirror.c.163.com",
"https://cr.console.aliyun.com/"
]
}
$ systemctl daemon-reload
$ systemctl restart docker
$ docker info

5、docker搭建个人博客

安装docker-compose

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
先输入命令安装docker-compose
sudo curl -L "https://github.com/docker/compose/releases/download/1.26.0/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose
sudo ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose

测试已下版本
docker-compose --version
显示docker-compose version 1.26.0, build d4451659

再拉两个镜像
docker pull wordpress

docker pull mysql:5.6

建一个文件夹放wordpress bolg
mkdir -p /wang/wordpress

vi命令 创建一个docker-compose.yml

1
vim docker-compose.yml

把下文内容写进docker-compose.yml里面

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
version: '3'
services:
wordpress:
image: wordpress
restart: always
ports:
- 80:9090
environment:
WORDPRESS_DB_HOST: db
WORDPRESS_DB_USER: exampleuser
WORDPRESS_DB_PASSWORD: examplepass
WORDPRESS_DB_NAME: exampledb
networks:
- wang-net
volumes:
- wordpress:/var/www/html

db:
image: mysql:5.6
restart: always
environment:
MYSQL_DATABASE: exampledb
MYSQL_USER: exampleuser
MYSQL_PASSWORD: examplepass
MYSQL_RANDOM_ROOT_PASSWORD: '1'
volumes:
- db:/var/lib/mysql
networks:
- wang-net

volumes:
wordpress:
db:

networks:
wang-net:
driver: bridge

再执行命令启动这个compose

1
docker-compose up -d

6、docker配置数据库

1


【other】WSL基础使用指南
http://example.com/2023/12/23/WSL基础使用指南/
作者
Wangxiaowang
发布于
2023年12月23日
许可协议