ICode9

精准搜索请尝试: 精确搜索
首页 > 系统相关> 文章详细

导入要用于 WSL 的任何 Linux 分发版

2021-09-10 11:05:24  阅读:268  来源: 互联网

标签:分发 CentOS tar Windows WSL 导入 Linux


你可以使用适用于 Linux 的 Windows 子系统 (WSL) 中的任何 Linux 分发版(即使它在 Microsoft Store中不可用),方法是将其导入到 tar 文件。

本文介绍如何通过使用 Docker 容器获取其 tar 文件,导入用于 WSL 的 Linux 分发 CentOS。 此过程可用于导入任何 Linux 分发版。

获取用于分发的 tar 文件

首先,你需要获取一个 tar 文件,其中包含用于分发的所有 Linux 二进制文件。

可以通过多种方式获取 tar 文件,其中两种方法包括:

  • 下载提供的 tar 文件。 可以在 Alpine Linux 下载 站点的 "微型根文件系统" 部分中找到 Alpine 的示例。
  • 查找 Linux 分发容器并将实例导出为 tar 文件。 下面的示例将使用 CentOS 容器显示此进程。

获取用于 CentOS 的 tar 文件示例

在此示例中,我们将使用 WSL 分布中的 Docker 获取 CentOS 的 tar 文件。

先决条件

从容器中导出 tar

  1. 在此) 示例中,为已从 Microsoft Store (Ubuntu 的 Linux 发行版打开命令行 (Bash) 。

  2. 启动 Docker 服务:

Bash复制

sudo service docker start
  1. 在 Docker 中运行 CentOS 容器:

Bash复制

docker run -t centos bash ls /
  1. 使用 grep 和 awk 获取 CentOS 容器 ID:

Bash复制

dockerContainerID=$(docker container ls -a | grep -i centos | awk '{print $1}')
  1. 将容器 ID 导出到已装载的 c 驱动器上的 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
  1. 使用命令 wsl --import <DistroName> <InstallLocation> <InstallTarFile> 导入 tar 文件。

PowerShell复制

wsl --import CentOS E:\wslDistroStorage\CentOS .\centos.tar
  1. 使用命令 wsl -l -v 检查已安装的分发。

在 WSL 中运行的上述命令示例

  1. 最后,使用命令 wsl -d CentOS 运行新导入的 CentOS Linux 分发版。

添加特定于 WSL 的组件,例如默认用户

默认情况下,使用--import 时,始终以根用户的身份启动。 你可以设置自己的用户帐户,但请注意,根据每个不同的 Linux 分发,设置过程会略有不同。

若要使用我们刚刚导入的 CentOS 分发设置用户帐户,请先打开 PowerShell,然后使用命令启动到 CentOS 中:

PowerShell复制

wsl -d CentOS

接下来,打开 CentOS 命令行。 使用此命令将 sudo 和 password 设置工具安装到 CentOS、创建用户帐户并将其设置为默认用户。 在此示例中,用户名为 "caloewen"。

Bash复制

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 中运行以下命令,再次开始分发以查看新的默认用户:

PowerShell复制

wsl --terminate CentOS
wsl -d CentOS

现在,你将看到 [caloewen@loewen-dev]$ 基于此示例的输出。

上面的代码示例 WSL

若要详细了解如何配置 WSL 设置,请参阅 & 配置启动命令

使用自定义 Linux 分发版

你可以创建自己的自定义 Linux 分发版(打包为 UWP 应用),其行为与 Microsoft Store 中可用的 WSL 分发完全相同。 若要了解如何操作,请参阅 创建 WSL 的自定义 Linux 分发


建议的内容

标签:分发,CentOS,tar,Windows,WSL,导入,Linux
来源: https://blog.csdn.net/shangsongwww/article/details/120206413

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有