@fredlackey/devutils 0.0.1 → 0.0.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +5 -5
- package/package.json +1 -1
- package/src/commands/install.js +374 -36
- package/src/installs/adobe-creative-cloud.js +527 -25
- package/src/installs/adobe-creative-cloud.md +605 -0
- package/src/installs/appcleaner.js +303 -26
- package/src/installs/appcleaner.md +699 -0
- package/src/installs/apt-transport-https.js +390 -0
- package/src/installs/apt-transport-https.md +678 -0
- package/src/installs/atomicparsley.js +624 -26
- package/src/installs/atomicparsley.md +795 -0
- package/src/installs/aws-cli.js +779 -26
- package/src/installs/aws-cli.md +727 -0
- package/src/installs/balena-etcher.js +688 -26
- package/src/installs/balena-etcher.md +761 -0
- package/src/installs/bambu-studio.js +912 -26
- package/src/installs/bambu-studio.md +780 -0
- package/src/installs/bash-completion.js +554 -23
- package/src/installs/bash-completion.md +833 -0
- package/src/installs/bash.js +399 -26
- package/src/installs/bash.md +993 -0
- package/src/installs/beyond-compare.js +585 -26
- package/src/installs/beyond-compare.md +813 -0
- package/src/installs/build-essential.js +511 -26
- package/src/installs/build-essential.md +977 -0
- package/src/installs/ca-certificates.js +618 -0
- package/src/installs/ca-certificates.md +937 -0
- package/src/installs/caffeine.js +490 -26
- package/src/installs/caffeine.md +839 -0
- package/src/installs/camtasia.js +577 -25
- package/src/installs/camtasia.md +762 -0
- package/src/installs/chatgpt.js +458 -26
- package/src/installs/chatgpt.md +814 -0
- package/src/installs/chocolatey.js +447 -0
- package/src/installs/chocolatey.md +661 -0
- package/src/installs/chrome-canary.js +472 -26
- package/src/installs/chrome-canary.md +641 -0
- package/src/installs/chromium.js +645 -26
- package/src/installs/chromium.md +838 -0
- package/src/installs/claude-code.js +558 -26
- package/src/installs/claude-code.md +1173 -0
- package/src/installs/curl.js +361 -26
- package/src/installs/curl.md +714 -0
- package/src/installs/cursor.js +561 -26
- package/src/installs/cursor.md +970 -0
- package/src/installs/dbschema.js +674 -26
- package/src/installs/dbschema.md +925 -0
- package/src/installs/dependencies.md +435 -0
- package/src/installs/development-tools.js +600 -0
- package/src/installs/development-tools.md +977 -0
- package/src/installs/docker.js +1010 -25
- package/src/installs/docker.md +1109 -0
- package/src/installs/drawio.js +1001 -26
- package/src/installs/drawio.md +795 -0
- package/src/installs/elmedia-player.js +328 -25
- package/src/installs/elmedia-player.md +556 -0
- package/src/installs/ffmpeg.js +870 -25
- package/src/installs/ffmpeg.md +852 -0
- package/src/installs/file.js +464 -0
- package/src/installs/file.md +987 -0
- package/src/installs/gemini-cli.js +793 -26
- package/src/installs/gemini-cli.md +1153 -0
- package/src/installs/git.js +382 -26
- package/src/installs/git.md +907 -0
- package/src/installs/gitego.js +931 -26
- package/src/installs/gitego.md +1172 -0
- package/src/installs/go.js +913 -26
- package/src/installs/go.md +958 -0
- package/src/installs/google-chrome.js +801 -25
- package/src/installs/google-chrome.md +862 -0
- package/src/installs/gpg.js +412 -73
- package/src/installs/gpg.md +1056 -0
- package/src/installs/homebrew.js +1015 -26
- package/src/installs/homebrew.md +988 -0
- package/src/installs/imageoptim.js +950 -26
- package/src/installs/imageoptim.md +1119 -0
- package/src/installs/installers.json +2297 -0
- package/src/installs/jq.js +382 -26
- package/src/installs/jq.md +809 -0
- package/src/installs/keyboard-maestro.js +701 -26
- package/src/installs/keyboard-maestro.md +825 -0
- package/src/installs/latex.js +771 -26
- package/src/installs/latex.md +1095 -0
- package/src/installs/lftp.js +338 -26
- package/src/installs/lftp.md +907 -0
- package/src/installs/lsb-release.js +346 -0
- package/src/installs/lsb-release.md +814 -0
- package/src/installs/messenger.js +829 -26
- package/src/installs/messenger.md +900 -0
- package/src/installs/microsoft-office.js +550 -26
- package/src/installs/microsoft-office.md +760 -0
- package/src/installs/microsoft-teams.js +782 -25
- package/src/installs/microsoft-teams.md +886 -0
- package/src/installs/node.js +886 -26
- package/src/installs/node.md +1153 -0
- package/src/installs/nordpass.js +698 -26
- package/src/installs/nordpass.md +921 -0
- package/src/installs/nvm.js +977 -26
- package/src/installs/nvm.md +1057 -0
- package/src/installs/openssh.js +734 -64
- package/src/installs/openssh.md +1056 -0
- package/src/installs/pandoc.js +644 -26
- package/src/installs/pandoc.md +1036 -0
- package/src/installs/pinentry.js +492 -26
- package/src/installs/pinentry.md +1142 -0
- package/src/installs/pngyu.js +851 -26
- package/src/installs/pngyu.md +896 -0
- package/src/installs/postman.js +781 -26
- package/src/installs/postman.md +940 -0
- package/src/installs/procps.js +425 -0
- package/src/installs/procps.md +851 -0
- package/src/installs/safari-tech-preview.js +355 -25
- package/src/installs/safari-tech-preview.md +533 -0
- package/src/installs/sfnt2woff.js +640 -26
- package/src/installs/sfnt2woff.md +795 -0
- package/src/installs/shellcheck.js +463 -26
- package/src/installs/shellcheck.md +1005 -0
- package/src/installs/slack.js +722 -25
- package/src/installs/slack.md +865 -0
- package/src/installs/snagit.js +566 -25
- package/src/installs/snagit.md +844 -0
- package/src/installs/software-properties-common.js +372 -0
- package/src/installs/software-properties-common.md +805 -0
- package/src/installs/spotify.js +858 -25
- package/src/installs/spotify.md +901 -0
- package/src/installs/studio-3t.js +803 -26
- package/src/installs/studio-3t.md +918 -0
- package/src/installs/sublime-text.js +780 -25
- package/src/installs/sublime-text.md +914 -0
- package/src/installs/superwhisper.js +687 -25
- package/src/installs/superwhisper.md +630 -0
- package/src/installs/tailscale.js +727 -26
- package/src/installs/tailscale.md +1100 -0
- package/src/installs/tar.js +389 -0
- package/src/installs/tar.md +946 -0
- package/src/installs/termius.js +780 -26
- package/src/installs/termius.md +844 -0
- package/src/installs/terraform.js +761 -26
- package/src/installs/terraform.md +899 -0
- package/src/installs/tidal.js +752 -25
- package/src/installs/tidal.md +864 -0
- package/src/installs/tmux.js +328 -26
- package/src/installs/tmux.md +1030 -0
- package/src/installs/tree.js +393 -26
- package/src/installs/tree.md +833 -0
- package/src/installs/unzip.js +460 -0
- package/src/installs/unzip.md +879 -0
- package/src/installs/vim.js +403 -26
- package/src/installs/vim.md +1040 -0
- package/src/installs/vlc.js +803 -26
- package/src/installs/vlc.md +927 -0
- package/src/installs/vscode.js +825 -26
- package/src/installs/vscode.md +1002 -0
- package/src/installs/wget.js +415 -0
- package/src/installs/wget.md +791 -0
- package/src/installs/whatsapp.js +710 -25
- package/src/installs/whatsapp.md +854 -0
- package/src/installs/winpty.js +352 -0
- package/src/installs/winpty.md +620 -0
- package/src/installs/woff2.js +535 -26
- package/src/installs/woff2.md +977 -0
- package/src/installs/wsl.js +572 -0
- package/src/installs/wsl.md +699 -0
- package/src/installs/xcode-clt.js +520 -0
- package/src/installs/xcode-clt.md +351 -0
- package/src/installs/xcode.js +542 -26
- package/src/installs/xcode.md +573 -0
- package/src/installs/yarn.js +806 -26
- package/src/installs/yarn.md +1074 -0
- package/src/installs/yq.js +636 -26
- package/src/installs/yq.md +944 -0
- package/src/installs/yt-dlp.js +683 -26
- package/src/installs/yt-dlp.md +946 -0
- package/src/installs/yum-utils.js +297 -0
- package/src/installs/yum-utils.md +648 -0
- package/src/installs/zoom.js +740 -25
- package/src/installs/zoom.md +884 -0
- package/src/scripts/README.md +567 -45
- package/src/scripts/STATUS.md +208 -0
- package/src/scripts/afk.js +395 -7
- package/src/scripts/backup-all.js +731 -9
- package/src/scripts/backup-source.js +711 -8
- package/src/scripts/brewd.js +373 -7
- package/src/scripts/brewi.js +505 -9
- package/src/scripts/brewr.js +512 -9
- package/src/scripts/brews.js +462 -9
- package/src/scripts/brewu.js +488 -7
- package/src/scripts/c.js +185 -7
- package/src/scripts/ccurl.js +325 -8
- package/src/scripts/certbot-crontab-init.js +488 -8
- package/src/scripts/certbot-init.js +641 -9
- package/src/scripts/ch.js +339 -7
- package/src/scripts/claude-danger.js +253 -8
- package/src/scripts/clean-dev.js +419 -8
- package/src/scripts/clear-dns-cache.js +525 -7
- package/src/scripts/clone.js +417 -7
- package/src/scripts/code-all.js +420 -7
- package/src/scripts/count-files.js +195 -8
- package/src/scripts/count-folders.js +195 -8
- package/src/scripts/count.js +248 -8
- package/src/scripts/d.js +203 -7
- package/src/scripts/datauri.js +373 -8
- package/src/scripts/delete-files.js +363 -7
- package/src/scripts/docker-clean.js +410 -8
- package/src/scripts/dp.js +426 -7
- package/src/scripts/e.js +375 -9
- package/src/scripts/empty-trash.js +497 -7
- package/src/scripts/evm.js +428 -9
- package/src/scripts/fetch-github-repos.js +441 -10
- package/src/scripts/get-channel.js +329 -8
- package/src/scripts/get-course.js +384 -11
- package/src/scripts/get-dependencies.js +290 -9
- package/src/scripts/get-folder.js +783 -10
- package/src/scripts/get-tunes.js +411 -10
- package/src/scripts/get-video.js +352 -9
- package/src/scripts/git-backup.js +561 -9
- package/src/scripts/git-clone.js +477 -9
- package/src/scripts/git-pup.js +303 -7
- package/src/scripts/git-push.js +380 -8
- package/src/scripts/h.js +607 -9
- package/src/scripts/hide-desktop-icons.js +483 -7
- package/src/scripts/hide-hidden-files.js +522 -7
- package/src/scripts/install-dependencies-from.js +440 -9
- package/src/scripts/ips.js +647 -10
- package/src/scripts/iso.js +354 -8
- package/src/scripts/killni.js +561 -7
- package/src/scripts/ll.js +451 -8
- package/src/scripts/local-ip.js +310 -8
- package/src/scripts/m.js +508 -8
- package/src/scripts/map.js +293 -8
- package/src/scripts/mkd.js +287 -7
- package/src/scripts/ncu-update-all.js +441 -8
- package/src/scripts/nginx-init.js +702 -12
- package/src/scripts/npmi.js +366 -7
- package/src/scripts/o.js +495 -8
- package/src/scripts/org-by-date.js +321 -7
- package/src/scripts/p.js +208 -7
- package/src/scripts/packages.js +313 -8
- package/src/scripts/path.js +209 -7
- package/src/scripts/ports.js +582 -8
- package/src/scripts/q.js +290 -8
- package/src/scripts/refresh-files.js +378 -10
- package/src/scripts/remove-smaller-files.js +500 -8
- package/src/scripts/rename-files-with-date.js +517 -9
- package/src/scripts/resize-image.js +523 -9
- package/src/scripts/rm-safe.js +653 -8
- package/src/scripts/s.js +525 -9
- package/src/scripts/set-git-public.js +349 -7
- package/src/scripts/show-desktop-icons.js +459 -7
- package/src/scripts/show-hidden-files.js +456 -7
- package/src/scripts/tpa.js +265 -8
- package/src/scripts/tpo.js +264 -7
- package/src/scripts/u.js +489 -7
- package/src/scripts/vpush.js +422 -8
- package/src/scripts/y.js +267 -7
- package/src/utils/common/os.js +94 -2
- package/src/utils/ubuntu/apt.js +13 -7
- package/src/utils/windows/choco.js +82 -26
- package/src/utils/windows/winget.js +89 -27
|
@@ -0,0 +1,699 @@
|
|
|
1
|
+
# Installing WSL 2 (Windows Subsystem for Linux 2)
|
|
2
|
+
|
|
3
|
+
## Dependencies
|
|
4
|
+
|
|
5
|
+
### macOS (Homebrew)
|
|
6
|
+
- **Not Applicable**: WSL 2 is a Windows-only technology. It cannot be installed on macOS. macOS users should use native virtualization solutions such as Docker Desktop for Mac, UTM, or Parallels Desktop to run Linux environments.
|
|
7
|
+
|
|
8
|
+
### Ubuntu (APT/Snap)
|
|
9
|
+
- **Not Applicable**: WSL 2 is a Windows-only technology designed to run Linux on Windows. Ubuntu is already a Linux distribution. WSL 2 cannot and does not need to be installed on native Linux systems.
|
|
10
|
+
|
|
11
|
+
### Raspberry Pi OS (APT/Snap)
|
|
12
|
+
- **Not Applicable**: WSL 2 is a Windows-only technology. Raspberry Pi OS is a Linux distribution and does not support WSL 2. The Raspberry Pi runs Linux natively.
|
|
13
|
+
|
|
14
|
+
### Amazon Linux (DNF/YUM)
|
|
15
|
+
- **Not Applicable**: WSL 2 is a Windows-only technology. Amazon Linux is already a Linux distribution running natively on AWS infrastructure. WSL 2 is not available for Linux systems.
|
|
16
|
+
|
|
17
|
+
### Windows (Chocolatey/winget)
|
|
18
|
+
- **Required:**
|
|
19
|
+
- Windows 10 version 1903 or later (Build 18362+) for x64 systems, or Windows 10 version 2004+ (Build 19041+) for ARM64 systems
|
|
20
|
+
- Windows 11 (any version)
|
|
21
|
+
- CPU with virtualization support (Intel VT-x or AMD-V)
|
|
22
|
+
- Virtualization enabled in BIOS/UEFI
|
|
23
|
+
- Administrator privileges
|
|
24
|
+
- **Optional:**
|
|
25
|
+
- Chocolatey - Install via PowerShell: `Set-ExecutionPolicy Bypass -Scope Process -Force; [System.Net.ServicePointManager]::SecurityProtocol = [System.Net.ServicePointManager]::SecurityProtocol -bor 3072; iex ((New-Object System.Net.WebClient).DownloadString('https://community.chocolatey.org/install.ps1'))`
|
|
26
|
+
- **Auto-installed:**
|
|
27
|
+
- Virtual Machine Platform Windows feature
|
|
28
|
+
- Windows Subsystem for Linux feature
|
|
29
|
+
- WSL 2 Linux kernel
|
|
30
|
+
- Ubuntu distribution (default, can be changed)
|
|
31
|
+
|
|
32
|
+
### Git Bash (Manual/Portable)
|
|
33
|
+
- **Required:**
|
|
34
|
+
- WSL 2 installed on the Windows host system (see Windows section)
|
|
35
|
+
- Windows 10 version 1903+ or Windows 11
|
|
36
|
+
- **Optional:** None
|
|
37
|
+
- **Auto-installed:** None (Git Bash uses the Windows host's WSL installation)
|
|
38
|
+
|
|
39
|
+
## Overview
|
|
40
|
+
|
|
41
|
+
WSL 2 (Windows Subsystem for Linux 2) is Microsoft's virtualization technology that allows developers to run a full Linux kernel and Linux distributions natively on Windows 10 and Windows 11. Unlike WSL 1, which used a translation layer to convert Linux system calls to Windows calls, WSL 2 runs an actual Linux kernel in a lightweight virtual machine, providing:
|
|
42
|
+
|
|
43
|
+
- **Full Linux kernel compatibility**: Run any Linux software without modification, including Docker, systemd-dependent applications, and kernel modules
|
|
44
|
+
- **Significantly faster file system performance**: Up to 20x faster than WSL 1 for Linux file operations
|
|
45
|
+
- **Full system call compatibility**: Supports applications that were incompatible with WSL 1
|
|
46
|
+
- **Seamless Windows integration**: Access Windows files from Linux and vice versa, run Linux commands from Windows terminals
|
|
47
|
+
|
|
48
|
+
WSL 2 is essential for developers who need Linux development tools while working in a Windows environment, particularly for running Docker, developing with Linux-native toolchains, or testing on Linux before deployment.
|
|
49
|
+
|
|
50
|
+
**Important**: WSL 2 is exclusively a Windows technology. It cannot be installed on macOS, Linux, or any other operating system. This documentation covers the Windows installation in detail and explicitly notes the inapplicability for other platforms.
|
|
51
|
+
|
|
52
|
+
## Prerequisites
|
|
53
|
+
|
|
54
|
+
Before installing WSL 2 on Windows, ensure your system meets these requirements:
|
|
55
|
+
|
|
56
|
+
1. **Operating System Version**:
|
|
57
|
+
- **Windows 10**: Version 1903 (Build 18362) or later for x64 systems; Version 2004 (Build 19041) or later for ARM64 systems
|
|
58
|
+
- **Windows 11**: All versions supported
|
|
59
|
+
|
|
60
|
+
2. **Hardware Requirements**:
|
|
61
|
+
- 64-bit processor with Second Level Address Translation (SLAT) support
|
|
62
|
+
- Intel: Core i3/i5/i7/i9 (1st generation or later) with Intel VT-x
|
|
63
|
+
- AMD: Ryzen or later with AMD-V (SVM)
|
|
64
|
+
- At least 4 GB RAM (8 GB recommended)
|
|
65
|
+
- At least 10 GB free disk space
|
|
66
|
+
|
|
67
|
+
3. **BIOS/UEFI Settings**:
|
|
68
|
+
- Hardware virtualization must be enabled (Intel VT-x, AMD-V, or SVM)
|
|
69
|
+
|
|
70
|
+
4. **Administrative Privileges**: Required for enabling Windows features
|
|
71
|
+
|
|
72
|
+
To check your Windows version, press `Win + R`, type `winver`, and press Enter. The dialog will display your Windows version and build number.
|
|
73
|
+
|
|
74
|
+
## Platform-Specific Installation
|
|
75
|
+
|
|
76
|
+
### macOS (Homebrew)
|
|
77
|
+
|
|
78
|
+
#### Platform Status
|
|
79
|
+
|
|
80
|
+
**WSL 2 is not available for macOS.** WSL (Windows Subsystem for Linux) is a Microsoft Windows feature that enables running Linux distributions on Windows. It is not designed for, nor compatible with, macOS.
|
|
81
|
+
|
|
82
|
+
#### Alternative Solutions for macOS
|
|
83
|
+
|
|
84
|
+
macOS users who need Linux environments should use one of these alternatives:
|
|
85
|
+
|
|
86
|
+
1. **Docker Desktop for Mac**: Run Linux containers natively on macOS
|
|
87
|
+
2. **UTM**: Free, open-source virtualization for macOS (supports Apple Silicon)
|
|
88
|
+
3. **Parallels Desktop**: Commercial virtualization software for macOS
|
|
89
|
+
4. **VMware Fusion**: Commercial virtualization software for macOS
|
|
90
|
+
5. **Multipass**: Ubuntu-optimized VM manager from Canonical
|
|
91
|
+
|
|
92
|
+
Install Docker Desktop on macOS (the most common alternative):
|
|
93
|
+
|
|
94
|
+
```bash
|
|
95
|
+
brew install --quiet --cask docker
|
|
96
|
+
```
|
|
97
|
+
|
|
98
|
+
---
|
|
99
|
+
|
|
100
|
+
### Ubuntu/Debian (APT)
|
|
101
|
+
|
|
102
|
+
#### Platform Status
|
|
103
|
+
|
|
104
|
+
**WSL 2 is not available for Ubuntu or Debian.** WSL 2 is designed to run Linux on Windows, not on Linux itself. Ubuntu and Debian are native Linux distributions and do not require or support WSL 2.
|
|
105
|
+
|
|
106
|
+
#### Why WSL 2 Does Not Apply
|
|
107
|
+
|
|
108
|
+
Ubuntu users already have a native Linux environment. WSL 2 exists specifically to bring Linux capabilities to Windows. Installing WSL 2 on Ubuntu would be circular and nonsensical, as Ubuntu is already the Linux environment that WSL 2 provides on Windows.
|
|
109
|
+
|
|
110
|
+
If you are running Ubuntu inside WSL 2 on a Windows machine, no additional installation is needed within the Ubuntu environment itself. WSL 2 is managed from the Windows host, not from within the Linux distribution.
|
|
111
|
+
|
|
112
|
+
---
|
|
113
|
+
|
|
114
|
+
### Raspberry Pi OS (APT)
|
|
115
|
+
|
|
116
|
+
#### Platform Status
|
|
117
|
+
|
|
118
|
+
**WSL 2 is not available for Raspberry Pi OS.** Raspberry Pi OS is a Linux distribution based on Debian that runs natively on Raspberry Pi hardware. WSL 2 is a Windows-only technology.
|
|
119
|
+
|
|
120
|
+
#### Why WSL 2 Does Not Apply
|
|
121
|
+
|
|
122
|
+
Raspberry Pi devices run Linux natively. There is no need for a Linux subsystem because the operating system is already Linux. WSL 2 provides Linux compatibility for Windows users, which is unnecessary when running a native Linux distribution.
|
|
123
|
+
|
|
124
|
+
---
|
|
125
|
+
|
|
126
|
+
### Amazon Linux (DNF/YUM)
|
|
127
|
+
|
|
128
|
+
#### Platform Status
|
|
129
|
+
|
|
130
|
+
**WSL 2 is not available for Amazon Linux.** Amazon Linux is a Linux distribution designed for AWS infrastructure. WSL 2 is a Windows-only technology that cannot run on Linux systems.
|
|
131
|
+
|
|
132
|
+
#### Why WSL 2 Does Not Apply
|
|
133
|
+
|
|
134
|
+
Amazon Linux EC2 instances and other AWS compute resources run Linux natively. WSL 2 exists to provide Linux functionality on Windows, which is unnecessary when the operating system is already Linux.
|
|
135
|
+
|
|
136
|
+
---
|
|
137
|
+
|
|
138
|
+
### Windows (PowerShell)
|
|
139
|
+
|
|
140
|
+
#### Prerequisites
|
|
141
|
+
|
|
142
|
+
- Windows 10 version 1903 or later (x64), or Windows 10 version 2004 or later (ARM64)
|
|
143
|
+
- Windows 11 (any version)
|
|
144
|
+
- Administrator privileges
|
|
145
|
+
- Virtualization enabled in BIOS/UEFI
|
|
146
|
+
- Internet connectivity for downloading components
|
|
147
|
+
|
|
148
|
+
**Verify your Windows version** by pressing `Win + R`, typing `winver`, and pressing Enter. Your build number must be 18362 or higher for x64 systems, or 19041 or higher for ARM64 systems.
|
|
149
|
+
|
|
150
|
+
**Verify virtualization is enabled** by opening Task Manager (`Ctrl + Shift + Esc`), clicking the "Performance" tab, selecting "CPU", and confirming "Virtualization: Enabled" appears in the details.
|
|
151
|
+
|
|
152
|
+
#### Installation Steps
|
|
153
|
+
|
|
154
|
+
**Step 1: Open PowerShell as Administrator**
|
|
155
|
+
|
|
156
|
+
Press `Win + X` and select "Windows Terminal (Admin)" or "PowerShell (Admin)". Alternatively, search for "PowerShell" in the Start menu, right-click it, and select "Run as administrator".
|
|
157
|
+
|
|
158
|
+
**Step 2: Install WSL 2 with Default Ubuntu Distribution**
|
|
159
|
+
|
|
160
|
+
Run the following command to install WSL 2 with Ubuntu (the default distribution):
|
|
161
|
+
|
|
162
|
+
```powershell
|
|
163
|
+
wsl --install
|
|
164
|
+
```
|
|
165
|
+
|
|
166
|
+
This single command performs all necessary actions:
|
|
167
|
+
- Enables the "Virtual Machine Platform" Windows feature
|
|
168
|
+
- Enables the "Windows Subsystem for Linux" Windows feature
|
|
169
|
+
- Downloads and installs the WSL 2 Linux kernel
|
|
170
|
+
- Downloads and installs the Ubuntu distribution
|
|
171
|
+
- Sets WSL 2 as the default version for new installations
|
|
172
|
+
|
|
173
|
+
**Step 3: Restart Your Computer**
|
|
174
|
+
|
|
175
|
+
A restart is required to complete the installation. Save your work and restart:
|
|
176
|
+
|
|
177
|
+
```powershell
|
|
178
|
+
Restart-Computer
|
|
179
|
+
```
|
|
180
|
+
|
|
181
|
+
**Step 4: Complete Ubuntu Setup**
|
|
182
|
+
|
|
183
|
+
After restarting, the Ubuntu installation will continue automatically. A terminal window will open prompting you to create a Linux username and password. Enter your desired credentials when prompted.
|
|
184
|
+
|
|
185
|
+
**Alternative: Install WSL 2 Without a Distribution**
|
|
186
|
+
|
|
187
|
+
If you want to install only the WSL 2 infrastructure without any Linux distribution:
|
|
188
|
+
|
|
189
|
+
```powershell
|
|
190
|
+
wsl --install --no-distribution
|
|
191
|
+
```
|
|
192
|
+
|
|
193
|
+
After installation and restart, you can install a specific distribution:
|
|
194
|
+
|
|
195
|
+
```powershell
|
|
196
|
+
wsl --install -d Debian
|
|
197
|
+
```
|
|
198
|
+
|
|
199
|
+
**Alternative: Install a Different Distribution**
|
|
200
|
+
|
|
201
|
+
To see available distributions:
|
|
202
|
+
|
|
203
|
+
```powershell
|
|
204
|
+
wsl --list --online
|
|
205
|
+
```
|
|
206
|
+
|
|
207
|
+
To install a specific distribution instead of Ubuntu:
|
|
208
|
+
|
|
209
|
+
```powershell
|
|
210
|
+
wsl --install -d Debian
|
|
211
|
+
```
|
|
212
|
+
|
|
213
|
+
Common distribution options include: Ubuntu, Ubuntu-24.04, Ubuntu-22.04, Debian, kali-linux, openSUSE-Leap-15.6, and SLES-15-SP6.
|
|
214
|
+
|
|
215
|
+
#### Verification
|
|
216
|
+
|
|
217
|
+
After installation and restart, verify WSL 2 is installed correctly.
|
|
218
|
+
|
|
219
|
+
**Check WSL version and status:**
|
|
220
|
+
|
|
221
|
+
```powershell
|
|
222
|
+
wsl --version
|
|
223
|
+
```
|
|
224
|
+
|
|
225
|
+
Expected output (version numbers may vary):
|
|
226
|
+
|
|
227
|
+
```
|
|
228
|
+
WSL version: 2.3.26.0
|
|
229
|
+
Kernel version: 5.15.167.4-1
|
|
230
|
+
WSLg version: 1.0.65
|
|
231
|
+
MSRDC version: 1.2.5620
|
|
232
|
+
Direct3D version: 1.611.1-81528511
|
|
233
|
+
DXCore version: 10.0.26100.1-240331-1435.ge-release
|
|
234
|
+
Windows version: 10.0.22631.4460
|
|
235
|
+
```
|
|
236
|
+
|
|
237
|
+
**Check installed distributions:**
|
|
238
|
+
|
|
239
|
+
```powershell
|
|
240
|
+
wsl --list --verbose
|
|
241
|
+
```
|
|
242
|
+
|
|
243
|
+
Expected output:
|
|
244
|
+
|
|
245
|
+
```
|
|
246
|
+
NAME STATE VERSION
|
|
247
|
+
* Ubuntu Running 2
|
|
248
|
+
```
|
|
249
|
+
|
|
250
|
+
The asterisk (*) indicates the default distribution. The VERSION column should show "2" for WSL 2.
|
|
251
|
+
|
|
252
|
+
**Test the Linux environment:**
|
|
253
|
+
|
|
254
|
+
```powershell
|
|
255
|
+
wsl echo "WSL 2 is working correctly"
|
|
256
|
+
```
|
|
257
|
+
|
|
258
|
+
Expected output:
|
|
259
|
+
|
|
260
|
+
```
|
|
261
|
+
WSL 2 is working correctly
|
|
262
|
+
```
|
|
263
|
+
|
|
264
|
+
#### Troubleshooting
|
|
265
|
+
|
|
266
|
+
**Problem**: "WSL 2 requires an update to its kernel component"
|
|
267
|
+
|
|
268
|
+
**Solution**: Update the WSL kernel:
|
|
269
|
+
|
|
270
|
+
```powershell
|
|
271
|
+
wsl --update
|
|
272
|
+
```
|
|
273
|
+
|
|
274
|
+
Restart your computer after the update completes.
|
|
275
|
+
|
|
276
|
+
**Problem**: Error 0x80370102 - "The virtual machine could not be started because a required feature is not installed"
|
|
277
|
+
|
|
278
|
+
**Solution**: Virtualization is not enabled in BIOS. Restart your computer and enter BIOS/UEFI settings (usually by pressing F2, F10, F12, Del, or Esc during startup). Enable the virtualization setting:
|
|
279
|
+
- Intel systems: Enable "Intel VT-x", "Intel Virtualization Technology", or "VT-x"
|
|
280
|
+
- AMD systems: Enable "AMD-V", "SVM", or "Secure Virtual Machine"
|
|
281
|
+
|
|
282
|
+
Save and exit BIOS, then retry the installation.
|
|
283
|
+
|
|
284
|
+
**Problem**: Error 0x8007019e - "Windows Subsystem for Linux has no installed distributions"
|
|
285
|
+
|
|
286
|
+
**Solution**: WSL features are enabled but no distribution is installed. Install a distribution:
|
|
287
|
+
|
|
288
|
+
```powershell
|
|
289
|
+
wsl --install -d Ubuntu
|
|
290
|
+
```
|
|
291
|
+
|
|
292
|
+
**Problem**: Error 0x80370114 - "The operation could not be started because a required feature is not installed"
|
|
293
|
+
|
|
294
|
+
**Solution**: Enable the Virtual Machine Platform feature manually:
|
|
295
|
+
|
|
296
|
+
```powershell
|
|
297
|
+
dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart
|
|
298
|
+
```
|
|
299
|
+
|
|
300
|
+
Restart your computer and retry.
|
|
301
|
+
|
|
302
|
+
**Problem**: `wsl --install` shows help text instead of installing
|
|
303
|
+
|
|
304
|
+
**Solution**: WSL may already be partially installed. Enable features manually and update:
|
|
305
|
+
|
|
306
|
+
```powershell
|
|
307
|
+
dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart
|
|
308
|
+
dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart
|
|
309
|
+
```
|
|
310
|
+
|
|
311
|
+
Restart your computer, then run:
|
|
312
|
+
|
|
313
|
+
```powershell
|
|
314
|
+
wsl --update
|
|
315
|
+
wsl --install -d Ubuntu
|
|
316
|
+
```
|
|
317
|
+
|
|
318
|
+
**Problem**: Installation stuck or very slow
|
|
319
|
+
|
|
320
|
+
**Solution**: Use the web download option:
|
|
321
|
+
|
|
322
|
+
```powershell
|
|
323
|
+
wsl --install --web-download
|
|
324
|
+
```
|
|
325
|
+
|
|
326
|
+
**Problem**: WSL distribution shows VERSION 1 instead of 2
|
|
327
|
+
|
|
328
|
+
**Solution**: Convert the distribution to WSL 2:
|
|
329
|
+
|
|
330
|
+
```powershell
|
|
331
|
+
wsl --set-version Ubuntu 2
|
|
332
|
+
```
|
|
333
|
+
|
|
334
|
+
Set WSL 2 as the default for future installations:
|
|
335
|
+
|
|
336
|
+
```powershell
|
|
337
|
+
wsl --set-default-version 2
|
|
338
|
+
```
|
|
339
|
+
|
|
340
|
+
**Problem**: "Catastrophic failure" or unexpected errors
|
|
341
|
+
|
|
342
|
+
**Solution**: Reset WSL completely:
|
|
343
|
+
|
|
344
|
+
```powershell
|
|
345
|
+
wsl --shutdown
|
|
346
|
+
wsl --unregister Ubuntu
|
|
347
|
+
wsl --install -d Ubuntu
|
|
348
|
+
```
|
|
349
|
+
|
|
350
|
+
Note: This will delete all data in the Ubuntu distribution. Back up important files first.
|
|
351
|
+
|
|
352
|
+
---
|
|
353
|
+
|
|
354
|
+
### Windows (Chocolatey)
|
|
355
|
+
|
|
356
|
+
#### Prerequisites
|
|
357
|
+
|
|
358
|
+
- Windows 10 version 1903 or later, or Windows 11
|
|
359
|
+
- Administrator PowerShell or Command Prompt
|
|
360
|
+
- Chocolatey package manager installed
|
|
361
|
+
- Virtualization enabled in BIOS/UEFI
|
|
362
|
+
|
|
363
|
+
If Chocolatey is not installed, install it first by running this command in an Administrator PowerShell:
|
|
364
|
+
|
|
365
|
+
```powershell
|
|
366
|
+
Set-ExecutionPolicy Bypass -Scope Process -Force; [System.Net.ServicePointManager]::SecurityProtocol = [System.Net.ServicePointManager]::SecurityProtocol -bor 3072; iex ((New-Object System.Net.WebClient).DownloadString('https://community.chocolatey.org/install.ps1'))
|
|
367
|
+
```
|
|
368
|
+
|
|
369
|
+
#### Installation Steps
|
|
370
|
+
|
|
371
|
+
Run the following command in an Administrator PowerShell or Command Prompt:
|
|
372
|
+
|
|
373
|
+
```powershell
|
|
374
|
+
choco install wsl2 -y --params "/Version:2 /Retry:true"
|
|
375
|
+
```
|
|
376
|
+
|
|
377
|
+
**Parameter explanation**:
|
|
378
|
+
- `-y`: Automatically confirm all prompts (non-interactive)
|
|
379
|
+
- `/Version:2`: Install WSL version 2 (default)
|
|
380
|
+
- `/Retry:true`: Automatically retry installation after reboot if WSL 1 was not previously installed
|
|
381
|
+
|
|
382
|
+
**Important**: A system restart is required. After running the command, restart your computer:
|
|
383
|
+
|
|
384
|
+
```powershell
|
|
385
|
+
Restart-Computer
|
|
386
|
+
```
|
|
387
|
+
|
|
388
|
+
If you used `/Retry:true`, the installation will automatically continue after reboot. Otherwise, run the install command again after restarting.
|
|
389
|
+
|
|
390
|
+
After WSL 2 is installed, install a Linux distribution:
|
|
391
|
+
|
|
392
|
+
```powershell
|
|
393
|
+
wsl --install -d Ubuntu
|
|
394
|
+
```
|
|
395
|
+
|
|
396
|
+
#### Verification
|
|
397
|
+
|
|
398
|
+
Verify the installation using the same commands as the PowerShell method:
|
|
399
|
+
|
|
400
|
+
```powershell
|
|
401
|
+
wsl --version
|
|
402
|
+
wsl --list --verbose
|
|
403
|
+
```
|
|
404
|
+
|
|
405
|
+
#### Troubleshooting
|
|
406
|
+
|
|
407
|
+
See the PowerShell section above for common troubleshooting steps. The Chocolatey installation uses the same underlying WSL infrastructure.
|
|
408
|
+
|
|
409
|
+
**Problem**: Chocolatey installation fails with "WSL 1 not detected" message
|
|
410
|
+
|
|
411
|
+
**Solution**: The Chocolatey package requires a reboot between enabling WSL 1 features and installing WSL 2. Use `/Retry:true` parameter or manually reboot and re-run the command.
|
|
412
|
+
|
|
413
|
+
---
|
|
414
|
+
|
|
415
|
+
### WSL (Ubuntu)
|
|
416
|
+
|
|
417
|
+
#### Platform Status
|
|
418
|
+
|
|
419
|
+
**This section does not apply.** If you are reading this while running Ubuntu inside WSL, you are already using WSL 2. WSL 2 is managed from the Windows host system, not from within the Linux distribution.
|
|
420
|
+
|
|
421
|
+
To manage WSL 2 settings, open a Windows PowerShell or Command Prompt (not the WSL terminal) and use commands like `wsl --version`, `wsl --update`, or `wsl --shutdown`.
|
|
422
|
+
|
|
423
|
+
---
|
|
424
|
+
|
|
425
|
+
### Git Bash (Windows Installation)
|
|
426
|
+
|
|
427
|
+
#### Prerequisites
|
|
428
|
+
|
|
429
|
+
- Windows 10 version 1903 or later, or Windows 11
|
|
430
|
+
- Git Bash installed (comes with Git for Windows)
|
|
431
|
+
- WSL 2 installed on Windows (see Windows section above)
|
|
432
|
+
|
|
433
|
+
**Note**: Git Bash does not require a separate WSL 2 installation. Git Bash inherits access to Windows commands, so once WSL 2 is installed via PowerShell or Chocolatey, the `wsl` command is automatically available in Git Bash.
|
|
434
|
+
|
|
435
|
+
#### Installation Steps
|
|
436
|
+
|
|
437
|
+
1. Install WSL 2 on Windows using PowerShell (see Windows section above):
|
|
438
|
+
|
|
439
|
+
```bash
|
|
440
|
+
# Run from Administrator PowerShell, not Git Bash
|
|
441
|
+
wsl --install
|
|
442
|
+
```
|
|
443
|
+
|
|
444
|
+
2. Restart your computer
|
|
445
|
+
|
|
446
|
+
3. Open Git Bash - the `wsl` command will be available
|
|
447
|
+
|
|
448
|
+
#### Verification
|
|
449
|
+
|
|
450
|
+
In Git Bash, verify WSL is accessible:
|
|
451
|
+
|
|
452
|
+
```bash
|
|
453
|
+
wsl --version
|
|
454
|
+
```
|
|
455
|
+
|
|
456
|
+
Expected output shows WSL version information.
|
|
457
|
+
|
|
458
|
+
List installed distributions:
|
|
459
|
+
|
|
460
|
+
```bash
|
|
461
|
+
wsl --list --verbose
|
|
462
|
+
```
|
|
463
|
+
|
|
464
|
+
Enter the default Linux distribution:
|
|
465
|
+
|
|
466
|
+
```bash
|
|
467
|
+
wsl
|
|
468
|
+
```
|
|
469
|
+
|
|
470
|
+
This opens an interactive Linux shell. Type `exit` to return to Git Bash.
|
|
471
|
+
|
|
472
|
+
#### Troubleshooting
|
|
473
|
+
|
|
474
|
+
**Problem**: `wsl: command not found` in Git Bash
|
|
475
|
+
|
|
476
|
+
**Solution**: WSL is not installed on Windows. Install it using PowerShell as Administrator (see Windows section), then restart Git Bash.
|
|
477
|
+
|
|
478
|
+
**Problem**: Git Bash PATH does not include WSL
|
|
479
|
+
|
|
480
|
+
**Solution**: Add WSL to your Git Bash PATH by editing `~/.bashrc`:
|
|
481
|
+
|
|
482
|
+
```bash
|
|
483
|
+
echo 'export PATH="$PATH:/mnt/c/Windows/System32"' >> ~/.bashrc
|
|
484
|
+
source ~/.bashrc
|
|
485
|
+
```
|
|
486
|
+
|
|
487
|
+
**Problem**: Path conversion issues when passing arguments to WSL
|
|
488
|
+
|
|
489
|
+
**Solution**: Git Bash automatically converts Unix-style paths to Windows paths, which can break WSL commands. Use the `MSYS_NO_PATHCONV` environment variable:
|
|
490
|
+
|
|
491
|
+
```bash
|
|
492
|
+
MSYS_NO_PATHCONV=1 wsl ls /home
|
|
493
|
+
```
|
|
494
|
+
|
|
495
|
+
---
|
|
496
|
+
|
|
497
|
+
## Post-Installation Configuration
|
|
498
|
+
|
|
499
|
+
After installing WSL 2 on Windows, consider these optional but recommended configurations.
|
|
500
|
+
|
|
501
|
+
### Setting WSL 2 as the Default Version
|
|
502
|
+
|
|
503
|
+
Ensure all new distributions use WSL 2:
|
|
504
|
+
|
|
505
|
+
```powershell
|
|
506
|
+
wsl --set-default-version 2
|
|
507
|
+
```
|
|
508
|
+
|
|
509
|
+
### Updating WSL
|
|
510
|
+
|
|
511
|
+
Keep WSL and the Linux kernel updated:
|
|
512
|
+
|
|
513
|
+
```powershell
|
|
514
|
+
wsl --update
|
|
515
|
+
```
|
|
516
|
+
|
|
517
|
+
### Configuring WSL Settings
|
|
518
|
+
|
|
519
|
+
Create a `.wslconfig` file in your Windows user profile directory (`C:\Users\<username>\.wslconfig`) to configure global WSL 2 settings:
|
|
520
|
+
|
|
521
|
+
```ini
|
|
522
|
+
[wsl2]
|
|
523
|
+
memory=8GB
|
|
524
|
+
processors=4
|
|
525
|
+
swap=2GB
|
|
526
|
+
localhostForwarding=true
|
|
527
|
+
```
|
|
528
|
+
|
|
529
|
+
**Configuration options**:
|
|
530
|
+
- `memory`: Maximum memory allocation for WSL 2 VM (default: 50% of host RAM)
|
|
531
|
+
- `processors`: Number of processors to allocate (default: all)
|
|
532
|
+
- `swap`: Swap file size (default: 25% of host RAM)
|
|
533
|
+
- `localhostForwarding`: Allow localhost to forward between Windows and WSL
|
|
534
|
+
|
|
535
|
+
After creating or modifying `.wslconfig`, restart WSL:
|
|
536
|
+
|
|
537
|
+
```powershell
|
|
538
|
+
wsl --shutdown
|
|
539
|
+
```
|
|
540
|
+
|
|
541
|
+
### Accessing Windows Files from Linux
|
|
542
|
+
|
|
543
|
+
Windows drives are mounted under `/mnt/` in WSL. Access your Windows files:
|
|
544
|
+
|
|
545
|
+
```bash
|
|
546
|
+
# Access C: drive
|
|
547
|
+
ls /mnt/c/Users/
|
|
548
|
+
|
|
549
|
+
# Access D: drive
|
|
550
|
+
ls /mnt/d/
|
|
551
|
+
```
|
|
552
|
+
|
|
553
|
+
### Accessing Linux Files from Windows
|
|
554
|
+
|
|
555
|
+
Access your WSL Linux files from Windows Explorer by navigating to:
|
|
556
|
+
|
|
557
|
+
```
|
|
558
|
+
\\wsl$\Ubuntu\home\<username>
|
|
559
|
+
```
|
|
560
|
+
|
|
561
|
+
Or from PowerShell:
|
|
562
|
+
|
|
563
|
+
```powershell
|
|
564
|
+
explorer.exe \\wsl$\Ubuntu\home
|
|
565
|
+
```
|
|
566
|
+
|
|
567
|
+
### Running Windows Commands from Linux
|
|
568
|
+
|
|
569
|
+
Execute Windows commands from within WSL:
|
|
570
|
+
|
|
571
|
+
```bash
|
|
572
|
+
# Open Windows Explorer in current directory
|
|
573
|
+
explorer.exe .
|
|
574
|
+
|
|
575
|
+
# Run a Windows executable
|
|
576
|
+
cmd.exe /c dir
|
|
577
|
+
|
|
578
|
+
# Open VS Code in current directory
|
|
579
|
+
code .
|
|
580
|
+
```
|
|
581
|
+
|
|
582
|
+
### Running Linux Commands from Windows
|
|
583
|
+
|
|
584
|
+
Execute Linux commands from PowerShell or Command Prompt:
|
|
585
|
+
|
|
586
|
+
```powershell
|
|
587
|
+
# Run a single command
|
|
588
|
+
wsl ls -la
|
|
589
|
+
|
|
590
|
+
# Run a command in a specific distribution
|
|
591
|
+
wsl -d Ubuntu cat /etc/os-release
|
|
592
|
+
```
|
|
593
|
+
|
|
594
|
+
---
|
|
595
|
+
|
|
596
|
+
## Common Issues
|
|
597
|
+
|
|
598
|
+
### Issue: WSL Uses Too Much Memory
|
|
599
|
+
|
|
600
|
+
**Symptoms**: Windows becomes slow; WSL 2 VM consumes excessive RAM
|
|
601
|
+
|
|
602
|
+
**Solution**: Limit memory allocation in `.wslconfig`:
|
|
603
|
+
|
|
604
|
+
Create `C:\Users\<username>\.wslconfig`:
|
|
605
|
+
|
|
606
|
+
```ini
|
|
607
|
+
[wsl2]
|
|
608
|
+
memory=4GB
|
|
609
|
+
```
|
|
610
|
+
|
|
611
|
+
Then restart WSL:
|
|
612
|
+
|
|
613
|
+
```powershell
|
|
614
|
+
wsl --shutdown
|
|
615
|
+
```
|
|
616
|
+
|
|
617
|
+
### Issue: Slow File Performance When Accessing Windows Files
|
|
618
|
+
|
|
619
|
+
**Symptoms**: Operations on `/mnt/c/` are slow
|
|
620
|
+
|
|
621
|
+
**Solution**: Store project files inside the Linux file system (`/home/username/`) rather than on Windows drives. Linux file operations within WSL are significantly faster than cross-filesystem operations.
|
|
622
|
+
|
|
623
|
+
```bash
|
|
624
|
+
# Move project to Linux filesystem
|
|
625
|
+
cp -r /mnt/c/Users/me/project ~/project
|
|
626
|
+
cd ~/project
|
|
627
|
+
```
|
|
628
|
+
|
|
629
|
+
### Issue: Network Connectivity Problems
|
|
630
|
+
|
|
631
|
+
**Symptoms**: Cannot access internet from within WSL
|
|
632
|
+
|
|
633
|
+
**Solution**: Reset the WSL network configuration:
|
|
634
|
+
|
|
635
|
+
```powershell
|
|
636
|
+
wsl --shutdown
|
|
637
|
+
netsh winsock reset
|
|
638
|
+
netsh int ip reset all
|
|
639
|
+
ipconfig /release
|
|
640
|
+
ipconfig /renew
|
|
641
|
+
ipconfig /flushdns
|
|
642
|
+
```
|
|
643
|
+
|
|
644
|
+
Restart your computer and start WSL again.
|
|
645
|
+
|
|
646
|
+
### Issue: Clock/Time Drift
|
|
647
|
+
|
|
648
|
+
**Symptoms**: Time inside WSL is incorrect or drifts from Windows time
|
|
649
|
+
|
|
650
|
+
**Solution**: Sync the WSL clock with Windows:
|
|
651
|
+
|
|
652
|
+
```bash
|
|
653
|
+
sudo hwclock -s
|
|
654
|
+
```
|
|
655
|
+
|
|
656
|
+
Or from Windows:
|
|
657
|
+
|
|
658
|
+
```powershell
|
|
659
|
+
wsl --shutdown
|
|
660
|
+
wsl
|
|
661
|
+
```
|
|
662
|
+
|
|
663
|
+
### Issue: GUI Applications Not Working (WSLg)
|
|
664
|
+
|
|
665
|
+
**Symptoms**: Linux GUI applications fail to launch or display
|
|
666
|
+
|
|
667
|
+
**Solution**: Ensure you are running Windows 11 or Windows 10 Build 21364+ with WSLg support. Update WSL:
|
|
668
|
+
|
|
669
|
+
```powershell
|
|
670
|
+
wsl --update
|
|
671
|
+
wsl --shutdown
|
|
672
|
+
```
|
|
673
|
+
|
|
674
|
+
### Issue: Docker Not Working in WSL 2
|
|
675
|
+
|
|
676
|
+
**Symptoms**: Docker commands fail or Docker daemon not running
|
|
677
|
+
|
|
678
|
+
**Solution**: Install Docker Desktop for Windows and enable WSL 2 integration:
|
|
679
|
+
|
|
680
|
+
1. Install Docker Desktop
|
|
681
|
+
2. Open Docker Desktop settings
|
|
682
|
+
3. Navigate to Resources > WSL Integration
|
|
683
|
+
4. Enable integration for your WSL distribution
|
|
684
|
+
|
|
685
|
+
Alternatively, install Docker Engine directly inside WSL 2 (see the Docker installation documentation).
|
|
686
|
+
|
|
687
|
+
---
|
|
688
|
+
|
|
689
|
+
## References
|
|
690
|
+
|
|
691
|
+
- [Microsoft Learn: Install WSL](https://learn.microsoft.com/en-us/windows/wsl/install)
|
|
692
|
+
- [Microsoft Learn: Manual Installation Steps for Older Versions of WSL](https://learn.microsoft.com/en-us/windows/wsl/install-manual)
|
|
693
|
+
- [Microsoft Learn: Basic Commands for WSL](https://learn.microsoft.com/en-us/windows/wsl/basic-commands)
|
|
694
|
+
- [Microsoft Learn: Comparing WSL Versions](https://learn.microsoft.com/en-us/windows/wsl/compare-versions)
|
|
695
|
+
- [Microsoft Learn: Troubleshooting WSL](https://learn.microsoft.com/en-us/windows/wsl/troubleshooting)
|
|
696
|
+
- [Microsoft Learn: WSL FAQ](https://learn.microsoft.com/en-us/windows/wsl/faq)
|
|
697
|
+
- [Microsoft WSL GitHub Repository](https://github.com/microsoft/WSL)
|
|
698
|
+
- [Chocolatey WSL2 Package](https://community.chocolatey.org/packages/wsl2)
|
|
699
|
+
- [Ubuntu on WSL Documentation](https://documentation.ubuntu.com/wsl/stable/)
|