-->
- Windows Linux Subsystem Gui
- Install Macos On Windows Subsystem For Linux Download
- Install Macos On Windows Subsystem For Linux Windows 7
- Install Macos On Windows Subsystem For Linux Mac
The following guide will walk through the steps required to install the Windows Subsystem for Linux (WSL) on a computer running Windows 10.
Install Hugo on macOS, Windows, Linux, OpenBSD, FreeBSD, and on any machine where the Go compiler tool chain can run. There is lots of talk about “Hugo being written in Go”, but you don’t need to install Go to enjoy Hugo. Sep 24, 2019 Setting up Windows Subsystem for Linux involves installing a Linux distribution alongside Windows 10. But in a way that allows the two different operating systems to interact with each other. To install Windows Subsystem for Linux on Windows, the only requirement is that you have a 64-bit Windows 10 device.
Enable the Windows Subsystem for Linux optional feature
Before installing a Linux distribution, you must enable the 'Windows Subsystem for Linux' optional feature on Windows 10:
- Open PowerShell as Administrator and enter this script:
- Restart your computer when prompted.
Install a Linux distribution
There are three ways to download and install your preferred Linux distribution(s):
- Download and install from the Microsoft Store (see below)
Install from the Microsoft Store
Linux distributions can be installed from the Microsoft Store on Windows 10 (Build 16215+).
Note
Follow these steps to check your Windows 10 build number.
Open the Microsoft Store and choose your favorite Linux distribution.
The following links will open the Microsoft store page for each distribution:
Select 'Get' and once the distribution has finished downloading, select 'Launch'.
Complete initialization of your distro
After launching your Linux distribution, follow the onscreen instructions to initialize your distro.
Note
For Windows Server, launch your distribution using the executable, <distro>.exe
, in the installation folder.
The first time a newly installed distribution runs, a console window will open and you'll be asked to wait for a minute or two for the installation to complete. During this final stage of installation, the distro's files are de-compressed and stored on your PC, ready for use. This may take around a minute or more depending on the performance of your PC's storage devices. This initial installation phase is only required when a distro is clean-installed - all future launches should take less than a second.
Set up a new Linux user account
Once installation is complete, you will be prompted to create a new user account (and its password).
This user account is for the normal non-admin user that you'll be logged-in as by default when launching a distribution. You can choose any username and password you wish - they have no bearing on your Windows username.
When you open a new distro instance, you won't be prompted for your password, but if you elevate a process using sudo
, you will need to enter your password, so make sure you choose a password you can easily remember! See the User Support page for more info.
Update & upgrade packages
Most distributions ship with an empty or minimal package catalog. We strongly recommend regularly updating your package catalog and upgrading your installed packages using your distro's preferred package manager. For Debian/Ubuntu, use apt:
Windows does not automatically update or upgrade your Linux distro(s). This is a task that the most Linux users prefer to control themselves.
Enjoy using your new Linux distro on WSL!
Troubleshooting
Below are related installation errors and suggested fixes. Refer to the WSL troubleshooting page for other common errors and their solutions.
Installation failed with error 0x8007007e
This error occurs when your system doesn't support Linux from the store. Make sure that:
- You're running Windows build 16215 or later. Check your build.
- The Windows Subsystem for Linux optional component is enabled and the computer has restarted. Make sure WSL is enabled.
Installation failed with error 0x80070003
The Windows Subsystem for Linux only runs on your system drive (usually this is your C:
drive). Make sure that distros are stored on your system drive:
Open Settings -> Storage -> More Storage Settings: Change where new content is saved
WslRegisterDistribution failed with error 0x8007019e
The Windows Subsystem for Linux optional component is not enabled:
- Open Control Panel -> Programs and Features -> Turn Windows Feature on or off -> Check Windows Subsystem for Linux or using the PowerShell cmdlet mentioned at the begining of this article.
All packages are available on our GitHub releases page. After the package is installed, runpwsh
from a terminal. Run pwsh-preview
if you installed a Preview release.
Note
PowerShell 7 is an in-place upgrade that removes PowerShell Core 6.x.
The /usr/local/microsoft/powershell/6
folder is replaced by /usr/local/microsoft/powershell/7
.
If you need to run PowerShell 6 side-by-side with PowerShell 7, reinstall PowerShell 6 using thebinary archive method.
For Linux distributions that aren't officially supported, you can try to install PowerShell usingthe PowerShell Snap Package. You can also try deploying PowerShell binaries directly usingthe Linux tar.gz
archive, but you would need to set up the necessary dependencies based onthe OS in separate steps.
Officially supported releases
- Ubuntu 16.04
- Ubuntu 18.04
- Debian 8
- Debian 9
- Debian 10
- Alpine 3.9 and 3.10
- CentOS 7
- Red Hat Enterprise Linux (RHEL) 7
- Fedora 28
- Fedora 29
- Fedora 30
- openSUSE 42.3
- openSUSE Leap 15
Community supported releases
- Ubuntu 18.10
- Ubuntu 19.04
- Arch Linux
- Kali
- Raspbian (experimental)
Alternate install methods
- Snap Package
- Binary Archives
- .NET Global tool
Not currently supported
- Ubuntu 20.04
Note
PowerShell can only support the distributions that are supported by .NET. See the.NET Core release notes for a list of supported distributions. If there is adistrbution supported by .NET that is not listed here, you can request that support for thedistribution be added. Please file a request using the Distribution Support Request template.
Ubuntu 16.04
Installation via Package Repository - Ubuntu 16.04
PowerShell for Linux is published to package repositories for easy installation and updates.
The preferred method is as follows:
As superuser, register the Microsoft repository once. After registration, you can updatePowerShell with sudo apt-get install powershell
.
Installation via Direct Download - Ubuntu 16.04
Download the Debian package powershell-lts_7.0.2-1.ubuntu.16.04_amd64.deb
from the releases pageonto the Ubuntu machine.
Then, in the terminal, execute the following commands:
Note
Windows Linux Subsystem Gui
The dpkg -i
command fails with unmet dependencies. The next command, apt-get install -f
resolves these issues then finishes configuring the PowerShell package.
Uninstallation - Ubuntu 16.04
Ubuntu 18.04
Installation via Package Repository - Ubuntu 18.04
PowerShell for Linux is published to package repositories for easy installation and updates.
The preferred method is as follows:
As superuser, register the Microsoft repository once. After registration, you can updatePowerShell with sudo apt-get install powershell
.
Installation via Direct Download - Ubuntu 18.04
Download the Debian package powershell-lts_7.0.2-1.ubuntu.18.04_amd64.deb
from the releases pageonto the Ubuntu machine.
Then, in the terminal, execute the following commands:
Note
The dpkg -i
command fails with unmet dependencies. The next command, apt-get install -f
resolves these issues then finishes configuring the PowerShell package.
Uninstallation - Ubuntu 18.04
Ubuntu 18.10
Installation is supported via snapd
. For instructions, see Snap Package.
Note
Install Macos On Windows Subsystem For Linux Download
Ubuntu 18.10 is an interim release that's community supported.
Ubuntu 19.04
Installation is supported via snapd
. For instructions, see Snap Package.
Note
Ubuntu 19.04 is an interim release that's community supported.
Ubuntu 20.04
Ubuntu 20.04 is an LTS release. PowerShell does not currently support this version. Support for thisversion is being considered for the PowerShell 7.1 release. Please upvote this requestif you would like support for Ubuntu 20.04.
Debian 8
Installation via Package Repository - Debian 8
PowerShell for Linux is published to package repositories for easy installation and updates.
The preferred method is as follows:
As superuser, register the Microsoft repository once. After registration, you can updatePowerShell with sudo apt-get install powershell
.
Debian 9
Installation via Package Repository - Debian 9
PowerShell for Linux is published to package repositories for easy installation and updates.
The preferred method is as follows:
As superuser, register the Microsoft repository once. After registration, you can updatePowerShell with sudo apt-get install powershell
.
Installation via Direct Download - Debian 9
Download the Debian package powershell-lts_7.0.2-1.debian.9_amd64.deb
from the releases page ontothe Debian machine.
Then, in the terminal, execute the following commands:
Uninstallation - Debian 9
Debian 10
Note
Debian 10 is only supported in PowerShell 7.0 and newer.
Installation via Package Repository - Debian 10
PowerShell for Linux is published to package repositories for easy installation and updates.
The preferred method is as follows:
Installation via Direct Download - Debian 10
Download the tar.gz package powershell-7.0.2-linux-x64.tar.gz
from the releases pageonto the Debian machine.
Then, in the terminal, execute the following commands:
Alpine 3.9 and 3.10
Note
Alpine 3.9 and 3.10 are only supported in PowerShell 7.0 and newer.
Installation via Direct Download - Alpine 3.9 and 3.10
Download the tar.gz package powershell-7.0.2-linux-alpine-x64.tar.gz
from the releases page ontothe Alpine machine.
Then, in the terminal, execute the following commands:
CentOS 7
Installation via Package Repository (preferred) - CentOS 7
PowerShell for Linux is published to official Microsoft repositories for easy installation andupdates.
As superuser, register the Microsoft repository once. After registration, you can update PowerShellwith sudo yum update powershell
.
Installation via Direct Download - CentOS 7
Using CentOS 7, download the RPM package powershell-lts-7.0.2-1.rhel.7.x86_64.rpm
from the releasespage onto the CentOS machine.
Then, in the terminal, execute the following commands:
You can install the RPM without the intermediate step of downloading it:
Uninstallation - CentOS 7
Red Hat Enterprise Linux (RHEL) 7
Installation via Package Repository (preferred) - Red Hat Enterprise Linux (RHEL) 7
PowerShell for Linux is published to official Microsoft repositories for easy installation andupdates.
As superuser, register the Microsoft repository once. After registration, you can update PowerShellwith sudo yum update powershell
.
Installation via Direct Download - Red Hat Enterprise Linux (RHEL) 7
Download the RPM package powershell-lts-7.0.2-1.rhel.7.x86_64.rpm
from the releases page onto theRed Hat Enterprise Linux machine.
Then, in the terminal, execute the following commands:
You can install the RPM without the intermediate step of downloading it:
Uninstallation - Red Hat Enterprise Linux (RHEL) 7
openSUSE
Installation - openSUSE 42.3
Installation - openSUSE Leap 15
Uninstallation - openSUSE 42.3, openSUSE Leap 15
Fedora
Note
Fedora 28 is only supported in PowerShell 6.1 and newer.
Note
Fedora 29 and 30 are only supported in PowerShell 7.0 and newer.
Installation via Package Repository (preferred) - Fedora 28, 29, and 30
PowerShell for Linux is published to official Microsoft repositories for easy installation andupdates.
Installation via Direct Download - Fedora 28, 29, and 30
Download the RPM package powershell-7.0.2-1.rhel.7.x86_64.rpm
from the releases page onto theFedora machine.
Then, in the terminal, execute the following commands:
You can install the RPM without the intermediate step of downloading it:
Uninstallation - Fedora 28, 29, and 30
Install Macos On Windows Subsystem For Linux Windows 7
Arch Linux
Note
Arch support is not officially supported by Microsoft and is maintained by the community.
PowerShell is available from the Arch Linux User Repository (AUR).
- It can be compiled with the latest tagged release
- It can be compiled from the latest commit to master
- It can be installed using the latest release binary
Packages in the AUR are community maintained; there's no official support.
For more information on installing packages from the AUR, see the Arch Linux wikior Using PowerShell in Docker.
Snap Package
Getting snapd
snapd
is required to run snaps. Use these instructionsto make sure you have snapd
installed.
Installation via Snap
PowerShell for Linux is published to the Snap store for easyinstallation and updates.
The preferred method is as follows:
To install a preview version, use the following method:
After installation, Snap will automatically upgrade. You can trigger an upgrade usingsudo snap refresh powershell
or sudo snap refresh powershell-preview
.
Uninstallation
or
Kali
Note
Kali support is not officially supported by Microsoft and is maintained by the community.
Installation - Kali
Uninstallation - Kali
Raspbian
Currently, PowerShell is only supported on Raspbian Stretch.
CoreCLR and PowerShell will only work on Pi 2 and Pi 3 devices as other devices, like Pi Zero,have an unsupported processor.
Download Raspbian Stretch and follow theinstallation instructionsto get it onto your Pi.
Installation - Raspbian
Optionally, you can create a symbolic link to start PowerShell without specifying the path to thepwsh
binary.
Uninstallation - Raspbian
Installing Preview Releases
When installing a PowerShell Preview release for Linux via a Package Repository, the package namechanges from powershell
to powershell-preview
.
Installing via direct download doesn't change, other than the file name.
The following table contains the commands to install the stable and preview packages using thevarious package managers:
Distribution(s) | Stable Command | Preview Command |
---|---|---|
Ubuntu, Debian | sudo apt-get install -y powershell | sudo apt-get install -y powershell-preview |
CentOS, RedHat | sudo yum install -y powershell | sudo yum install -y powershell-preview |
Fedora | sudo dnf install -y powershell | sudo dnf install -y powershell-preview |
Install as a .NET Global tool
If you already have the .NET Core SDK installed, it's easy to install PowerShellas a .NET Global tool.
The dotnet tool installer adds ~/.dotnet/tools
to your PATH
environment variable. However, thecurrently running shell does not have the updated PATH
. You should be able to start PowerShellfrom a new shell by typing pwsh
.
Binary Archives
PowerShell binary tar.gz
archives are provided for Linux platforms to enable advanced deploymentscenarios.
Dependencies
PowerShell builds portable binaries for all Linux distributions. But, .NET Core runtime requiresdifferent dependencies on different distributions, and PowerShell does too.
The following chart shows the .NET Core 2.0 dependencies that are officially supported on differentLinux distributions.
OS | Dependencies |
---|---|
Ubuntu 16.04 | libc6, libgcc1, libgssapi-krb5-2, liblttng-ust0, libstdc++6, libcurl3, libunwind8, libuuid1, zlib1g, libssl1.0.0, libicu55 |
Ubuntu 17.10 | libc6, libgcc1, libgssapi-krb5-2, liblttng-ust0, libstdc++6, libcurl3, libunwind8, libuuid1, zlib1g, libssl1.0.0, libicu57 |
Ubuntu 18.04 | libc6, libgcc1, libgssapi-krb5-2, liblttng-ust0, libstdc++6, libcurl3, libunwind8, libuuid1, zlib1g, libssl1.0.0, libicu60 |
Debian 8 (Jessie) | libc6, libgcc1, libgssapi-krb5-2, liblttng-ust0, libstdc++6, libcurl3, libunwind8, libuuid1, zlib1g, libssl1.0.0, libicu52 |
Debian 9 (Stretch) | libc6, libgcc1, libgssapi-krb5-2, liblttng-ust0, libstdc++6, libcurl3, libunwind8, libuuid1, zlib1g, libssl1.0.2, libicu57 |
CentOS 7 Oracle Linux 7 RHEL 7 | libunwind, libcurl, openssl-libs, libicu |
openSUSE 42.3 | libcurl4, libopenssl1_0_0, libicu52_1 |
openSUSE Leap 15 | libcurl4, libopenssl1_0_0, libicu60_2 |
Fedora 27 Fedora 28 | libunwind, libcurl, openssl-libs, libicu, compat-openssl10 |
To deploy PowerShell binaries on Linux distributions that aren't officially supported, you need toinstall the necessary dependencies for the target OS in separate steps. For example, ourAmazon Linux dockerfile installs dependencies first, and then extracts theLinux tar.gz
archive.
Installation - Binary Archives
Linux
Uninstalling binary archives
Paths
$PSHOME
is/opt/microsoft/powershell/7/
- User profiles will be read from
~/.config/powershell/profile.ps1
- Default profiles will be read from
$PSHOME/profile.ps1
- User modules will be read from
~/.local/share/powershell/Modules
- Shared modules will be read from
/usr/local/share/powershell/Modules
- Default modules will be read from
$PSHOME/Modules
- PSReadLine history will be recorded to
~/.local/share/powershell/PSReadLine/ConsoleHost_history.txt
The profiles respect PowerShell's per-host configuration, so the default host-specific profilesexists at Microsoft.PowerShell_profile.ps1
in the same locations.
PowerShell respects the XDG Base Directory Specification on Linux.
Installation support
Install Macos On Windows Subsystem For Linux Mac
Microsoft supports the installation methods in this document. There may be other methods ofinstallation available from other sources. While those tools and methods may work, Microsoft cannotsupport those methods.