Install Macos On Windows Subsystem For Linux

-->

  1. Windows Linux Subsystem Gui
  2. Install Macos On Windows Subsystem For Linux Download
  3. Install Macos On Windows Subsystem For Linux Windows 7
  4. 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:

  1. Open PowerShell as Administrator and enter this script:
  1. 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.

  1. Open the Microsoft Store and choose your favorite Linux distribution.

    The following links will open the Microsoft store page for each distribution:

  2. 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

Macos
  • 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 -fresolves 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 -fresolves 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 CommandPreview Command
Ubuntu, Debiansudo apt-get install -y powershellsudo apt-get install -y powershell-preview
CentOS, RedHatsudo yum install -y powershellsudo yum install -y powershell-preview
Fedorasudo dnf install -y powershellsudo 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.

OSDependencies
Ubuntu 16.04libc6, libgcc1, libgssapi-krb5-2, liblttng-ust0, libstdc++6,
libcurl3, libunwind8, libuuid1, zlib1g, libssl1.0.0, libicu55
Ubuntu 17.10libc6, libgcc1, libgssapi-krb5-2, liblttng-ust0, libstdc++6,
libcurl3, libunwind8, libuuid1, zlib1g, libssl1.0.0, libicu57
Ubuntu 18.04libc6, 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.3libcurl4, libopenssl1_0_0, libicu52_1
openSUSE Leap 15libcurl4, 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.