Windows10中子系统Ubuntu-创建-修改路径-安装docker(WSL)

1.子系统Ubuntu的安装

首先开启windows中的Linux子系统:
Windows10中子系统Ubuntu-创建-修改路径-安装docker(WSL)_第1张图片

然后开启开发人模式:
Windows10中子系统Ubuntu-创建-修改路径-安装docker(WSL)_第2张图片

准备工作已经做好。
最后安装Ubuntu系统,在Microsoft store搜索Linux,选择适合的linux版本,即可。

由于microsoft store商店默认安装路径是C盘,因此如果C盘内存太小,以后会出现麻烦(以下是已安装好Ubuntu之后),有两种办法解决:

  1. 将创建的Ubuntu压缩一个tar文件,然后在比较大的盘里按照命令进行导入即可(参照修改路径方法)
  2. 因为Ubuntu子系统中,文件有个mnt文件夹,他挂载了windows的磁盘,可以以后使用在这里面,但比较麻烦。

2.下面就是如何修改路径

windows命令行工具wsl登场

可以说,微软主动拥抱Linux,推出WSL,是Windows历史上标志性意义的事情。有了WSL,学习Linux的门槛一下降低了,我们在Windows上就可以很方便地安装、备份、还原Linux子系统,而这些功能通过命令行工具wsl可以超级轻松地实现。下面来体验一下:
Windows中直接搜索命令行,管理者身份运行,打开命令行窗口输入wsl -l,可以看到我系统里装了一个Ubuntu 20.04:

C:\WINDOWS\system32>wsl -l
适用于 Linux 的 Windows 子系统:
Ubuntu-20.04 (默认)

输入wsl --version可以看到版本信息和命令行参数一览:

C:\WINDOWS\system32>>wsl --version
命令行选项无效: --version

用法: wsl.exe [参数] [选项...] [CommandLine]

用于运行 Linux 二进制文件的参数:

    如果未提供任何命令行,wsl.exe 将启动默认 shell。

    --exec, -e 
        在不使用默认 Linux shell 的情况下执行指定的命令。

    --
        按原样传递剩余的命令行。

选项:
    --distribution, -d 
        运行指定的分发。

    --user, -u 
        以指定用户身份运行。

用于管理 Windows Subsystem for Linux 的参数:

    --export  
        将分发导出到 tar 文件。
        文件名可为 - 以便标准输出。

    --import   
        将指定的 tar 文件作为新分发导入。
        文件名可为 - 以便标准输入。

    --list, -l [选项]
        列出分发。

        选项:
            --all
                列出所有分发,包括当前
                正在安装或卸载的分发。

            --running
                仅列出当前正在运行的分发。

    -setdefault, -s 
        将分发设置为默认值。

    --terminate, -t 
        终止分发。

    --unregister 
        注销分发。

    --upgrade 
        将分发升级为 WslFs 文件系统格式。

    --help
        显示用法信息。

接下来讨论几个具体用法。

运行/停止Ubuntu子系统

wsl -l列出了系统中安装的子系统名称,可以是一个或多个,本文中的子系统名称是Ubuntu-20.04,接下来针对这个默认子系统进行操作:

运行子系统

wsl --distribution Ubuntu-20.04
或者
wsl -d Ubuntu-20.04

查看运行中的子系统

wsl -l --running
适用于 Linux 的 Windows 子系统:
Ubuntu-20.04 (默认)

停止子系统

wsl -t Ubuntu-20.04
或者
wsl --terminate Ubuntu-20.04
备份/删除/还原子系统

备份子系统
非常简单,但一定要先停止子系统之后再备份

 wsl --export Ubuntu-20.04   D:/wsl/Ubuntu-20.04.tar

这样WSL子系统就从Windows中删除的干干净净了。

还原子系统
删除了没关系,刚才做了备份,也是一个命令还原:

wsl --import  Ubuntu-20.04   D:/WSL-Ubuntu  D:/wsl/Ubuntu-20.04.tar

这里注意指定还原的路径。成功后,子系统又回来了,可以用wsl -l确认一下

切换wsl2

本来子系统是wsl1的,但是wsl2是比较好的,因此可以切换wsl2:
首先查看wsl版本:wsl -l -v
停止子系统运行:wsl -t Ubuntu-20.04
切换wsl2系统:wsl --set-version Ubuntu-20.04 2 ;
等待几分钟即可;;;

设置默认用户
Ubuntu2004 config --default-user 用户名

就是这么简单!
如本文标题,WSL的备份还原就是这么简单,的确是简单到极致!就是用wsl --import把系统还原回来重新折腾的。通过wsl --export,我们可以把WSL导出为一个文件,放到U盘里随身带走,然后可以在任意一台电脑里还原,继续我们的工作,是不是很方便?

最后一个问题:

由于我们会创建一个用户,但每次登入时候,用户是root。那如何将每次登入默认为创建的用户?

修改默认用户:

查看命令, 输入ubuntu 按回车会自动补全版本对应的命令:

ubuntu2004 /?

**设置默认用户**

# 语法: ubuntu1804 config --default-user 用户名(已存在)
PS  C:\WINDOWS\system32>ubuntu1804 config --default-user root
PS C:\WINDOWS\system32>
# 没有报错就代表成功

Windows10中子系统Ubuntu-创建-修改路径-安装docker(WSL)_第3张图片

这样就切换为用户了:
在这里插入图片描述

3.安装docker:

WSL1安装Docker后执行 sudo service docker start 报错:docker: unrecognized service
因此还是使用wsl2,本人用wsl1一直安装不上docker,但升级为wsl2之后嘛,就正常了。
即原生linux docker,安装指令如下:

sudo apt -y install docker.io

然后开启docker服务:

sudo service docker start

卸载docker:

sudo apt-get remove docker docker-engine docker.io

参考:
链接:https://www.jianshu.com/p/8b4ec8fafdca
链接:https://blog.csdn.net/weixin_44953227/article/details/109465071

你可能感兴趣的:(Linux/ubuntu,ubuntu,windows,linux)