服务器系统搭建的重要性与挑战,如何实现高效与安全的管理?
1011
2022-05-29
WSL备份与还原
首先系统必须是 Win10 1903 之后的版本才能用这些命令。之前的不可以,请使用 LxRunOffline 工具备份还原。
通过按 Win +R,输入 cmd 回车打开命令行窗口输入 wsl \-l ,可以看到系统里装了一个 WSL 是 Ubuntu-20.04。
> wsl -l Windows Subsystem for Linux Distributions: Ubuntu-20.04 (Default)
1
2
3
输入 wsl \--version 可以看到版本信息和命令行参数说明:
> wsl --version 用法: wsl.exe [参数] [选项...] [CommandLine] 用于运行 Linux 二进制文件的参数: 如果未提供任何命令行,wsl.exe 将启动默认 shell。 --exec, -e
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
wsl \-l 列出了系统中安装的子系统的名称,可以是一个或多个,本文中的子系统名称是 Ubuntu-20.04,接下来针对这个默认子系统进行操作:
运行子系统
> wsl --distribution Ubuntu-20.04 #或者 > wsl -d Ubuntu-20.04
1
2
3
查看运行中的子系统
> wsl -l --running Windows Subsystem for Linux Distributions: Ubuntu-20.04 (Default)
1
2
3
停止子系统
> wsl -t Ubuntu-20.04 # 或者 > wsl --terminate Ubuntu-20.04
1
2
3
备份子系统
一定要先停止子系统之后再备份,备份一定要保证硬盘空间充足,我的 WSL 装了点 C++ 开发环境的软件已经达到了 1.6GB,备份期间需要耐心等待,比如将系统被分到 D 盘:
> wsl --export Ubuntu-20.04 D:\Ubuntu-20.04.tar
1
备份成功后,子系统会被打包成命令中指定的tar文件。
删除子系统
删除子系统后,选中的 WSL 就会从 Windows 中干净的删除了。
> wsl --unregister Ubuntu-20.04
1
还原子系统
删除了没关系,刚才做了备份,可以直接使用命令还原:
> wsl --import Ubuntu-20.04 D:\WSL D:\Ubuntu-20.04.tar
1
这里注意指定还原的路径。成功后,子系统又回来了,可以用 wsl \-l 确认一下。
注意:还原后的子系统进入后,默认成了 root 用户,查了一下,解决方法如下:
如果在商店安装过 Ubuntu 直接找到如下目录:
1
C:\C:\Users\用户名\AppData\Local\Microsoft\WindowsApps\ubuntu版本.exe config --default-user root
1
执行指令修改为指定用户:
ubuntu.exe config --default-user crazyang #名称根据实际修改
1
如果电脑上之前没有安装过 WSL,是通过还原来的,可以下载 Windows Terminal 工具,然后进入设置中,指定启动的命令行 -u xxx即可,但是这种方式如果换成其他连接 WSL 的工具还是默认 root 用户。
如果还是想要通过 ubuntu.exe config --default-user xxx 这种方式设置默认用户,目前最可靠的方法是下载离线的 Ubuntu WSL 安装包,安装包中就有 ubuntu2004.exe,然后通过这个ubuntu2004.exe 执行 config --default-user xxx 命令,就可以一直默认为设置的用户了,下载链接:https://docs.microsoft.com/en-us/windows/wsl/install-manual
配置 Windows Terminal
在安装好 WSL 后,最优先的就是下载 Windows Terminal 终端,这个终端的强大之处就不再赘述,但是对于使用 WSL 来说,还需要一些设置才可以更舒适的使用。
修改WSL默认打开的路径
打开 Windows Terminal 的设置页面,找到左下方的打开 JSON 文件并使用编辑器打开 setting.json,如果你安装的是 Ubuntu-20.04 ,那么就搜索 Ubuntu-20.04,然后定位到后,添加一行:"startingDirectory": "//wsl$/Ubuntu-20.04/home/crazyang",这样我们再进入 Ubuntu 时,就显示的是 ~ 目录下了。
如下:
{ "guid": "{07b52e3e-de2c-5db4-bd2d-ba144ed6c273}", "name": "Ubuntu-20.04", "source": "Windows.Terminal.Wsl", "startingDirectory": "//wsl$/Ubuntu-20.04/home/crazyang" }
1
2
3
4
5
6
官方文档:https://docs.microsoft.com/en-us/windows/terminal/customize-settings/profile-settings
修改 Ctrl+C 和 Ctrl + V
在 Windows 下,Ctrl + C 默认是复制快捷键,Ctrl + V 默认是粘贴快捷键,但是如果装了 WSL 后,Linux 下 Ctrl + C 是向应用程序发送一个 SIGINT 中断信号,当用户按中断键(Ctrl+C)时,终端驱动程序产生此信号并发送至前台进程组中的每一个进程。这就和 Windows 默认的复制有些冲突,所以建议修改为 Ctrl + Shift + C 和 Ctrl + Shift + V,只需要在和上面相同的 setting.json 配置中:
{ "command": {"action": "copy", "singleLine": false }, "keys": "ctrl+shift+c" }, { "command": "paste", "keys": "ctrl+shift+v" },
1
2
这样使用起来就更方便了。
除此之外,WSL 还有一些其他命令,需要阅读官方文档。
Ubuntu Windows
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。