author | Oleksandr Gavenko <gavenkoa@gmail.com> |
Wed, 13 Oct 2021 15:48:08 +0300 | |
changeset 2513 | 8ea91a3818b3 |
parent 2508 | fe9788ce44ba |
child 2528 | b86cd4fc873e |
permissions | -rw-r--r-- |
2365 | 1 |
|
2 |
================================== |
|
3 |
WSL, Windows subsystem for Linux |
|
4 |
================================== |
|
5 |
.. contents:: |
|
6 |
:local: |
|
7 |
||
2457
9e6abc83e5d6
Windows Subsystem for Linux Documentation.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
2423
diff
changeset
|
8 |
Documentation |
2493
e83847e718a0
Fixed RST section format.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
2486
diff
changeset
|
9 |
============= |
2457
9e6abc83e5d6
Windows Subsystem for Linux Documentation.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
2423
diff
changeset
|
10 |
|
9e6abc83e5d6
Windows Subsystem for Linux Documentation.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
2423
diff
changeset
|
11 |
https://docs.microsoft.com/en-us/windows/wsl/ |
9e6abc83e5d6
Windows Subsystem for Linux Documentation.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
2423
diff
changeset
|
12 |
Windows Subsystem for Linux Documentation. |
9e6abc83e5d6
Windows Subsystem for Linux Documentation.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
2423
diff
changeset
|
13 |
https://github.com/sirredbeard/Awesome-WSL |
9e6abc83e5d6
Windows Subsystem for Linux Documentation.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
2423
diff
changeset
|
14 |
Awesome list dedicated to Windows Subsystem for Linux. |
2469
d6eb5318b6ff
Automatically Configuring WSL.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
2459
diff
changeset
|
15 |
https://devblogs.microsoft.com/commandline/automatically-configuring-wsl/ |
d6eb5318b6ff
Automatically Configuring WSL.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
2459
diff
changeset
|
16 |
Automatically Configuring WSL. |
2457
9e6abc83e5d6
Windows Subsystem for Linux Documentation.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
2423
diff
changeset
|
17 |
|
2365 | 18 |
wsl utility |
2493
e83847e718a0
Fixed RST section format.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
2486
diff
changeset
|
19 |
=========== |
2365 | 20 |
|
21 |
Run Linux command from default distro:: |
|
22 |
||
23 |
wsl ls |
|
24 |
wsl -e /bin/ls |
|
25 |
wsl --exec /bin/bash |
|
26 |
||
2366
55f48026a610
Run Linux command from specific distro.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
2365
diff
changeset
|
27 |
Run Linux command from specific distro:: |
55f48026a610
Run Linux command from specific distro.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
2365
diff
changeset
|
28 |
|
55f48026a610
Run Linux command from specific distro.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
2365
diff
changeset
|
29 |
wsl -d ubuntu ls |
55f48026a610
Run Linux command from specific distro.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
2365
diff
changeset
|
30 |
wsl -d debian -e /bin/ls |
55f48026a610
Run Linux command from specific distro.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
2365
diff
changeset
|
31 |
wsl -d debian --exec /bin/bash |
55f48026a610
Run Linux command from specific distro.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
2365
diff
changeset
|
32 |
wsl -distribution debian --exec /bin/bash |
55f48026a610
Run Linux command from specific distro.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
2365
diff
changeset
|
33 |
|
2367
f295973a87a5
Run Linux command from specific user.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
2366
diff
changeset
|
34 |
Run Linux command from specific user:: |
f295973a87a5
Run Linux command from specific user.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
2366
diff
changeset
|
35 |
|
f295973a87a5
Run Linux command from specific user.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
2366
diff
changeset
|
36 |
wsl -u user ls |
f295973a87a5
Run Linux command from specific user.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
2366
diff
changeset
|
37 |
wsl --user root ls |
f295973a87a5
Run Linux command from specific user.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
2366
diff
changeset
|
38 |
|
2459
607f6d056e26
Added link to docs.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
2457
diff
changeset
|
39 |
Combining user & distro:: |
607f6d056e26
Added link to docs.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
2457
diff
changeset
|
40 |
|
607f6d056e26
Added link to docs.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
2457
diff
changeset
|
41 |
wsl -u root -d alpine -- ls |
607f6d056e26
Added link to docs.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
2457
diff
changeset
|
42 |
|
607f6d056e26
Added link to docs.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
2457
diff
changeset
|
43 |
https://docs.microsoft.com/en-us/windows/wsl/wsl-config |
607f6d056e26
Added link to docs.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
2457
diff
changeset
|
44 |
Ways to run WSL. |
607f6d056e26
Added link to docs.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
2457
diff
changeset
|
45 |
|
2368 | 46 |
wslconfig utility |
2493
e83847e718a0
Fixed RST section format.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
2486
diff
changeset
|
47 |
================= |
2368 | 48 |
|
49 |
List distros:: |
|
50 |
||
51 |
wslconfig /l |
|
52 |
wslconfig /list |
|
53 |
||
54 |
Set default distro:: |
|
55 |
||
56 |
wslconfig /s debian |
|
57 |
wslconfig /setdefault debian |
|
58 |
||
59 |
Terminate any running parts of distro:: |
|
60 |
||
2486 | 61 |
wslconfig /t debian |
2368 | 62 |
wslconfig /terminate debian |
63 |
||
2508
fe9788ce44ba
Mounting Windows file systems.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
2493
diff
changeset
|
64 |
Mounting Windows file systems |
fe9788ce44ba
Mounting Windows file systems.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
2493
diff
changeset
|
65 |
============================= |
fe9788ce44ba
Mounting Windows file systems.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
2493
diff
changeset
|
66 |
|
fe9788ce44ba
Mounting Windows file systems.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
2493
diff
changeset
|
67 |
From January 2018 WSL 1 allows to mount external NTFS file systems as ``drvfs``. ``metadata`` option |
fe9788ce44ba
Mounting Windows file systems.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
2493
diff
changeset
|
68 |
allows ``chmod`` operation on NTFS volumes, metadata will be shared across all WSL distros though. |
fe9788ce44ba
Mounting Windows file systems.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
2493
diff
changeset
|
69 |
|
fe9788ce44ba
Mounting Windows file systems.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
2493
diff
changeset
|
70 |
https://devblogs.microsoft.com/commandline/chmod-chown-wsl-improvements/ |
fe9788ce44ba
Mounting Windows file systems.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
2493
diff
changeset
|
71 |
Chmod/Chown WSL Improvements. |
fe9788ce44ba
Mounting Windows file systems.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
2493
diff
changeset
|
72 |
|
fe9788ce44ba
Mounting Windows file systems.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
2493
diff
changeset
|
73 |
To preserve customization between WSL reloads update ``/etc/wsl.conf`` with something like:: |
2423
6a4fd5ccb340
Mounting external drives.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
2368
diff
changeset
|
74 |
|
2508
fe9788ce44ba
Mounting Windows file systems.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
2493
diff
changeset
|
75 |
[automount] |
fe9788ce44ba
Mounting Windows file systems.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
2493
diff
changeset
|
76 |
enabled = true |
fe9788ce44ba
Mounting Windows file systems.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
2493
diff
changeset
|
77 |
mountFsTab = false |
fe9788ce44ba
Mounting Windows file systems.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
2493
diff
changeset
|
78 |
options = "metadata,noatime,uid=1000,gid=1000,umask=022,fmask=077" |
fe9788ce44ba
Mounting Windows file systems.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
2493
diff
changeset
|
79 |
|
fe9788ce44ba
Mounting Windows file systems.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
2493
diff
changeset
|
80 |
Equivalent CLI call is:: |
fe9788ce44ba
Mounting Windows file systems.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
2493
diff
changeset
|
81 |
|
fe9788ce44ba
Mounting Windows file systems.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
2493
diff
changeset
|
82 |
sudo mount -t drvfs 'C:\' /mnt/c -o metadata,noatime,uid=1000,gid=1000,umask=022,fmask=077 |
fe9788ce44ba
Mounting Windows file systems.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
2493
diff
changeset
|
83 |
|
fe9788ce44ba
Mounting Windows file systems.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
2493
diff
changeset
|
84 |
https://devblogs.microsoft.com/commandline/automatically-configuring-wsl/ |
fe9788ce44ba
Mounting Windows file systems.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
2493
diff
changeset
|
85 |
Automatically Configuring WSL. |
fe9788ce44ba
Mounting Windows file systems.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
2493
diff
changeset
|
86 |
|
fe9788ce44ba
Mounting Windows file systems.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
2493
diff
changeset
|
87 |
To mount attached USB stick:: |
2423
6a4fd5ccb340
Mounting external drives.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
2368
diff
changeset
|
88 |
|
6a4fd5ccb340
Mounting external drives.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
2368
diff
changeset
|
89 |
sudo mkdir /mnt/f |
6a4fd5ccb340
Mounting external drives.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
2368
diff
changeset
|
90 |
sudo mount -t drvfs f: /mnt/f |
2459
607f6d056e26
Added link to docs.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
2457
diff
changeset
|
91 |
|
607f6d056e26
Added link to docs.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
2457
diff
changeset
|
92 |
https://docs.microsoft.com/en-us/windows/wsl/wsl-config |
607f6d056e26
Added link to docs.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
2457
diff
changeset
|
93 |
``/etc/wsl.conf`` configuration options. |
2508
fe9788ce44ba
Mounting Windows file systems.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
2493
diff
changeset
|
94 |