导入要与 WSL 一起使用的任何 Linux 分发版
可以使用 WSL 适用于 Linux 的 Windows 子系统 (内的任何 Linux) ,即使它不适用于Microsoft Store,也可使用 tar 文件导入它。
本文演示如何导入 Linux 分发 版 CentOS,以通过 Docker 容器获取其 tar 文件,将其与 WSL 一起使用。 此过程可以应用于导入任何 Linux 分发版。
获取分发的 tar 文件
首先,需要获取一个 tar 文件,其中包含分发版的所有 Linux 二进制文件。
可以通过多种方式获取 tar 文件,其中两种方式包括:
- 下载提供的 tar 文件。 可以在 Alpine Linux 下载站点的"微型根文件系统"部分找到 Alpine 的示例 。
- 查找 Linux 分发容器,将实例导出为 tar 文件。 以下示例将演示使用 CentOS 容器 的此过程。
获取 CentOS 的 tar 文件示例
本示例将使用 WSL 分发中的 Docker 来获取 CentOS 的 tar 文件。
先决条件
- 必须启用 WSL,并安装运行 WSL 2 的 Linux 分发版。
- 必须安装Docker Desktop for Windows且已启用 WSL 2引擎,并检查集成,以检查将在下一步使用的分发版。
从容器导出 tar
- 对于已 (Ubuntu 的 Linux 分发版,请 () Bash Microsoft Store (命令行) 。
- 启动 Docker 服务:Bash复制sudo service docker start
- 在 Docker 中运行 CentOS 容器:Bash复制docker run -t centos bash ls /
- 使用 grep 和 awk 获取 CentOS 容器 ID:Bash复制dockerContainerID=$(docker container ls -a | grep -i centos | awk '{print $1}')
- 将容器 ID 导出到装载的 c-drive 上的 tar 文件:Bash复制docker export $dockerContainerID > /mnt/c/temp/centos.tar
此过程从 Docker 容器导出 CentOS tar 文件,以便现在可以将其导入到本地以与 WSL 一起使用。
将 tar 文件导入 WSL
准备好 tar 文件后,可以使用 命令导入该文件 wsl --import <Distro> <InstallLocation> <FileName> 。
导入 CentOS 示例
将 CentOS 分发 tar 文件导入 WSL:
- 打开 PowerShell,并确保已创建一个要存储分发的文件夹。PowerShell复制cd C:\temp mkdir E:\wslDistroStorage\CentOS
- 使用 命令 wsl --import <DistroName> <InstallLocation> <InstallTarFile> 导入 tar 文件。PowerShell复制wsl --import CentOS E:\wslDistroStorage\CentOS .\centos.tar
- 使用 命令 wsl -l -v 检查已安装的分发。
- 最后,使用 命令 wsl -d CentOS 运行新导入的 CentOS Linux 分发版。
添加特定于 WSL 的组件,例如默认用户
默认情况下,使用 --import 时,始终以根用户启动。 可以设置自己的用户帐户,但请注意,设置过程根据每个不同的 Linux 分发版略有不同。
若要使用刚刚导入的 CentOS 分发设置用户帐户,请首先使用 命令打开 PowerShell 并启动到
wsl -d CentOS
接下来,打开 CentOS 命令行。 使用此命令将 sudo 和密码设置工具安装到 CentOS 中,创建用户帐户,并设置为默认用户。 此示例中,用户名为"caloe进行"。
yum update -y && yum install passwd sudo -y
myUsername=caloewen
adduser -G wheel $myUsername
echo -e "[user]\ndefault=$myUsername" >> /etc/wsl.conf
passwd $myUsername
现在必须退出该实例,并确保终止所有 WSL 实例。 在 PowerShell 中运行此命令,再次启动分发以查看新的默认用户:
wsl --terminate CentOS
wsl -d CentOS
现在,你将 [caloewen@loewen-dev]$ 看到作为基于此示例的输出。
若要详细了解如何配置 WSL 设置,请参阅 使用 .wslconfig 和 wsl.conf 配置设置。
2021-10-05 20:53:48
共有1条评论!
测试测试测试