1
00:00:00,040 --> 00:00:03,520
Welcome to the M365 FM podcast
where we explore the people,
2
00:00:03,520 --> 00:00:06,599
ideas and technologies shaping
the future of work.
3
00:00:06,599 --> 00:00:09,279
Why Linux tools keep showing up
in windows tutorials.
4
00:00:09,279 --> 00:00:10,759
Half the tutorials online assume
5
00:00:10,759 --> 00:00:11,960
you're not on windows, and that
6
00:00:11,960 --> 00:00:13,000
used to mean you had the wrong
7
00:00:13,000 --> 00:00:13,679
machine.
8
00:00:13,679 --> 00:00:16,440
Windows now ships a free feature
that runs real Linux right
9
00:00:16,440 --> 00:00:18,679
beside it, built into windows
ten and eleven.
10
00:00:18,679 --> 00:00:21,000
You might think it's a virtual
machine you have to babysit, but
11
00:00:21,000 --> 00:00:22,480
it starts in under a second.
12
00:00:22,480 --> 00:00:23,719
By the end, you'll know how it
13
00:00:23,719 --> 00:00:25,280
really works, where it slows you
14
00:00:25,280 --> 00:00:26,579
down, and how it fits into
15
00:00:26,579 --> 00:00:27,399
Azure.
16
00:00:27,399 --> 00:00:31,000
Welcome to the M365 FM podcast,
where we explore the people,
17
00:00:31,000 --> 00:00:33,479
ideas, and technologies shaping
the future of work.
18
00:00:33,479 --> 00:00:35,240
You have probably hit this wall
already.
19
00:00:35,240 --> 00:00:37,700
A tutorial you actually want to
follow reads fine, right up
20
00:00:37,700 --> 00:00:38,799
until step two.
21
00:00:38,799 --> 00:00:39,899
That is where it asks you to
22
00:00:39,899 --> 00:00:41,159
open a terminal and type a
23
00:00:41,159 --> 00:00:42,420
command into something called
24
00:00:42,420 --> 00:00:43,079
bash.
25
00:00:43,079 --> 00:00:44,780
Your laptop runs windows, so you
26
00:00:44,780 --> 00:00:46,439
close the tab and go hunting for
27
00:00:46,439 --> 00:00:47,359
a windows version of that
28
00:00:47,359 --> 00:00:48,399
tutorial, which was never
29
00:00:48,399 --> 00:00:49,000
written.
30
00:00:49,000 --> 00:00:50,320
That gap is the problem.
31
00:00:50,320 --> 00:00:51,399
WSL was built to close.
32
00:00:51,399 --> 00:00:53,840
The feature has been sitting on
your machine since twenty
33
00:00:53,840 --> 00:00:57,719
sixteen, and it goes by the name
Windows Subsystem for Linux.
34
00:00:57,719 --> 00:01:00,799
The name is a mouthful, so
everyone just calls it w s l.
35
00:01:00,799 --> 00:01:03,500
This episode is the plane tour
and you won't need an IT
36
00:01:03,500 --> 00:01:04,959
background to follow along.
37
00:01:04,959 --> 00:01:06,640
What w s l actually is.
38
00:01:06,640 --> 00:01:08,599
The name sounds heavier than the
thing itself.
39
00:01:08,599 --> 00:01:11,120
W s l is a windows feature that
runs a Linux environment right
40
00:01:11,120 --> 00:01:12,319
on your PC.
41
00:01:12,319 --> 00:01:13,519
It does that without a separate
42
00:01:13,519 --> 00:01:14,879
virtual machine, and it does it
43
00:01:14,879 --> 00:01:16,099
without wiping your drive to
44
00:01:16,099 --> 00:01:17,280
install a second operating
45
00:01:17,280 --> 00:01:17,879
system.
46
00:01:17,879 --> 00:01:18,920
The first thing you get is a
47
00:01:18,920 --> 00:01:20,159
real command line shell, which
48
00:01:20,159 --> 00:01:21,640
is a text window where you type
49
00:01:21,640 --> 00:01:22,879
instructions instead of clicking
50
00:01:22,879 --> 00:01:23,480
buttons.
51
00:01:23,480 --> 00:01:24,519
The second thing is genuine
52
00:01:24,519 --> 00:01:25,959
Linux software that installs and
53
00:01:25,959 --> 00:01:27,200
runs the way it would on a Linux
54
00:01:27,200 --> 00:01:27,519
machine.
55
00:01:27,519 --> 00:01:30,439
You also pick a distribution,
which is just a flavor of Linux,
56
00:01:30,439 --> 00:01:32,239
like ubuntu, Debian, or Kali.
57
00:01:32,239 --> 00:01:33,480
Each distribution gets its own
58
00:01:33,480 --> 00:01:35,239
separate file system for Linux
59
00:01:35,239 --> 00:01:36,319
files live in one place, and
60
00:01:36,319 --> 00:01:37,400
your windows files live in
61
00:01:37,400 --> 00:01:39,120
another, and the two stay apart
62
00:01:39,120 --> 00:01:40,359
unless you deliberately connect
63
00:01:40,359 --> 00:01:40,920
them.
64
00:01:40,920 --> 00:01:42,439
Ubuntu is the default, and you
65
00:01:42,439 --> 00:01:43,439
can install more than one
66
00:01:43,439 --> 00:01:44,500
distribution if you want to
67
00:01:44,500 --> 00:01:45,480
compare them.
68
00:01:45,480 --> 00:01:48,599
Debian and Kali sit right there
in the list ready to add.
69
00:01:48,599 --> 00:01:49,879
Updates come from the Microsoft
70
00:01:49,879 --> 00:01:51,200
Store, just like a normal app on
71
00:01:51,200 --> 00:01:52,079
your machine.
72
00:01:52,079 --> 00:01:54,560
One detail surprises people once
they look it up.
73
00:01:54,560 --> 00:01:57,969
The Linux kernel that Wsl2 runs
is built by Microsoft, tuned for
74
00:01:57,969 --> 00:02:00,750
windows and serviced through
regular windows updates in
75
00:02:00,750 --> 00:02:01,650
twenty twenty five.
76
00:02:01,650 --> 00:02:03,189
Microsoft also published the
77
00:02:03,189 --> 00:02:04,930
source code on GitHub, so anyone
78
00:02:04,930 --> 00:02:06,409
can read how it works or send in
79
00:02:06,409 --> 00:02:06,890
a fix.
80
00:02:06,890 --> 00:02:09,889
You don't need any of that to
use w s l, but it explains why
81
00:02:09,889 --> 00:02:12,530
the tool keeps getting better
without you lifting a finger.
82
00:02:12,530 --> 00:02:13,689
If the built in list isn't
83
00:02:13,689 --> 00:02:14,849
enough, you can import a
84
00:02:14,849 --> 00:02:15,930
distribution that isn't in the
85
00:02:15,930 --> 00:02:17,289
store or build your own from
86
00:02:17,289 --> 00:02:18,090
scratch.
87
00:02:18,090 --> 00:02:19,210
That matters when a project
88
00:02:19,210 --> 00:02:21,090
needs one specific setup that
89
00:02:21,090 --> 00:02:22,590
nobody publishes for you, it
90
00:02:22,590 --> 00:02:23,689
costs nothing.
91
00:02:23,689 --> 00:02:26,849
W SL comes with windows ten and
windows eleven, and it even runs
92
00:02:26,849 --> 00:02:29,009
on the home edition that ships
on cheap laptops.
93
00:02:29,009 --> 00:02:30,849
Picture a door, not a second
computer.
94
00:02:30,849 --> 00:02:32,009
You stay in windows the whole
95
00:02:32,009 --> 00:02:33,530
time, and when you need Linux
96
00:02:33,530 --> 00:02:35,889
tools, you step through the real
97
00:02:35,889 --> 00:02:37,610
difference between W s l one and
98
00:02:37,610 --> 00:02:39,870
w s l two w s l has shipped in
99
00:02:39,870 --> 00:02:41,250
two versions, and knowing the
100
00:02:41,250 --> 00:02:42,449
difference saves you a pile of
101
00:02:42,449 --> 00:02:43,289
confusion.
102
00:02:43,289 --> 00:02:45,090
The first one, w s l one,
103
00:02:45,090 --> 00:02:46,409
translated Linux commands into
104
00:02:46,409 --> 00:02:47,210
something windows could
105
00:02:47,210 --> 00:02:48,009
understand.
106
00:02:48,009 --> 00:02:49,930
That translation worked for
simple tasks.
107
00:02:49,930 --> 00:02:52,370
It was still a translation,
though, so anything complicated
108
00:02:52,370 --> 00:02:53,770
eventually ran into a wall.
109
00:02:53,770 --> 00:02:56,050
That wall is the reason w s l
two exists.
110
00:02:56,050 --> 00:02:59,090
Instead of translating w s l two
runs a real Linux kernel.
111
00:02:59,090 --> 00:03:00,169
The kernel is the core of the
112
00:03:00,169 --> 00:03:01,770
operating system, and it sits
113
00:03:01,770 --> 00:03:03,370
inside a small virtual machine
114
00:03:03,370 --> 00:03:04,610
that windows starts and stops
115
00:03:04,610 --> 00:03:06,009
for you because it's the genuine
116
00:03:06,009 --> 00:03:06,569
kernel.
117
00:03:06,569 --> 00:03:09,530
Linux software behaves the way
its creators intended.
118
00:03:09,530 --> 00:03:11,169
You might hear the words virtual
119
00:03:11,169 --> 00:03:12,370
machine and picture something
120
00:03:12,370 --> 00:03:12,969
heavy.
121
00:03:12,969 --> 00:03:14,629
That instinct is fair because
122
00:03:14,629 --> 00:03:16,129
traditional virtual machines are
123
00:03:16,129 --> 00:03:16,650
heavy.
124
00:03:16,650 --> 00:03:17,650
This one isn't.
125
00:03:17,650 --> 00:03:18,449
It's lightweight.
126
00:03:18,449 --> 00:03:21,289
It boots in seconds, not
minutes, and you never open a
127
00:03:21,289 --> 00:03:23,009
settings panel to keep it alive.
128
00:03:23,009 --> 00:03:24,250
The two versions are more than a
129
00:03:24,250 --> 00:03:25,969
technical footnote, because w,
130
00:03:25,969 --> 00:03:27,250
s, l has a short history worth
131
00:03:27,250 --> 00:03:27,969
knowing.
132
00:03:27,969 --> 00:03:29,409
Microsoft first put Linux tools
133
00:03:29,409 --> 00:03:30,449
on windows back in twenty
134
00:03:30,449 --> 00:03:31,729
sixteen, then announced the
135
00:03:31,729 --> 00:03:33,090
kernel based version in twenty
136
00:03:33,090 --> 00:03:33,530
nineteen.
137
00:03:33,530 --> 00:03:36,090
Later, it moved the whole thing
out of the windows image and
138
00:03:36,090 --> 00:03:37,449
into the Microsoft Store.
139
00:03:37,449 --> 00:03:39,969
That led the team ship fixes on
their own schedule.
140
00:03:39,969 --> 00:03:42,370
The payoff shows up as speed and
compatibility.
141
00:03:42,370 --> 00:03:45,689
Early Wsl2 ran up to twenty
times faster than w s l one.
142
00:03:45,689 --> 00:03:47,330
When unpacking a zip tarball.
143
00:03:47,330 --> 00:03:48,689
It was roughly two to five times
144
00:03:48,689 --> 00:03:50,129
faster on everyday chores like
145
00:03:50,129 --> 00:03:51,530
cloning a project or installing
146
00:03:51,530 --> 00:03:52,289
packages.
147
00:03:52,289 --> 00:03:55,300
Full system call compatibility
means Linux software just runs,
148
00:03:55,300 --> 00:03:57,919
and that includes Docker, the
tool developers use to package
149
00:03:57,919 --> 00:03:59,419
apps into portable boxes.
150
00:03:59,419 --> 00:04:00,740
One quirk is worth flagging if
151
00:04:00,740 --> 00:04:01,539
you already run other
152
00:04:01,539 --> 00:04:03,139
virtualization software.
153
00:04:03,139 --> 00:04:04,979
W s L1 played nicely with VMware
154
00:04:04,979 --> 00:04:06,719
and VirtualBox, and WSL two
155
00:04:06,719 --> 00:04:07,580
historically didn't.
156
00:04:07,580 --> 00:04:09,900
Though recent releases of those
tools have caught up.
157
00:04:09,900 --> 00:04:12,379
Check that detail before you
switch on a laptop you use for
158
00:04:12,379 --> 00:04:14,219
other virtual machines.
159
00:04:14,219 --> 00:04:15,620
WSL two is the default today, so
160
00:04:15,620 --> 00:04:16,860
a fresh install gives you the
161
00:04:16,860 --> 00:04:17,779
newer version.
162
00:04:17,779 --> 00:04:18,259
Exactly.
163
00:04:18,259 --> 00:04:19,819
One case still favors the older
164
00:04:19,819 --> 00:04:21,060
one, and it's worth remembering
165
00:04:21,060 --> 00:04:21,699
for later.
166
00:04:21,699 --> 00:04:25,180
That case is files which have to
live on your windows drive.
167
00:04:25,180 --> 00:04:26,860
Installing it in one command.
168
00:04:26,860 --> 00:04:28,019
The install really is one
169
00:04:28,019 --> 00:04:29,579
command, and the details matter
170
00:04:29,579 --> 00:04:29,860
here.
171
00:04:29,860 --> 00:04:31,100
First, check that your running
172
00:04:31,100 --> 00:04:32,579
windows ten version two thousand
173
00:04:32,579 --> 00:04:33,980
and four or newer, or windows
174
00:04:33,980 --> 00:04:34,579
eleven.
175
00:04:34,579 --> 00:04:35,779
Then open PowerShell as an
176
00:04:35,779 --> 00:04:38,019
administrator, type w, s, l
177
00:04:38,019 --> 00:04:39,379
install and restart your
178
00:04:39,379 --> 00:04:40,019
machine.
179
00:04:40,019 --> 00:04:43,000
That single line switches on the
two windows features W, s, L
180
00:04:43,000 --> 00:04:46,060
needs, and it adds ubuntu as
your first Linux distribution.
181
00:04:46,060 --> 00:04:48,300
The two features it switches on
are called Virtual Machine
182
00:04:48,300 --> 00:04:50,259
Platform and Windows Subsystem.
183
00:04:50,259 --> 00:04:53,139
For Linux, you can turn those on
by hand if the one command route
184
00:04:53,139 --> 00:04:54,500
ever fails on you.
185
00:04:54,500 --> 00:04:56,399
W s l runs on regular Intel and
186
00:04:56,399 --> 00:04:58,100
AMD chips and on the arm chips
187
00:04:58,100 --> 00:04:59,579
inside some thin laptops, so
188
00:04:59,579 --> 00:05:00,740
your hardware is rarely the
189
00:05:00,740 --> 00:05:01,339
blocker.
190
00:05:01,339 --> 00:05:03,699
Ubuntu is just the starting
point, not the only choice.
191
00:05:03,699 --> 00:05:06,620
If you would rather begin with
Debian Kali or something else,
192
00:05:06,620 --> 00:05:09,300
you add that distribution name
to the end of the same command.
193
00:05:09,300 --> 00:05:11,899
You can also browse a list to
see everything available.
194
00:05:11,899 --> 00:05:12,819
The first launch of your new
195
00:05:12,819 --> 00:05:14,259
Linux setup takes a moment
196
00:05:14,259 --> 00:05:15,699
because it unpacks files onto
197
00:05:15,699 --> 00:05:16,620
your disk.
198
00:05:16,620 --> 00:05:18,899
Every launch after that happens
in less than a second.
199
00:05:18,899 --> 00:05:20,699
That speed is what makes it feel
200
00:05:20,699 --> 00:05:21,939
less like a separate machine and
201
00:05:21,939 --> 00:05:22,899
more like a tab in your
202
00:05:22,899 --> 00:05:23,779
terminal.
203
00:05:23,779 --> 00:05:25,220
Once everything is set up, you
204
00:05:25,220 --> 00:05:26,560
can see what you have by asking
205
00:05:26,560 --> 00:05:27,579
w, s, l to list your
206
00:05:27,579 --> 00:05:28,860
distributions with their version
207
00:05:28,860 --> 00:05:29,420
numbers.
208
00:05:29,420 --> 00:05:30,860
You can also move a distribution
209
00:05:30,860 --> 00:05:32,160
between the two versions at any
210
00:05:32,160 --> 00:05:33,620
time, which is handy when you
211
00:05:33,620 --> 00:05:34,579
want to test a difference
212
00:05:34,579 --> 00:05:35,339
yourself.
213
00:05:35,339 --> 00:05:36,740
Updates now work like an app
214
00:05:36,740 --> 00:05:37,939
rather than a piece of windows
215
00:05:37,939 --> 00:05:38,660
itself.
216
00:05:38,660 --> 00:05:41,420
New features arrive through the
Microsoft Store without waiting
217
00:05:41,420 --> 00:05:42,860
on a full Windows update.
218
00:05:42,860 --> 00:05:45,220
If your company blocks the
store, there's a web download
219
00:05:45,220 --> 00:05:46,339
option that still works.
220
00:05:46,339 --> 00:05:48,300
Work laptops come with an honest
catch.
221
00:05:48,300 --> 00:05:51,430
Some organizations block w, cell
through a group policy.
222
00:05:51,430 --> 00:05:53,829
When that happens, the install
fails with a long error code
223
00:05:53,829 --> 00:05:55,269
instead of a friendly message.
224
00:05:55,269 --> 00:05:56,350
That block is a company
225
00:05:56,350 --> 00:05:57,990
decision, not a broken laptop,
226
00:05:57,990 --> 00:05:59,790
and only your IT team can lift
227
00:05:59,790 --> 00:06:00,470
it.
228
00:06:00,470 --> 00:06:02,470
How Linux and Windows share your
files.
229
00:06:02,470 --> 00:06:04,990
This is the part that causes the
most confusion and frustration,
230
00:06:04,990 --> 00:06:07,470
because it comes down to where
your files actually live.
231
00:06:07,470 --> 00:06:10,430
Windows and Linux keep files in
two different places.
232
00:06:10,430 --> 00:06:11,589
Cell lets each site see the
233
00:06:11,589 --> 00:06:12,829
other, but the two sides aren't
234
00:06:12,829 --> 00:06:13,910
equally fast.
235
00:06:13,910 --> 00:06:15,069
Your windows drives show up
236
00:06:15,069 --> 00:06:16,470
inside Linux under a folder
237
00:06:16,470 --> 00:06:17,430
called mnt.
238
00:06:17,430 --> 00:06:21,709
Your C drive, for example,
appears as mnt C, and from there
239
00:06:21,709 --> 00:06:24,189
you can read and write any
windows file you like.
240
00:06:24,189 --> 00:06:26,870
The other direction works too,
because windows can browse into
241
00:06:26,870 --> 00:06:29,310
the Linux file system through a
special address, you can paste
242
00:06:29,310 --> 00:06:30,709
into File Explorer.
243
00:06:30,709 --> 00:06:32,829
Linux files follow a different
set of rules.
244
00:06:32,829 --> 00:06:36,110
Anything under the Linux root is
case sensitive, so two files
245
00:06:36,110 --> 00:06:38,509
with the same letters, but
different capital letters count
246
00:06:38,509 --> 00:06:39,670
as different files.
247
00:06:39,670 --> 00:06:40,850
Symbolic links behave the way
248
00:06:40,850 --> 00:06:42,430
Linux expects, and commands like
249
00:06:42,430 --> 00:06:43,670
chmod and chown actually mean
250
00:06:43,670 --> 00:06:44,350
something.
251
00:06:44,350 --> 00:06:46,790
Windows files don't work that
way, and that difference is
252
00:06:46,790 --> 00:06:47,990
where the slowdowns hide.
253
00:06:47,990 --> 00:06:48,230
downside.
254
00:06:48,230 --> 00:06:51,110
Microsoft is direct about this
in its own documentation.
255
00:06:51,110 --> 00:06:52,230
The guidance is to store your
256
00:06:52,230 --> 00:06:53,389
files in the same operating
257
00:06:53,389 --> 00:06:54,709
system as the tools you use on
258
00:06:54,709 --> 00:06:55,110
them.
259
00:06:55,110 --> 00:06:58,189
The same page also warns against
crossing the boundary unless you
260
00:06:58,189 --> 00:06:59,230
have a specific reason.
261
00:06:59,230 --> 00:07:01,269
In plain terms, when the tools
are Linux tools, keep the
262
00:07:01,269 --> 00:07:02,230
project inside Linux.
263
00:07:02,230 --> 00:07:03,470
If you're working in PowerShell
264
00:07:03,470 --> 00:07:04,949
or a windows app, keep it on the
265
00:07:04,949 --> 00:07:05,870
windows side.
266
00:07:05,870 --> 00:07:08,509
The reason matters because it
explains a complaint you will
267
00:07:08,509 --> 00:07:09,629
hear from everyone.
268
00:07:09,629 --> 00:07:12,430
Reading and writing across that
boundary is the slow path.
269
00:07:12,430 --> 00:07:13,829
It hurts most when a project is
270
00:07:13,829 --> 00:07:15,089
built from thousands of tiny
271
00:07:15,089 --> 00:07:16,910
files because each one pays the
272
00:07:16,910 --> 00:07:17,709
crossing cost.
273
00:07:17,709 --> 00:07:20,389
A single document crosses just
fine, but a folder full of
274
00:07:20,389 --> 00:07:22,069
downloaded packages will crawl.
275
00:07:22,069 --> 00:07:23,790
The common case has a clean fix.
276
00:07:23,790 --> 00:07:25,470
The remote w s l extension for
277
00:07:25,470 --> 00:07:26,829
Visual Studio code lets you keep
278
00:07:26,829 --> 00:07:28,269
your project inside the Linux
279
00:07:28,269 --> 00:07:28,910
file system.
280
00:07:28,910 --> 00:07:31,589
You still edit those files with
a windows editor, so you get
281
00:07:31,589 --> 00:07:33,870
Linux speed without giving up
your usual tools.
282
00:07:33,870 --> 00:07:37,509
You can mix commands freely as
well run notepad from Linux, or
283
00:07:37,509 --> 00:07:40,290
run a Linux command straight
from PowerShell and both feel
284
00:07:40,290 --> 00:07:43,930
natural after a day or two, a
shared variable called W, s, l,
285
00:07:43,930 --> 00:07:47,040
v passes environment settings
across the divide, which saves
286
00:07:47,040 --> 00:07:49,680
you from retyping the same paths
on both sides.
287
00:07:49,680 --> 00:07:51,519
Two habits save beginners a lot
of grief.
288
00:07:51,519 --> 00:07:52,959
Keep Linux projects inside Linux
289
00:07:52,959 --> 00:07:53,959
and Windows projects on the
290
00:07:53,959 --> 00:07:55,199
windows side, which we just
291
00:07:55,199 --> 00:07:55,839
covered.
292
00:07:55,839 --> 00:07:58,360
Then export your Linux setup now
and again, because it lives
293
00:07:58,360 --> 00:08:01,560
inside a single large file that
you can back up, move, or
294
00:08:01,560 --> 00:08:03,680
restore on another machine.
295
00:08:03,680 --> 00:08:06,439
What you can actually do with it
once the files behave.
296
00:08:06,439 --> 00:08:08,759
The interesting part starts
because this is a full Linux
297
00:08:08,759 --> 00:08:11,680
environment, it runs the same
tools a Linux server runs, and
298
00:08:11,680 --> 00:08:12,839
that list is long.
299
00:08:12,839 --> 00:08:16,180
You get the classic command line
utilities like grep, s, awk,
300
00:08:16,180 --> 00:08:17,480
vim, and tmux.
301
00:08:17,480 --> 00:08:20,279
You get the languages and stacks
that assume Linux, including
302
00:08:20,279 --> 00:08:25,240
node, Python, Ruby, go rust, and
the C family services work too.
303
00:08:25,240 --> 00:08:29,279
You can run MySQL, PostgreSQL,
or MongoDB inside W, s, L and
304
00:08:29,279 --> 00:08:30,439
start a small web server.
305
00:08:30,439 --> 00:08:32,720
Then you reach it from your
windows browser by typing
306
00:08:32,720 --> 00:08:35,000
localhost, which means a
practice project doesn't need
307
00:08:35,000 --> 00:08:36,039
its own machine.
308
00:08:36,039 --> 00:08:38,240
Graphical Linux apps are
supported as well.
309
00:08:38,240 --> 00:08:39,799
They open as ordinary windows on
310
00:08:39,799 --> 00:08:41,440
your desktop, so a Linux text
311
00:08:41,440 --> 00:08:43,159
editor or a data tool sits in
312
00:08:43,159 --> 00:08:44,759
the taskbar beside your usual
313
00:08:44,759 --> 00:08:45,399
apps.
314
00:08:45,399 --> 00:08:47,200
If your work touches machine
learning.
315
00:08:47,200 --> 00:08:50,639
W s l can hand your graphics
card to Linux workloads.
316
00:08:50,639 --> 00:08:51,960
That is how people train models
317
00:08:51,960 --> 00:08:53,360
on a windows laptop without
318
00:08:53,360 --> 00:08:53,759
giving up.
319
00:08:53,759 --> 00:08:56,659
Windows containers deserve their
own moment because this is where
320
00:08:56,659 --> 00:08:58,080
WSL became the standard.
321
00:08:58,080 --> 00:09:01,159
Docker on windows runs on top of
WSL two, and that's only
322
00:09:01,159 --> 00:09:04,720
possible because WSL two has a
genuine Linux kernel underneath.
323
00:09:04,720 --> 00:09:06,940
If you have ever installed
Docker desktop on windows, you
324
00:09:06,940 --> 00:09:09,279
have already been using WSL
without knowing it.
325
00:09:09,279 --> 00:09:12,159
To make this concrete, try a
small project this week, pick a
326
00:09:12,159 --> 00:09:15,879
beginner tutorial for Python or
Node and follow it inside WSL.
327
00:09:15,879 --> 00:09:18,840
Skipping the windows workarounds
install the packages it asks
328
00:09:18,840 --> 00:09:19,639
for, then run it.
329
00:09:19,639 --> 00:09:22,159
You will type the exact same
commands the tutorial author
330
00:09:22,159 --> 00:09:23,879
used, which is the entire point.
331
00:09:23,879 --> 00:09:25,799
Editors and databases round this
out nicely.
332
00:09:25,799 --> 00:09:28,600
Visual Studio Code can open your
Linux files directly.
333
00:09:28,600 --> 00:09:32,200
A database for a side project
can also live inside WSL instead
334
00:09:32,200 --> 00:09:34,360
of on a separate server you
would otherwise rent.
335
00:09:34,360 --> 00:09:35,720
Microsoft's own example of this
336
00:09:35,720 --> 00:09:36,879
pattern starts with a developer
337
00:09:36,879 --> 00:09:38,120
who builds and tests a pipeline
338
00:09:38,120 --> 00:09:38,840
locally.
339
00:09:38,840 --> 00:09:40,120
That pipeline gets packaged into
340
00:09:40,120 --> 00:09:41,559
a container and pushed to the
341
00:09:41,559 --> 00:09:43,210
cloud where it runs on a Linux
342
00:09:43,210 --> 00:09:44,570
virtual machine that is the
343
00:09:44,570 --> 00:09:45,769
shape of modern software work,
344
00:09:45,769 --> 00:09:47,490
and w s L is the local half of
345
00:09:47,490 --> 00:09:47,929
it.
346
00:09:47,929 --> 00:09:49,049
The catch is that all of this
347
00:09:49,049 --> 00:09:50,450
comes with a few real limits,
348
00:09:50,450 --> 00:09:52,809
and those are next where it
349
00:09:52,809 --> 00:09:53,970
breaks and what to watch out
350
00:09:53,970 --> 00:09:54,490
for.
351
00:09:54,490 --> 00:09:55,490
Now for the honest part.
352
00:09:55,490 --> 00:09:57,850
Because a tool you don't
understand will surprise you in
353
00:09:57,850 --> 00:09:58,570
a bad way.
354
00:09:58,570 --> 00:10:02,009
W s l is genuinely good and it
also has specific limits.
355
00:10:02,009 --> 00:10:04,529
Knowing them ahead of time is
what separates a smooth setup
356
00:10:04,529 --> 00:10:06,210
from a frustrating afternoon.
357
00:10:06,210 --> 00:10:08,090
Memory is the first surprise by
default.
358
00:10:08,090 --> 00:10:09,690
W s l two is allowed to use up
359
00:10:09,690 --> 00:10:11,409
to half of your windows memory,
360
00:10:11,409 --> 00:10:12,690
and it can hold on to cached
361
00:10:12,690 --> 00:10:14,330
memory until the whole instance
362
00:10:14,330 --> 00:10:15,850
shuts down.
363
00:10:15,850 --> 00:10:18,450
On a long session with a big
project, task manager can look
364
00:10:18,450 --> 00:10:19,929
like something ate your ram.
365
00:10:19,929 --> 00:10:21,330
The fix is a small settings file
366
00:10:21,330 --> 00:10:22,370
where you can keep memory and
367
00:10:22,370 --> 00:10:23,129
processes.
368
00:10:23,129 --> 00:10:24,549
An automatic memory reclaim
369
00:10:24,549 --> 00:10:26,009
option exists for exactly this
370
00:10:26,009 --> 00:10:26,649
problem.
371
00:10:26,649 --> 00:10:29,730
The defaults are worth putting
numbers on a laptop with sixteen
372
00:10:29,730 --> 00:10:30,690
gigabytes of memory.
373
00:10:30,690 --> 00:10:33,450
Hands eight of those gigabytes
to Linux by default.
374
00:10:33,450 --> 00:10:35,210
It also adds a swap file sized
375
00:10:35,210 --> 00:10:36,490
at a quarter of your memory,
376
00:10:36,490 --> 00:10:37,929
which lives on disk and acts as
377
00:10:37,929 --> 00:10:38,529
overflow.
378
00:10:38,529 --> 00:10:40,809
You can lower those numbers,
raise them, or turn swap off
379
00:10:40,809 --> 00:10:42,009
entirely in the same settings.
380
00:10:42,009 --> 00:10:45,570
File changes take effect after
the Linux side fully restarts,
381
00:10:45,570 --> 00:10:47,090
which takes a few seconds.
382
00:10:47,090 --> 00:10:50,009
The second surprise is that the
machine underneath cell starts
383
00:10:50,009 --> 00:10:51,210
and stops on its own.
384
00:10:51,210 --> 00:10:54,330
If nothing is using it, it shuts
down to save resources.
385
00:10:54,330 --> 00:10:55,090
That is confusing.
386
00:10:55,090 --> 00:10:57,049
When a local server suddenly
stops answering.
387
00:10:57,049 --> 00:10:58,370
Closing the last terminal window
388
00:10:58,370 --> 00:10:59,809
triggers the shutdown, so keep
389
00:10:59,809 --> 00:11:01,070
one open if you want things to
390
00:11:01,070 --> 00:11:01,730
stay up.
391
00:11:01,730 --> 00:11:03,250
Disk space has a quirk of its
own.
392
00:11:03,250 --> 00:11:06,850
The Linux side lives inside one
large storage file that grows as
393
00:11:06,850 --> 00:11:07,809
you add data.
394
00:11:07,809 --> 00:11:10,370
An experimental setting lets
that file shrink again when you
395
00:11:10,370 --> 00:11:13,250
delete things instead of holding
on to the space forever.
396
00:11:13,250 --> 00:11:15,049
Which brings us to the biggest
limit of all.
397
00:11:15,049 --> 00:11:17,049
And Microsoft says it plainly w
398
00:11:17,049 --> 00:11:18,289
s l is built for the build and
399
00:11:18,289 --> 00:11:19,929
test cycle on your own machine,
400
00:11:19,929 --> 00:11:21,049
and it isn't a production
401
00:11:21,049 --> 00:11:21,649
server.
402
00:11:21,649 --> 00:11:23,570
There is a way to use its
container technology for
403
00:11:23,570 --> 00:11:26,490
production work, but the safe
rule for a beginner is simple
404
00:11:26,490 --> 00:11:28,129
use w s l to build and learn.
405
00:11:28,129 --> 00:11:29,850
Use a real Linux machine or a
406
00:11:29,850 --> 00:11:31,250
cloud service to serve real
407
00:11:31,250 --> 00:11:31,970
users.
408
00:11:31,970 --> 00:11:33,409
Networking has its own quirks.
409
00:11:33,409 --> 00:11:35,490
By default, w SL uses a setup
410
00:11:35,490 --> 00:11:36,889
called Nat, which gives your
411
00:11:36,889 --> 00:11:38,330
Linux site its own address,
412
00:11:38,330 --> 00:11:39,500
reaching it from another device
413
00:11:39,500 --> 00:11:40,779
on your network used to take
414
00:11:40,779 --> 00:11:42,679
manual work on windows eleven,
415
00:11:42,679 --> 00:11:43,980
and newer mirrored mode fixes
416
00:11:43,980 --> 00:11:44,500
this.
417
00:11:44,500 --> 00:11:46,179
It also improves how WSL behaves
418
00:11:46,179 --> 00:11:47,779
on a VPN, which matters if you
419
00:11:47,779 --> 00:11:48,860
work from home on a company
420
00:11:48,860 --> 00:11:49,379
network.
421
00:11:49,379 --> 00:11:50,899
A few smaller things are worth
knowing.
422
00:11:50,899 --> 00:11:52,259
Windows folders get added to the
423
00:11:52,259 --> 00:11:53,899
Linux path automatically, and
424
00:11:53,899 --> 00:11:55,019
Linux can launch windows
425
00:11:55,019 --> 00:11:57,340
programs, so WSL isn't a byte
426
00:11:57,340 --> 00:11:58,500
for byte copy of a Linux
427
00:11:58,500 --> 00:11:59,220
machine.
428
00:11:59,220 --> 00:12:00,620
Serial ports aren't supported,
429
00:12:00,620 --> 00:12:02,179
and USB devices need a separate
430
00:12:02,179 --> 00:12:03,100
helper project.
431
00:12:03,100 --> 00:12:04,320
Some third party security
432
00:12:04,320 --> 00:12:05,720
suites, including Kaspersky,
433
00:12:05,720 --> 00:12:07,379
AVG, Avast, Symantec, and
434
00:12:07,379 --> 00:12:08,919
F-Secure, have been reported to
435
00:12:08,919 --> 00:12:10,700
block internet access inside W,
436
00:12:10,700 --> 00:12:12,620
s l. If your Linux side suddenly
437
00:12:12,620 --> 00:12:13,899
has no internet, check your
438
00:12:13,899 --> 00:12:14,899
firewall first.
439
00:12:14,899 --> 00:12:16,139
None of that should scare you
off.
440
00:12:16,139 --> 00:12:18,659
Every limit here has a known
cause or a workaround.
441
00:12:18,659 --> 00:12:19,860
The point is to know the shape
442
00:12:19,860 --> 00:12:21,379
of the tool before you lean on
443
00:12:21,379 --> 00:12:22,299
it.
444
00:12:22,299 --> 00:12:23,940
How WSL fits into Azure and
445
00:12:23,940 --> 00:12:25,059
Microsoft three hundred sixty
446
00:12:25,059 --> 00:12:25,500
five.
447
00:12:25,500 --> 00:12:25,980
The question.
448
00:12:25,980 --> 00:12:28,179
A lot of people in the Microsoft
world actually care about
449
00:12:28,179 --> 00:12:29,740
deserves a straight answer.
450
00:12:29,740 --> 00:12:31,700
W s l ships as part of windows
itself.
451
00:12:31,700 --> 00:12:33,700
Nothing here is part of a
Microsoft three hundred sixty
452
00:12:33,700 --> 00:12:36,139
five plan or an Azure
subscription, and it doesn't add
453
00:12:36,139 --> 00:12:38,559
a line to your bill if you're on
windows ten or windows eleven,
454
00:12:38,559 --> 00:12:39,779
the feature is already there.
455
00:12:39,779 --> 00:12:41,100
So where does the cloud come in?
456
00:12:41,100 --> 00:12:43,379
The connection is a workflow,
not a license.
457
00:12:43,379 --> 00:12:46,460
Linux runs a huge share of the
servers in the cloud, and Azure
458
00:12:46,460 --> 00:12:47,620
is no exception.
459
00:12:47,620 --> 00:12:48,740
The same commands you learn
460
00:12:48,740 --> 00:12:49,899
locally are the commands that
461
00:12:49,899 --> 00:12:51,659
deploy and manage real cloud
462
00:12:51,659 --> 00:12:52,460
systems.
463
00:12:52,460 --> 00:12:53,860
The practical version looks like
this.
464
00:12:53,860 --> 00:12:57,419
The Azure command line tool
called the Azure CLI, installs
465
00:12:57,419 --> 00:13:00,419
and runs inside W s L exactly as
it does on Linux.
466
00:13:00,419 --> 00:13:01,580
Microsoft documents how to
467
00:13:01,580 --> 00:13:02,980
install it on Linux, and it even
468
00:13:02,980 --> 00:13:04,340
keeps a troubleshooting page for
469
00:13:04,340 --> 00:13:06,259
w s l. Specifically, after it is
470
00:13:06,259 --> 00:13:07,519
installed, you can sign into
471
00:13:07,519 --> 00:13:09,059
Azure and manage resources from
472
00:13:09,059 --> 00:13:10,220
the same terminal where you were
473
00:13:10,220 --> 00:13:11,419
running Linux commands a minute
474
00:13:11,419 --> 00:13:12,100
earlier.
475
00:13:12,100 --> 00:13:14,700
The tool also updates itself in
one step, so you're not stuck on
476
00:13:14,700 --> 00:13:15,659
an old version.
477
00:13:15,659 --> 00:13:17,059
Microsoft has also brought its
478
00:13:17,059 --> 00:13:18,580
own Linux distribution into the
479
00:13:18,580 --> 00:13:19,179
picture.
480
00:13:19,179 --> 00:13:22,340
Azure Linux is the distribution
Microsoft builds for Azure.
481
00:13:22,340 --> 00:13:25,820
You can now run it on WSL as a
local environment, and it uses
482
00:13:25,820 --> 00:13:28,100
the same tools and the same
behavior it has in the cloud.
483
00:13:28,100 --> 00:13:29,340
No virtual machine is involved
484
00:13:29,340 --> 00:13:30,700
and no Azure subscription is
485
00:13:30,700 --> 00:13:31,659
required.
486
00:13:31,659 --> 00:13:33,019
That closes a gap which used to
487
00:13:33,019 --> 00:13:34,460
cause real pain where something
488
00:13:34,460 --> 00:13:35,929
worked on your laptop and broke
489
00:13:35,929 --> 00:13:36,830
the moment it reached the
490
00:13:36,830 --> 00:13:37,190
server.
491
00:13:37,190 --> 00:13:39,110
That consistency matters most
for teams.
492
00:13:39,110 --> 00:13:40,470
When the environment a developer
493
00:13:40,470 --> 00:13:41,509
tests against matches the
494
00:13:41,509 --> 00:13:42,710
environment the workload runs
495
00:13:42,710 --> 00:13:43,070
in.
496
00:13:43,070 --> 00:13:44,629
Fewer surprises survive the trip
497
00:13:44,629 --> 00:13:46,090
to production for a slow
498
00:13:46,090 --> 00:13:46,549
learner.
499
00:13:46,549 --> 00:13:49,950
The same idea is a cheap way to
practice with the exact tools a
500
00:13:49,950 --> 00:13:52,429
cloud job would expect you to
know for the Microsoft three
501
00:13:52,429 --> 00:13:53,309
hundred sixty five crowd.
502
00:13:53,309 --> 00:13:55,350
Specifically, I want to set
expectations.
503
00:13:55,350 --> 00:13:57,669
W s l is the workshop next door,
the place where scripts,
504
00:13:57,669 --> 00:14:00,309
pipelines, and cloud tools get
built and tested before they
505
00:14:00,309 --> 00:14:01,149
touch anything real.
506
00:14:01,149 --> 00:14:03,990
If you're building a career
around the Microsoft cloud, that
507
00:14:03,990 --> 00:14:08,029
workshop is worth learning your
way around the short version and
508
00:14:08,029 --> 00:14:09,110
a question for you.
509
00:14:09,110 --> 00:14:09,750
That's the whole thing.
510
00:14:09,750 --> 00:14:12,029
In a few lines, w s l puts a
511
00:14:12,029 --> 00:14:13,110
working Linux environment on
512
00:14:13,110 --> 00:14:14,309
your laptop and it's free and
513
00:14:14,309 --> 00:14:15,110
already there.
514
00:14:15,110 --> 00:14:17,870
It installs with a single
command, and its main quirk is
515
00:14:17,870 --> 00:14:20,429
that files crossing between the
two systems move slowly.
516
00:14:20,429 --> 00:14:21,750
Here's my question for you.
517
00:14:21,750 --> 00:14:23,750
Is there a tutorial you have
been skipping because it looked
518
00:14:23,750 --> 00:14:25,029
like it was written for Linux?
519
00:14:25,029 --> 00:14:25,750
And would you try it?
520
00:14:25,750 --> 00:14:27,629
Now that you know w s l is
sitting there?
521
00:14:27,629 --> 00:14:29,029
If this made the topic feel less
522
00:14:29,029 --> 00:14:31,250
intimidating, subscribe to M365
523
00:14:31,250 --> 00:14:32,669
FM to master the tools and the
524
00:14:32,669 --> 00:14:33,990
mindset shaping the future of
525
00:14:33,990 --> 00:14:34,590
work.
00:00:00,040 --> 00:00:03,520
Welcome to the M365 FM podcast
where we explore the people,
2
00:00:03,520 --> 00:00:06,599
ideas and technologies shaping
the future of work.
3
00:00:06,599 --> 00:00:09,279
Why Linux tools keep showing up
in windows tutorials.
4
00:00:09,279 --> 00:00:10,759
Half the tutorials online assume
5
00:00:10,759 --> 00:00:11,960
you're not on windows, and that
6
00:00:11,960 --> 00:00:13,000
used to mean you had the wrong
7
00:00:13,000 --> 00:00:13,679
machine.
8
00:00:13,679 --> 00:00:16,440
Windows now ships a free feature
that runs real Linux right
9
00:00:16,440 --> 00:00:18,679
beside it, built into windows
ten and eleven.
10
00:00:18,679 --> 00:00:21,000
You might think it's a virtual
machine you have to babysit, but
11
00:00:21,000 --> 00:00:22,480
it starts in under a second.
12
00:00:22,480 --> 00:00:23,719
By the end, you'll know how it
13
00:00:23,719 --> 00:00:25,280
really works, where it slows you
14
00:00:25,280 --> 00:00:26,579
down, and how it fits into
15
00:00:26,579 --> 00:00:27,399
Azure.
16
00:00:27,399 --> 00:00:31,000
Welcome to the M365 FM podcast,
where we explore the people,
17
00:00:31,000 --> 00:00:33,479
ideas, and technologies shaping
the future of work.
18
00:00:33,479 --> 00:00:35,240
You have probably hit this wall
already.
19
00:00:35,240 --> 00:00:37,700
A tutorial you actually want to
follow reads fine, right up
20
00:00:37,700 --> 00:00:38,799
until step two.
21
00:00:38,799 --> 00:00:39,899
That is where it asks you to
22
00:00:39,899 --> 00:00:41,159
open a terminal and type a
23
00:00:41,159 --> 00:00:42,420
command into something called
24
00:00:42,420 --> 00:00:43,079
bash.
25
00:00:43,079 --> 00:00:44,780
Your laptop runs windows, so you
26
00:00:44,780 --> 00:00:46,439
close the tab and go hunting for
27
00:00:46,439 --> 00:00:47,359
a windows version of that
28
00:00:47,359 --> 00:00:48,399
tutorial, which was never
29
00:00:48,399 --> 00:00:49,000
written.
30
00:00:49,000 --> 00:00:50,320
That gap is the problem.
31
00:00:50,320 --> 00:00:51,399
WSL was built to close.
32
00:00:51,399 --> 00:00:53,840
The feature has been sitting on
your machine since twenty
33
00:00:53,840 --> 00:00:57,719
sixteen, and it goes by the name
Windows Subsystem for Linux.
34
00:00:57,719 --> 00:01:00,799
The name is a mouthful, so
everyone just calls it w s l.
35
00:01:00,799 --> 00:01:03,500
This episode is the plane tour
and you won't need an IT
36
00:01:03,500 --> 00:01:04,959
background to follow along.
37
00:01:04,959 --> 00:01:06,640
What w s l actually is.
38
00:01:06,640 --> 00:01:08,599
The name sounds heavier than the
thing itself.
39
00:01:08,599 --> 00:01:11,120
W s l is a windows feature that
runs a Linux environment right
40
00:01:11,120 --> 00:01:12,319
on your PC.
41
00:01:12,319 --> 00:01:13,519
It does that without a separate
42
00:01:13,519 --> 00:01:14,879
virtual machine, and it does it
43
00:01:14,879 --> 00:01:16,099
without wiping your drive to
44
00:01:16,099 --> 00:01:17,280
install a second operating
45
00:01:17,280 --> 00:01:17,879
system.
46
00:01:17,879 --> 00:01:18,920
The first thing you get is a
47
00:01:18,920 --> 00:01:20,159
real command line shell, which
48
00:01:20,159 --> 00:01:21,640
is a text window where you type
49
00:01:21,640 --> 00:01:22,879
instructions instead of clicking
50
00:01:22,879 --> 00:01:23,480
buttons.
51
00:01:23,480 --> 00:01:24,519
The second thing is genuine
52
00:01:24,519 --> 00:01:25,959
Linux software that installs and
53
00:01:25,959 --> 00:01:27,200
runs the way it would on a Linux
54
00:01:27,200 --> 00:01:27,519
machine.
55
00:01:27,519 --> 00:01:30,439
You also pick a distribution,
which is just a flavor of Linux,
56
00:01:30,439 --> 00:01:32,239
like ubuntu, Debian, or Kali.
57
00:01:32,239 --> 00:01:33,480
Each distribution gets its own
58
00:01:33,480 --> 00:01:35,239
separate file system for Linux
59
00:01:35,239 --> 00:01:36,319
files live in one place, and
60
00:01:36,319 --> 00:01:37,400
your windows files live in
61
00:01:37,400 --> 00:01:39,120
another, and the two stay apart
62
00:01:39,120 --> 00:01:40,359
unless you deliberately connect
63
00:01:40,359 --> 00:01:40,920
them.
64
00:01:40,920 --> 00:01:42,439
Ubuntu is the default, and you
65
00:01:42,439 --> 00:01:43,439
can install more than one
66
00:01:43,439 --> 00:01:44,500
distribution if you want to
67
00:01:44,500 --> 00:01:45,480
compare them.
68
00:01:45,480 --> 00:01:48,599
Debian and Kali sit right there
in the list ready to add.
69
00:01:48,599 --> 00:01:49,879
Updates come from the Microsoft
70
00:01:49,879 --> 00:01:51,200
Store, just like a normal app on
71
00:01:51,200 --> 00:01:52,079
your machine.
72
00:01:52,079 --> 00:01:54,560
One detail surprises people once
they look it up.
73
00:01:54,560 --> 00:01:57,969
The Linux kernel that Wsl2 runs
is built by Microsoft, tuned for
74
00:01:57,969 --> 00:02:00,750
windows and serviced through
regular windows updates in
75
00:02:00,750 --> 00:02:01,650
twenty twenty five.
76
00:02:01,650 --> 00:02:03,189
Microsoft also published the
77
00:02:03,189 --> 00:02:04,930
source code on GitHub, so anyone
78
00:02:04,930 --> 00:02:06,409
can read how it works or send in
79
00:02:06,409 --> 00:02:06,890
a fix.
80
00:02:06,890 --> 00:02:09,889
You don't need any of that to
use w s l, but it explains why
81
00:02:09,889 --> 00:02:12,530
the tool keeps getting better
without you lifting a finger.
82
00:02:12,530 --> 00:02:13,689
If the built in list isn't
83
00:02:13,689 --> 00:02:14,849
enough, you can import a
84
00:02:14,849 --> 00:02:15,930
distribution that isn't in the
85
00:02:15,930 --> 00:02:17,289
store or build your own from
86
00:02:17,289 --> 00:02:18,090
scratch.
87
00:02:18,090 --> 00:02:19,210
That matters when a project
88
00:02:19,210 --> 00:02:21,090
needs one specific setup that
89
00:02:21,090 --> 00:02:22,590
nobody publishes for you, it
90
00:02:22,590 --> 00:02:23,689
costs nothing.
91
00:02:23,689 --> 00:02:26,849
W SL comes with windows ten and
windows eleven, and it even runs
92
00:02:26,849 --> 00:02:29,009
on the home edition that ships
on cheap laptops.
93
00:02:29,009 --> 00:02:30,849
Picture a door, not a second
computer.
94
00:02:30,849 --> 00:02:32,009
You stay in windows the whole
95
00:02:32,009 --> 00:02:33,530
time, and when you need Linux
96
00:02:33,530 --> 00:02:35,889
tools, you step through the real
97
00:02:35,889 --> 00:02:37,610
difference between W s l one and
98
00:02:37,610 --> 00:02:39,870
w s l two w s l has shipped in
99
00:02:39,870 --> 00:02:41,250
two versions, and knowing the
100
00:02:41,250 --> 00:02:42,449
difference saves you a pile of
101
00:02:42,449 --> 00:02:43,289
confusion.
102
00:02:43,289 --> 00:02:45,090
The first one, w s l one,
103
00:02:45,090 --> 00:02:46,409
translated Linux commands into
104
00:02:46,409 --> 00:02:47,210
something windows could
105
00:02:47,210 --> 00:02:48,009
understand.
106
00:02:48,009 --> 00:02:49,930
That translation worked for
simple tasks.
107
00:02:49,930 --> 00:02:52,370
It was still a translation,
though, so anything complicated
108
00:02:52,370 --> 00:02:53,770
eventually ran into a wall.
109
00:02:53,770 --> 00:02:56,050
That wall is the reason w s l
two exists.
110
00:02:56,050 --> 00:02:59,090
Instead of translating w s l two
runs a real Linux kernel.
111
00:02:59,090 --> 00:03:00,169
The kernel is the core of the
112
00:03:00,169 --> 00:03:01,770
operating system, and it sits
113
00:03:01,770 --> 00:03:03,370
inside a small virtual machine
114
00:03:03,370 --> 00:03:04,610
that windows starts and stops
115
00:03:04,610 --> 00:03:06,009
for you because it's the genuine
116
00:03:06,009 --> 00:03:06,569
kernel.
117
00:03:06,569 --> 00:03:09,530
Linux software behaves the way
its creators intended.
118
00:03:09,530 --> 00:03:11,169
You might hear the words virtual
119
00:03:11,169 --> 00:03:12,370
machine and picture something
120
00:03:12,370 --> 00:03:12,969
heavy.
121
00:03:12,969 --> 00:03:14,629
That instinct is fair because
122
00:03:14,629 --> 00:03:16,129
traditional virtual machines are
123
00:03:16,129 --> 00:03:16,650
heavy.
124
00:03:16,650 --> 00:03:17,650
This one isn't.
125
00:03:17,650 --> 00:03:18,449
It's lightweight.
126
00:03:18,449 --> 00:03:21,289
It boots in seconds, not
minutes, and you never open a
127
00:03:21,289 --> 00:03:23,009
settings panel to keep it alive.
128
00:03:23,009 --> 00:03:24,250
The two versions are more than a
129
00:03:24,250 --> 00:03:25,969
technical footnote, because w,
130
00:03:25,969 --> 00:03:27,250
s, l has a short history worth
131
00:03:27,250 --> 00:03:27,969
knowing.
132
00:03:27,969 --> 00:03:29,409
Microsoft first put Linux tools
133
00:03:29,409 --> 00:03:30,449
on windows back in twenty
134
00:03:30,449 --> 00:03:31,729
sixteen, then announced the
135
00:03:31,729 --> 00:03:33,090
kernel based version in twenty
136
00:03:33,090 --> 00:03:33,530
nineteen.
137
00:03:33,530 --> 00:03:36,090
Later, it moved the whole thing
out of the windows image and
138
00:03:36,090 --> 00:03:37,449
into the Microsoft Store.
139
00:03:37,449 --> 00:03:39,969
That led the team ship fixes on
their own schedule.
140
00:03:39,969 --> 00:03:42,370
The payoff shows up as speed and
compatibility.
141
00:03:42,370 --> 00:03:45,689
Early Wsl2 ran up to twenty
times faster than w s l one.
142
00:03:45,689 --> 00:03:47,330
When unpacking a zip tarball.
143
00:03:47,330 --> 00:03:48,689
It was roughly two to five times
144
00:03:48,689 --> 00:03:50,129
faster on everyday chores like
145
00:03:50,129 --> 00:03:51,530
cloning a project or installing
146
00:03:51,530 --> 00:03:52,289
packages.
147
00:03:52,289 --> 00:03:55,300
Full system call compatibility
means Linux software just runs,
148
00:03:55,300 --> 00:03:57,919
and that includes Docker, the
tool developers use to package
149
00:03:57,919 --> 00:03:59,419
apps into portable boxes.
150
00:03:59,419 --> 00:04:00,740
One quirk is worth flagging if
151
00:04:00,740 --> 00:04:01,539
you already run other
152
00:04:01,539 --> 00:04:03,139
virtualization software.
153
00:04:03,139 --> 00:04:04,979
W s L1 played nicely with VMware
154
00:04:04,979 --> 00:04:06,719
and VirtualBox, and WSL two
155
00:04:06,719 --> 00:04:07,580
historically didn't.
156
00:04:07,580 --> 00:04:09,900
Though recent releases of those
tools have caught up.
157
00:04:09,900 --> 00:04:12,379
Check that detail before you
switch on a laptop you use for
158
00:04:12,379 --> 00:04:14,219
other virtual machines.
159
00:04:14,219 --> 00:04:15,620
WSL two is the default today, so
160
00:04:15,620 --> 00:04:16,860
a fresh install gives you the
161
00:04:16,860 --> 00:04:17,779
newer version.
162
00:04:17,779 --> 00:04:18,259
Exactly.
163
00:04:18,259 --> 00:04:19,819
One case still favors the older
164
00:04:19,819 --> 00:04:21,060
one, and it's worth remembering
165
00:04:21,060 --> 00:04:21,699
for later.
166
00:04:21,699 --> 00:04:25,180
That case is files which have to
live on your windows drive.
167
00:04:25,180 --> 00:04:26,860
Installing it in one command.
168
00:04:26,860 --> 00:04:28,019
The install really is one
169
00:04:28,019 --> 00:04:29,579
command, and the details matter
170
00:04:29,579 --> 00:04:29,860
here.
171
00:04:29,860 --> 00:04:31,100
First, check that your running
172
00:04:31,100 --> 00:04:32,579
windows ten version two thousand
173
00:04:32,579 --> 00:04:33,980
and four or newer, or windows
174
00:04:33,980 --> 00:04:34,579
eleven.
175
00:04:34,579 --> 00:04:35,779
Then open PowerShell as an
176
00:04:35,779 --> 00:04:38,019
administrator, type w, s, l
177
00:04:38,019 --> 00:04:39,379
install and restart your
178
00:04:39,379 --> 00:04:40,019
machine.
179
00:04:40,019 --> 00:04:43,000
That single line switches on the
two windows features W, s, L
180
00:04:43,000 --> 00:04:46,060
needs, and it adds ubuntu as
your first Linux distribution.
181
00:04:46,060 --> 00:04:48,300
The two features it switches on
are called Virtual Machine
182
00:04:48,300 --> 00:04:50,259
Platform and Windows Subsystem.
183
00:04:50,259 --> 00:04:53,139
For Linux, you can turn those on
by hand if the one command route
184
00:04:53,139 --> 00:04:54,500
ever fails on you.
185
00:04:54,500 --> 00:04:56,399
W s l runs on regular Intel and
186
00:04:56,399 --> 00:04:58,100
AMD chips and on the arm chips
187
00:04:58,100 --> 00:04:59,579
inside some thin laptops, so
188
00:04:59,579 --> 00:05:00,740
your hardware is rarely the
189
00:05:00,740 --> 00:05:01,339
blocker.
190
00:05:01,339 --> 00:05:03,699
Ubuntu is just the starting
point, not the only choice.
191
00:05:03,699 --> 00:05:06,620
If you would rather begin with
Debian Kali or something else,
192
00:05:06,620 --> 00:05:09,300
you add that distribution name
to the end of the same command.
193
00:05:09,300 --> 00:05:11,899
You can also browse a list to
see everything available.
194
00:05:11,899 --> 00:05:12,819
The first launch of your new
195
00:05:12,819 --> 00:05:14,259
Linux setup takes a moment
196
00:05:14,259 --> 00:05:15,699
because it unpacks files onto
197
00:05:15,699 --> 00:05:16,620
your disk.
198
00:05:16,620 --> 00:05:18,899
Every launch after that happens
in less than a second.
199
00:05:18,899 --> 00:05:20,699
That speed is what makes it feel
200
00:05:20,699 --> 00:05:21,939
less like a separate machine and
201
00:05:21,939 --> 00:05:22,899
more like a tab in your
202
00:05:22,899 --> 00:05:23,779
terminal.
203
00:05:23,779 --> 00:05:25,220
Once everything is set up, you
204
00:05:25,220 --> 00:05:26,560
can see what you have by asking
205
00:05:26,560 --> 00:05:27,579
w, s, l to list your
206
00:05:27,579 --> 00:05:28,860
distributions with their version
207
00:05:28,860 --> 00:05:29,420
numbers.
208
00:05:29,420 --> 00:05:30,860
You can also move a distribution
209
00:05:30,860 --> 00:05:32,160
between the two versions at any
210
00:05:32,160 --> 00:05:33,620
time, which is handy when you
211
00:05:33,620 --> 00:05:34,579
want to test a difference
212
00:05:34,579 --> 00:05:35,339
yourself.
213
00:05:35,339 --> 00:05:36,740
Updates now work like an app
214
00:05:36,740 --> 00:05:37,939
rather than a piece of windows
215
00:05:37,939 --> 00:05:38,660
itself.
216
00:05:38,660 --> 00:05:41,420
New features arrive through the
Microsoft Store without waiting
217
00:05:41,420 --> 00:05:42,860
on a full Windows update.
218
00:05:42,860 --> 00:05:45,220
If your company blocks the
store, there's a web download
219
00:05:45,220 --> 00:05:46,339
option that still works.
220
00:05:46,339 --> 00:05:48,300
Work laptops come with an honest
catch.
221
00:05:48,300 --> 00:05:51,430
Some organizations block w, cell
through a group policy.
222
00:05:51,430 --> 00:05:53,829
When that happens, the install
fails with a long error code
223
00:05:53,829 --> 00:05:55,269
instead of a friendly message.
224
00:05:55,269 --> 00:05:56,350
That block is a company
225
00:05:56,350 --> 00:05:57,990
decision, not a broken laptop,
226
00:05:57,990 --> 00:05:59,790
and only your IT team can lift
227
00:05:59,790 --> 00:06:00,470
it.
228
00:06:00,470 --> 00:06:02,470
How Linux and Windows share your
files.
229
00:06:02,470 --> 00:06:04,990
This is the part that causes the
most confusion and frustration,
230
00:06:04,990 --> 00:06:07,470
because it comes down to where
your files actually live.
231
00:06:07,470 --> 00:06:10,430
Windows and Linux keep files in
two different places.
232
00:06:10,430 --> 00:06:11,589
Cell lets each site see the
233
00:06:11,589 --> 00:06:12,829
other, but the two sides aren't
234
00:06:12,829 --> 00:06:13,910
equally fast.
235
00:06:13,910 --> 00:06:15,069
Your windows drives show up
236
00:06:15,069 --> 00:06:16,470
inside Linux under a folder
237
00:06:16,470 --> 00:06:17,430
called mnt.
238
00:06:17,430 --> 00:06:21,709
Your C drive, for example,
appears as mnt C, and from there
239
00:06:21,709 --> 00:06:24,189
you can read and write any
windows file you like.
240
00:06:24,189 --> 00:06:26,870
The other direction works too,
because windows can browse into
241
00:06:26,870 --> 00:06:29,310
the Linux file system through a
special address, you can paste
242
00:06:29,310 --> 00:06:30,709
into File Explorer.
243
00:06:30,709 --> 00:06:32,829
Linux files follow a different
set of rules.
244
00:06:32,829 --> 00:06:36,110
Anything under the Linux root is
case sensitive, so two files
245
00:06:36,110 --> 00:06:38,509
with the same letters, but
different capital letters count
246
00:06:38,509 --> 00:06:39,670
as different files.
247
00:06:39,670 --> 00:06:40,850
Symbolic links behave the way
248
00:06:40,850 --> 00:06:42,430
Linux expects, and commands like
249
00:06:42,430 --> 00:06:43,670
chmod and chown actually mean
250
00:06:43,670 --> 00:06:44,350
something.
251
00:06:44,350 --> 00:06:46,790
Windows files don't work that
way, and that difference is
252
00:06:46,790 --> 00:06:47,990
where the slowdowns hide.
253
00:06:47,990 --> 00:06:48,230
downside.
254
00:06:48,230 --> 00:06:51,110
Microsoft is direct about this
in its own documentation.
255
00:06:51,110 --> 00:06:52,230
The guidance is to store your
256
00:06:52,230 --> 00:06:53,389
files in the same operating
257
00:06:53,389 --> 00:06:54,709
system as the tools you use on
258
00:06:54,709 --> 00:06:55,110
them.
259
00:06:55,110 --> 00:06:58,189
The same page also warns against
crossing the boundary unless you
260
00:06:58,189 --> 00:06:59,230
have a specific reason.
261
00:06:59,230 --> 00:07:01,269
In plain terms, when the tools
are Linux tools, keep the
262
00:07:01,269 --> 00:07:02,230
project inside Linux.
263
00:07:02,230 --> 00:07:03,470
If you're working in PowerShell
264
00:07:03,470 --> 00:07:04,949
or a windows app, keep it on the
265
00:07:04,949 --> 00:07:05,870
windows side.
266
00:07:05,870 --> 00:07:08,509
The reason matters because it
explains a complaint you will
267
00:07:08,509 --> 00:07:09,629
hear from everyone.
268
00:07:09,629 --> 00:07:12,430
Reading and writing across that
boundary is the slow path.
269
00:07:12,430 --> 00:07:13,829
It hurts most when a project is
270
00:07:13,829 --> 00:07:15,089
built from thousands of tiny
271
00:07:15,089 --> 00:07:16,910
files because each one pays the
272
00:07:16,910 --> 00:07:17,709
crossing cost.
273
00:07:17,709 --> 00:07:20,389
A single document crosses just
fine, but a folder full of
274
00:07:20,389 --> 00:07:22,069
downloaded packages will crawl.
275
00:07:22,069 --> 00:07:23,790
The common case has a clean fix.
276
00:07:23,790 --> 00:07:25,470
The remote w s l extension for
277
00:07:25,470 --> 00:07:26,829
Visual Studio code lets you keep
278
00:07:26,829 --> 00:07:28,269
your project inside the Linux
279
00:07:28,269 --> 00:07:28,910
file system.
280
00:07:28,910 --> 00:07:31,589
You still edit those files with
a windows editor, so you get
281
00:07:31,589 --> 00:07:33,870
Linux speed without giving up
your usual tools.
282
00:07:33,870 --> 00:07:37,509
You can mix commands freely as
well run notepad from Linux, or
283
00:07:37,509 --> 00:07:40,290
run a Linux command straight
from PowerShell and both feel
284
00:07:40,290 --> 00:07:43,930
natural after a day or two, a
shared variable called W, s, l,
285
00:07:43,930 --> 00:07:47,040
v passes environment settings
across the divide, which saves
286
00:07:47,040 --> 00:07:49,680
you from retyping the same paths
on both sides.
287
00:07:49,680 --> 00:07:51,519
Two habits save beginners a lot
of grief.
288
00:07:51,519 --> 00:07:52,959
Keep Linux projects inside Linux
289
00:07:52,959 --> 00:07:53,959
and Windows projects on the
290
00:07:53,959 --> 00:07:55,199
windows side, which we just
291
00:07:55,199 --> 00:07:55,839
covered.
292
00:07:55,839 --> 00:07:58,360
Then export your Linux setup now
and again, because it lives
293
00:07:58,360 --> 00:08:01,560
inside a single large file that
you can back up, move, or
294
00:08:01,560 --> 00:08:03,680
restore on another machine.
295
00:08:03,680 --> 00:08:06,439
What you can actually do with it
once the files behave.
296
00:08:06,439 --> 00:08:08,759
The interesting part starts
because this is a full Linux
297
00:08:08,759 --> 00:08:11,680
environment, it runs the same
tools a Linux server runs, and
298
00:08:11,680 --> 00:08:12,839
that list is long.
299
00:08:12,839 --> 00:08:16,180
You get the classic command line
utilities like grep, s, awk,
300
00:08:16,180 --> 00:08:17,480
vim, and tmux.
301
00:08:17,480 --> 00:08:20,279
You get the languages and stacks
that assume Linux, including
302
00:08:20,279 --> 00:08:25,240
node, Python, Ruby, go rust, and
the C family services work too.
303
00:08:25,240 --> 00:08:29,279
You can run MySQL, PostgreSQL,
or MongoDB inside W, s, L and
304
00:08:29,279 --> 00:08:30,439
start a small web server.
305
00:08:30,439 --> 00:08:32,720
Then you reach it from your
windows browser by typing
306
00:08:32,720 --> 00:08:35,000
localhost, which means a
practice project doesn't need
307
00:08:35,000 --> 00:08:36,039
its own machine.
308
00:08:36,039 --> 00:08:38,240
Graphical Linux apps are
supported as well.
309
00:08:38,240 --> 00:08:39,799
They open as ordinary windows on
310
00:08:39,799 --> 00:08:41,440
your desktop, so a Linux text
311
00:08:41,440 --> 00:08:43,159
editor or a data tool sits in
312
00:08:43,159 --> 00:08:44,759
the taskbar beside your usual
313
00:08:44,759 --> 00:08:45,399
apps.
314
00:08:45,399 --> 00:08:47,200
If your work touches machine
learning.
315
00:08:47,200 --> 00:08:50,639
W s l can hand your graphics
card to Linux workloads.
316
00:08:50,639 --> 00:08:51,960
That is how people train models
317
00:08:51,960 --> 00:08:53,360
on a windows laptop without
318
00:08:53,360 --> 00:08:53,759
giving up.
319
00:08:53,759 --> 00:08:56,659
Windows containers deserve their
own moment because this is where
320
00:08:56,659 --> 00:08:58,080
WSL became the standard.
321
00:08:58,080 --> 00:09:01,159
Docker on windows runs on top of
WSL two, and that's only
322
00:09:01,159 --> 00:09:04,720
possible because WSL two has a
genuine Linux kernel underneath.
323
00:09:04,720 --> 00:09:06,940
If you have ever installed
Docker desktop on windows, you
324
00:09:06,940 --> 00:09:09,279
have already been using WSL
without knowing it.
325
00:09:09,279 --> 00:09:12,159
To make this concrete, try a
small project this week, pick a
326
00:09:12,159 --> 00:09:15,879
beginner tutorial for Python or
Node and follow it inside WSL.
327
00:09:15,879 --> 00:09:18,840
Skipping the windows workarounds
install the packages it asks
328
00:09:18,840 --> 00:09:19,639
for, then run it.
329
00:09:19,639 --> 00:09:22,159
You will type the exact same
commands the tutorial author
330
00:09:22,159 --> 00:09:23,879
used, which is the entire point.
331
00:09:23,879 --> 00:09:25,799
Editors and databases round this
out nicely.
332
00:09:25,799 --> 00:09:28,600
Visual Studio Code can open your
Linux files directly.
333
00:09:28,600 --> 00:09:32,200
A database for a side project
can also live inside WSL instead
334
00:09:32,200 --> 00:09:34,360
of on a separate server you
would otherwise rent.
335
00:09:34,360 --> 00:09:35,720
Microsoft's own example of this
336
00:09:35,720 --> 00:09:36,879
pattern starts with a developer
337
00:09:36,879 --> 00:09:38,120
who builds and tests a pipeline
338
00:09:38,120 --> 00:09:38,840
locally.
339
00:09:38,840 --> 00:09:40,120
That pipeline gets packaged into
340
00:09:40,120 --> 00:09:41,559
a container and pushed to the
341
00:09:41,559 --> 00:09:43,210
cloud where it runs on a Linux
342
00:09:43,210 --> 00:09:44,570
virtual machine that is the
343
00:09:44,570 --> 00:09:45,769
shape of modern software work,
344
00:09:45,769 --> 00:09:47,490
and w s L is the local half of
345
00:09:47,490 --> 00:09:47,929
it.
346
00:09:47,929 --> 00:09:49,049
The catch is that all of this
347
00:09:49,049 --> 00:09:50,450
comes with a few real limits,
348
00:09:50,450 --> 00:09:52,809
and those are next where it
349
00:09:52,809 --> 00:09:53,970
breaks and what to watch out
350
00:09:53,970 --> 00:09:54,490
for.
351
00:09:54,490 --> 00:09:55,490
Now for the honest part.
352
00:09:55,490 --> 00:09:57,850
Because a tool you don't
understand will surprise you in
353
00:09:57,850 --> 00:09:58,570
a bad way.
354
00:09:58,570 --> 00:10:02,009
W s l is genuinely good and it
also has specific limits.
355
00:10:02,009 --> 00:10:04,529
Knowing them ahead of time is
what separates a smooth setup
356
00:10:04,529 --> 00:10:06,210
from a frustrating afternoon.
357
00:10:06,210 --> 00:10:08,090
Memory is the first surprise by
default.
358
00:10:08,090 --> 00:10:09,690
W s l two is allowed to use up
359
00:10:09,690 --> 00:10:11,409
to half of your windows memory,
360
00:10:11,409 --> 00:10:12,690
and it can hold on to cached
361
00:10:12,690 --> 00:10:14,330
memory until the whole instance
362
00:10:14,330 --> 00:10:15,850
shuts down.
363
00:10:15,850 --> 00:10:18,450
On a long session with a big
project, task manager can look
364
00:10:18,450 --> 00:10:19,929
like something ate your ram.
365
00:10:19,929 --> 00:10:21,330
The fix is a small settings file
366
00:10:21,330 --> 00:10:22,370
where you can keep memory and
367
00:10:22,370 --> 00:10:23,129
processes.
368
00:10:23,129 --> 00:10:24,549
An automatic memory reclaim
369
00:10:24,549 --> 00:10:26,009
option exists for exactly this
370
00:10:26,009 --> 00:10:26,649
problem.
371
00:10:26,649 --> 00:10:29,730
The defaults are worth putting
numbers on a laptop with sixteen
372
00:10:29,730 --> 00:10:30,690
gigabytes of memory.
373
00:10:30,690 --> 00:10:33,450
Hands eight of those gigabytes
to Linux by default.
374
00:10:33,450 --> 00:10:35,210
It also adds a swap file sized
375
00:10:35,210 --> 00:10:36,490
at a quarter of your memory,
376
00:10:36,490 --> 00:10:37,929
which lives on disk and acts as
377
00:10:37,929 --> 00:10:38,529
overflow.
378
00:10:38,529 --> 00:10:40,809
You can lower those numbers,
raise them, or turn swap off
379
00:10:40,809 --> 00:10:42,009
entirely in the same settings.
380
00:10:42,009 --> 00:10:45,570
File changes take effect after
the Linux side fully restarts,
381
00:10:45,570 --> 00:10:47,090
which takes a few seconds.
382
00:10:47,090 --> 00:10:50,009
The second surprise is that the
machine underneath cell starts
383
00:10:50,009 --> 00:10:51,210
and stops on its own.
384
00:10:51,210 --> 00:10:54,330
If nothing is using it, it shuts
down to save resources.
385
00:10:54,330 --> 00:10:55,090
That is confusing.
386
00:10:55,090 --> 00:10:57,049
When a local server suddenly
stops answering.
387
00:10:57,049 --> 00:10:58,370
Closing the last terminal window
388
00:10:58,370 --> 00:10:59,809
triggers the shutdown, so keep
389
00:10:59,809 --> 00:11:01,070
one open if you want things to
390
00:11:01,070 --> 00:11:01,730
stay up.
391
00:11:01,730 --> 00:11:03,250
Disk space has a quirk of its
own.
392
00:11:03,250 --> 00:11:06,850
The Linux side lives inside one
large storage file that grows as
393
00:11:06,850 --> 00:11:07,809
you add data.
394
00:11:07,809 --> 00:11:10,370
An experimental setting lets
that file shrink again when you
395
00:11:10,370 --> 00:11:13,250
delete things instead of holding
on to the space forever.
396
00:11:13,250 --> 00:11:15,049
Which brings us to the biggest
limit of all.
397
00:11:15,049 --> 00:11:17,049
And Microsoft says it plainly w
398
00:11:17,049 --> 00:11:18,289
s l is built for the build and
399
00:11:18,289 --> 00:11:19,929
test cycle on your own machine,
400
00:11:19,929 --> 00:11:21,049
and it isn't a production
401
00:11:21,049 --> 00:11:21,649
server.
402
00:11:21,649 --> 00:11:23,570
There is a way to use its
container technology for
403
00:11:23,570 --> 00:11:26,490
production work, but the safe
rule for a beginner is simple
404
00:11:26,490 --> 00:11:28,129
use w s l to build and learn.
405
00:11:28,129 --> 00:11:29,850
Use a real Linux machine or a
406
00:11:29,850 --> 00:11:31,250
cloud service to serve real
407
00:11:31,250 --> 00:11:31,970
users.
408
00:11:31,970 --> 00:11:33,409
Networking has its own quirks.
409
00:11:33,409 --> 00:11:35,490
By default, w SL uses a setup
410
00:11:35,490 --> 00:11:36,889
called Nat, which gives your
411
00:11:36,889 --> 00:11:38,330
Linux site its own address,
412
00:11:38,330 --> 00:11:39,500
reaching it from another device
413
00:11:39,500 --> 00:11:40,779
on your network used to take
414
00:11:40,779 --> 00:11:42,679
manual work on windows eleven,
415
00:11:42,679 --> 00:11:43,980
and newer mirrored mode fixes
416
00:11:43,980 --> 00:11:44,500
this.
417
00:11:44,500 --> 00:11:46,179
It also improves how WSL behaves
418
00:11:46,179 --> 00:11:47,779
on a VPN, which matters if you
419
00:11:47,779 --> 00:11:48,860
work from home on a company
420
00:11:48,860 --> 00:11:49,379
network.
421
00:11:49,379 --> 00:11:50,899
A few smaller things are worth
knowing.
422
00:11:50,899 --> 00:11:52,259
Windows folders get added to the
423
00:11:52,259 --> 00:11:53,899
Linux path automatically, and
424
00:11:53,899 --> 00:11:55,019
Linux can launch windows
425
00:11:55,019 --> 00:11:57,340
programs, so WSL isn't a byte
426
00:11:57,340 --> 00:11:58,500
for byte copy of a Linux
427
00:11:58,500 --> 00:11:59,220
machine.
428
00:11:59,220 --> 00:12:00,620
Serial ports aren't supported,
429
00:12:00,620 --> 00:12:02,179
and USB devices need a separate
430
00:12:02,179 --> 00:12:03,100
helper project.
431
00:12:03,100 --> 00:12:04,320
Some third party security
432
00:12:04,320 --> 00:12:05,720
suites, including Kaspersky,
433
00:12:05,720 --> 00:12:07,379
AVG, Avast, Symantec, and
434
00:12:07,379 --> 00:12:08,919
F-Secure, have been reported to
435
00:12:08,919 --> 00:12:10,700
block internet access inside W,
436
00:12:10,700 --> 00:12:12,620
s l. If your Linux side suddenly
437
00:12:12,620 --> 00:12:13,899
has no internet, check your
438
00:12:13,899 --> 00:12:14,899
firewall first.
439
00:12:14,899 --> 00:12:16,139
None of that should scare you
off.
440
00:12:16,139 --> 00:12:18,659
Every limit here has a known
cause or a workaround.
441
00:12:18,659 --> 00:12:19,860
The point is to know the shape
442
00:12:19,860 --> 00:12:21,379
of the tool before you lean on
443
00:12:21,379 --> 00:12:22,299
it.
444
00:12:22,299 --> 00:12:23,940
How WSL fits into Azure and
445
00:12:23,940 --> 00:12:25,059
Microsoft three hundred sixty
446
00:12:25,059 --> 00:12:25,500
five.
447
00:12:25,500 --> 00:12:25,980
The question.
448
00:12:25,980 --> 00:12:28,179
A lot of people in the Microsoft
world actually care about
449
00:12:28,179 --> 00:12:29,740
deserves a straight answer.
450
00:12:29,740 --> 00:12:31,700
W s l ships as part of windows
itself.
451
00:12:31,700 --> 00:12:33,700
Nothing here is part of a
Microsoft three hundred sixty
452
00:12:33,700 --> 00:12:36,139
five plan or an Azure
subscription, and it doesn't add
453
00:12:36,139 --> 00:12:38,559
a line to your bill if you're on
windows ten or windows eleven,
454
00:12:38,559 --> 00:12:39,779
the feature is already there.
455
00:12:39,779 --> 00:12:41,100
So where does the cloud come in?
456
00:12:41,100 --> 00:12:43,379
The connection is a workflow,
not a license.
457
00:12:43,379 --> 00:12:46,460
Linux runs a huge share of the
servers in the cloud, and Azure
458
00:12:46,460 --> 00:12:47,620
is no exception.
459
00:12:47,620 --> 00:12:48,740
The same commands you learn
460
00:12:48,740 --> 00:12:49,899
locally are the commands that
461
00:12:49,899 --> 00:12:51,659
deploy and manage real cloud
462
00:12:51,659 --> 00:12:52,460
systems.
463
00:12:52,460 --> 00:12:53,860
The practical version looks like
this.
464
00:12:53,860 --> 00:12:57,419
The Azure command line tool
called the Azure CLI, installs
465
00:12:57,419 --> 00:13:00,419
and runs inside W s L exactly as
it does on Linux.
466
00:13:00,419 --> 00:13:01,580
Microsoft documents how to
467
00:13:01,580 --> 00:13:02,980
install it on Linux, and it even
468
00:13:02,980 --> 00:13:04,340
keeps a troubleshooting page for
469
00:13:04,340 --> 00:13:06,259
w s l. Specifically, after it is
470
00:13:06,259 --> 00:13:07,519
installed, you can sign into
471
00:13:07,519 --> 00:13:09,059
Azure and manage resources from
472
00:13:09,059 --> 00:13:10,220
the same terminal where you were
473
00:13:10,220 --> 00:13:11,419
running Linux commands a minute
474
00:13:11,419 --> 00:13:12,100
earlier.
475
00:13:12,100 --> 00:13:14,700
The tool also updates itself in
one step, so you're not stuck on
476
00:13:14,700 --> 00:13:15,659
an old version.
477
00:13:15,659 --> 00:13:17,059
Microsoft has also brought its
478
00:13:17,059 --> 00:13:18,580
own Linux distribution into the
479
00:13:18,580 --> 00:13:19,179
picture.
480
00:13:19,179 --> 00:13:22,340
Azure Linux is the distribution
Microsoft builds for Azure.
481
00:13:22,340 --> 00:13:25,820
You can now run it on WSL as a
local environment, and it uses
482
00:13:25,820 --> 00:13:28,100
the same tools and the same
behavior it has in the cloud.
483
00:13:28,100 --> 00:13:29,340
No virtual machine is involved
484
00:13:29,340 --> 00:13:30,700
and no Azure subscription is
485
00:13:30,700 --> 00:13:31,659
required.
486
00:13:31,659 --> 00:13:33,019
That closes a gap which used to
487
00:13:33,019 --> 00:13:34,460
cause real pain where something
488
00:13:34,460 --> 00:13:35,929
worked on your laptop and broke
489
00:13:35,929 --> 00:13:36,830
the moment it reached the
490
00:13:36,830 --> 00:13:37,190
server.
491
00:13:37,190 --> 00:13:39,110
That consistency matters most
for teams.
492
00:13:39,110 --> 00:13:40,470
When the environment a developer
493
00:13:40,470 --> 00:13:41,509
tests against matches the
494
00:13:41,509 --> 00:13:42,710
environment the workload runs
495
00:13:42,710 --> 00:13:43,070
in.
496
00:13:43,070 --> 00:13:44,629
Fewer surprises survive the trip
497
00:13:44,629 --> 00:13:46,090
to production for a slow
498
00:13:46,090 --> 00:13:46,549
learner.
499
00:13:46,549 --> 00:13:49,950
The same idea is a cheap way to
practice with the exact tools a
500
00:13:49,950 --> 00:13:52,429
cloud job would expect you to
know for the Microsoft three
501
00:13:52,429 --> 00:13:53,309
hundred sixty five crowd.
502
00:13:53,309 --> 00:13:55,350
Specifically, I want to set
expectations.
503
00:13:55,350 --> 00:13:57,669
W s l is the workshop next door,
the place where scripts,
504
00:13:57,669 --> 00:14:00,309
pipelines, and cloud tools get
built and tested before they
505
00:14:00,309 --> 00:14:01,149
touch anything real.
506
00:14:01,149 --> 00:14:03,990
If you're building a career
around the Microsoft cloud, that
507
00:14:03,990 --> 00:14:08,029
workshop is worth learning your
way around the short version and
508
00:14:08,029 --> 00:14:09,110
a question for you.
509
00:14:09,110 --> 00:14:09,750
That's the whole thing.
510
00:14:09,750 --> 00:14:12,029
In a few lines, w s l puts a
511
00:14:12,029 --> 00:14:13,110
working Linux environment on
512
00:14:13,110 --> 00:14:14,309
your laptop and it's free and
513
00:14:14,309 --> 00:14:15,110
already there.
514
00:14:15,110 --> 00:14:17,870
It installs with a single
command, and its main quirk is
515
00:14:17,870 --> 00:14:20,429
that files crossing between the
two systems move slowly.
516
00:14:20,429 --> 00:14:21,750
Here's my question for you.
517
00:14:21,750 --> 00:14:23,750
Is there a tutorial you have
been skipping because it looked
518
00:14:23,750 --> 00:14:25,029
like it was written for Linux?
519
00:14:25,029 --> 00:14:25,750
And would you try it?
520
00:14:25,750 --> 00:14:27,629
Now that you know w s l is
sitting there?
521
00:14:27,629 --> 00:14:29,029
If this made the topic feel less
522
00:14:29,029 --> 00:14:31,250
intimidating, subscribe to M365
523
00:14:31,250 --> 00:14:32,669
FM to master the tools and the
524
00:14:32,669 --> 00:14:33,990
mindset shaping the future of
525
00:14:33,990 --> 00:14:34,590
work.