导入要与 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 文件。

先决条件

从容器导出 tar

  1. 对于已 (Ubuntu 的 Linux 分发版,请 () Bash Microsoft Store (命令行) 。
  2. 启动 Docker 服务:Bash复制sudo service docker start
  3. 在 Docker 中运行 CentOS 容器:Bash复制docker run -t centos bash ls /
  4. 使用 grep 和 awk 获取 CentOS 容器 ID:Bash复制dockerContainerID=$(docker container ls -a | grep -i centos | awk '{print $1}')
  5. 将容器 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:

  1. 打开 PowerShell,并确保已创建一个要存储分发的文件夹。PowerShell复制cd C:\temp mkdir E:\wslDistroStorage\CentOS
  2. 使用 命令 wsl --import <DistroName> <InstallLocation> <InstallTarFile> 导入 tar 文件。PowerShell复制wsl --import CentOS E:\wslDistroStorage\CentOS .\centos.tar
  3. 使用 命令 wsl -l -v 检查已安装的分发。在 WSL 中运行的上述命令示例
  4. 最后,使用 命令 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 中运行的示例

若要详细了解如何配置 WSL 设置,请参阅 使用 .wslconfig 和 wsl.conf 配置设置

2021-10-05 20:53:48

共有1条评论!

  1. test 2024-05-21 08:34:13

    测试测试测试

发表评论