Win2022基础配置实践指南
[TOC]
0x01 基础配置
1.WSL之Linux系统安装
Q: 什么是适用于 Linux 的 Windows 子系统?
答: 适用于 Linux 的 Windows 子系统(
简称WSL
-Windows Subsystem for Linux)可让开发人员直接在 Windows 上按原样运行 GNU/Linux 环境(包括大多数命令行工具、实用工具和应用程序),且不会产生传统虚拟机或双启动设置开销。
Linux 的 Windows 子系统(简称WSL
)拥有如下功能:
- 运行常用的命令行软件工具(例如 grep、sed、awk)或其他 ELF-64 二进制文件。
- 运行 Bash shell 脚本和 GNU/Linux 命令行应用程序,包括: 工具:vim、emacs、tmux 语言:NodeJS、Javascript、Python、Ruby、C/ C++、C# 与 F#、Rust、Go 等。 服务:SSHD、MySQL、Apache、lighttpd、MongoDB、PostgreSQL。
- 使用自己的 GNU/Linux 分发包管理器安装其他软件。
- 使用类似于 Unix 的命令行 shell 调用 Windows 应用程序。
- 在 Windows 上调用 GNU/Linux 应用程序。
Q: 什么是 WSL 2?
答: WSL 2 是适用于 Linux 的 Windows 子系统体系结构的一个新版本,它支持适用于 Linux 的 Windows 子系统在 Windows 上运行
ELF64
Linux 二进制文件。 它的主要目标是提高文件系统性能,以及添加完全的系统调用兼容性。 WSL 2 使用最新、最强大的虚拟化技术在轻量级实用工具虚拟机 (VM) 中运行 Linux 内核。 但是,WSL 2 不是传统的 VM 体验。
Tips: 单个 Linux 分发版可以在 WSL 1 或 WSL 2 体系结构中运行。 每个分发版可随时升级或降级,并且你可以并行运行 WSL 1 和 WSL 2 分发版。
比较 WSL 1 和 WSL 2 从 WSL 1 升级到 WSL 2 的主要区别和优势是:完整的 Linux 内核、提高文件系统(IO)性能、支持完全的系统调用兼容性。
WeiyiGeek.WSL1与WSL2功能比较
Tips: WSL 2 仅适用于 Windows 10 版本 1903、内部版本 18362 或更高版本。通过按 Windows 徽标键 + R,检查你的 Windows 版本,然后键入 winver,选择“确定”。(或者在 Windows 命令提示符下输入 ver 命令)。
Tips: 非常注意,如果系统版本低于 18362 的版本根本不支持 WSL2,如果系统版本低于1709 根本不支持 WSL1。
Tips:Windows Server 2019 和 2022
不支持 WSL2,坑呀。https://github.com/microsoft/WSL/issues/7666
在Windows2022服务器上安装配置WSL流程:
第一步,打开服务器管理器,添加角色和功能,在功能中勾选【适用于Linux的Windows子系统】
并重启,然后才能在 Windows 上运行 Linux 发行版。
# 命令方式1.以管理员身份打开 PowerShell 并运行:
Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Windows-Subsystem-Linux
# 命令方式2.以管理员身份打开 cmd 并运行:
# dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart
# 安装 WSL 2 之前,必须启用“虚拟机平台”可选功能,并重启计算机
dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart
第二步,下载 Linux 内核更新包安装完成后,请继续执行在安装新的 Linux 分发时,将 WSL 2 设置为默认版本。 (如果希望将新的 Linux 安装设置为 WSL 1,请跳过此步骤。)
# 下载安装 Linux 内核更新包
curl.exe -L https://wslstorestorage.blob.core.windows.net/wslblob/wsl_update_x64.msi -o wsl_update_x64.msi
# 将 WSL 2 设置为默认版本,执行`wsl --set-default-version 2`powershell 命令即可。 WindowsServer2022 不适用于WSL2
# wsl --set-default-version 2
# 查看默认版本
# wsl --status
默认版本:2
第三步,下载指定的Linux发行版,下面罗列出一些常用的发行版本下载地址,以下面链接可以直接从浏览器中下载,微软Store(https://aka.ms/wslstore)
- Ubuntu 20.04
- Ubuntu 20.04 ARM
- Ubuntu 18.04
- Ubuntu 18.04 ARM
- Ubuntu 16.04
- Debian GNU/Linux
- Kali Linux
- OpenSUSE Leap 42
- SUSE Linux Enterprise Server 12
- Fedora Remix for WSL
命令行下载:
# 方式1.
Invoke-WebRequest -Uri https://aka.ms/wslubuntu2004 -OutFile Ubuntu2004.appx -UseBasicParsing
# 方式2.
curl.exe -L -o ubuntu2004.appx https://aka.ms/wslubuntu2004
第三步,下载需要将ubuntu2004.appx重命名为ubuntu.zip并解压提取 Linux 分发版。
Rename-Item .\ubuntu2004.appx .\Ubuntu.zip
Expand-Archive .\Ubuntu.zip D:\Ubuntu
第四步,系统环境变量的设置,将Ubuntu.exe目录加入到PATH之中,此处是放在D:\Ubuntu
目录下。
$userenv = [System.Environment]::GetEnvironmentVariable("Path", "User")
[System.Environment]::SetEnvironmentVariable("PATH", $userenv + ";D:\Ubuntu", "User")
第五步,启动Ubuntu以管理员模式打开PowerShell,在在目标文件夹中运行分发版启动器应用程序;执行D:\Ubuntu\ubuntu2004.exe
进行启动,非常注意第一次进入需要等待系统初始化完成,并设置好用户名和密码,之后再进入就是如下。
> wsl
> wsl --list --verbose // 或者 wsl -l -v
NAME STATE VERSION
* Ubuntu-20.04 Stopped 1 // 1表示WSL1版本,2表示WSL2版本,WinServer 2022 不适用WSL2
祝贺你!现已成功安装并设置了与 Windows 操作系统完全集成的 Linux 分发!
第七步,若要在 Windows 文件资源管理器 中打开 WSL 项目,请输入:explorer.exe .
请务必在命令末尾添加期限以打开当前目录。
例如,在存储 WSL 项目文件时:
- 使用 Linux 文件系统根目录:
\\wsl$\\home\\Project
- 不是Windows根目录:
C:\Users\\Project
或/mnt/c/Users//Project$
Ubuntu-root-文件存储
第八步,WSL执行如下命令,进行查看并在线下载额外的发行版本,例如Debian
PS C:\Users\Administrator\Desktop> wsl --list -o
以下是可安装的有效分发的列表。
请使用 “wsl --install -d <Distro>”安装。
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
PS C:\Users\Administrator\Desktop> wsl --install --distribution Debian
正在下载: Debian GNU/Linux
[ 1.5% ] // 比较慢需要耐心等待
第九步,安装并开始设置 Windows 终端,如果你无法访问 Microsoft Store,GitHub 发布页上发布有内部版本。
# 安装方式1
Add-appxpackage .\Microsoft.WindowsTerminal_1.11.2921.0_8wekyb3d8bbwe.msixbundle
# 打开 Windows Terminal
# 安装方式2.Microsoft Store
第十步, 注销指定名称的分发并删除根文件系统。
> wsl --unregister Ubuntu-20.04
正在注销...
> wsl --list -v
适用于 Linux 的 Windows 子系统没有已安装的分发版。
可以通过访问 Microsoft Store 来安装分发版: https://aka.ms/wslstore
Tips: 安装失败并出现错误 0x8007007e:如果收到此错误,则表明系统不支持 WSL。 请确保运行的是 Windows 版本 16215 或更高版本。 检查内部版本。 另外,请进行检查以确认 WSL 已启用,并且在启用此功能后重新启动了计算机。
Tips: 新 WSL 命令,切换 WSL 2 与 WSL 1 的命令,新的 WSL 还添加了一些命令来帮助用户控制和查看 WSL 版本和相关信息:
wsl --set-version <Distro> <Version>:切换 WSL 2 与 WSL 1
wsl --set-default-version <Version>:更改默认 WSL 版本
wsl --list --quiet:列出发行版名称
wsl --list --verbose:显示发行版的详细信息
Tips: WSL内核版本查看与升级。
$ wsl --status
// 默认版本:2
// 适用于 Linux 的 Windows 子系统最后更新于 2021/12/2
// 适用于 Linux 的 Windows 子系统内核可以使用“wsl --update”手动更新,但由于你的系统设置,无法进行自动更新。
// 内核版本: 5.10.16
$ wsl --update
// 正在检查下载/安装更新...
// 此更改将在 WSL 下次完全重启时生效。
// 内核版本: 5.10.60.1
// 若要强制重启,立即终止所有正在运行的发行版和 WSL 2 VM , 在升级后便
$ wsl --shutdown
参考连接:
- 新版本服务器安装方法: https://docs.microsoft.com/zh-cn/windows/wsl/install-on-server
- 手动安装方式: https://docs.microsoft.com/zh-cn/windows/wsl/install-manual
- WSL2最佳实践: https://docs.microsoft.com/zh-cn/windows/wsl/setup/environment#set-up-your-linux-user-info
- WSL2磁盘挂载: https://docs.microsoft.com/zh-cn/windows/wsl/wsl2-mount-disk
- WSL Github项目: https://github.com/microsoft/WSL/
相关文章
- 06_Linux基础-NGINX和浏览器、网页的关系-云服务器ssh登陆-安装NGINX-上传网页-压缩命令-xz-gzip-bzip2-zip-tar-配置N
- 数据库概述与配置
- 4.Redis基础运维之哨兵和集群安装配置
- 交换机基础配置教程[通俗易懂]
- 1.基于GitLab代码仓库的持续集成基础配置和使用
- DELL存储SCv2000/2020基础配置与使用
- IC验证入门基础01-Vim的配置
- Spring Boot基础配置之属性配置
- vue项目基础配置
- SpringBoot基础学习文章-Java环境变量配置Maven介绍Spring Boot介绍
- ESLint 配置入门
- Nginx 常用的基础配置(web前端相关方面)
- Linux基础: ssh服务器配置方法
- Django基础学习七之如何配置django+mysql详解编程语言
- Linux系统快速基础配置指南(linux基础配置)
- Apollo 分布式配置中心详解
- LINUX虚拟机网卡配置指南(linux虚拟机添加网卡)
- 新手必读:Mac上安装与配置MySQL(mac安装设置mysql)
- Haproxy-基础配置详解
- 如何在Linux上配置NTP服务?(linux配置ntp服务)
- 设置Linux下快捷键鼠标配置解密(linux键盘鼠标)
- Linux网络配置:使用工具实现更简易快捷(linux网络配置工具)
- MySQL配置大小写的注意事项及方法(mysql配置大小写)
- MSSQL配置实例ID实战详解(mssql配置实例id)
- 深入浅出查看Redis集群的配置信息(查看redis集群配置)
- 实现Redis集群安装配置篇(redis集群的安装配置)
- Redis配置连接数据库解决方案(redis设置连接数据库)
- Jenkins CI持续集成项目基础配置
- 零基础写python爬虫之爬虫框架Scrapy安装配置