For Linux distributions that aren't officially supported, you can try to install PowerShell using the PowerShell Snap Package.You can also try deploying PowerShell binaries directly using the Linux tar.gz archive, but you would need to set up the necessary dependencies based on the OS in separate steps. Need 2 things, 1. When container is created use an init script to set /etc/localtime symlink and /etc/timezone and 2. For jenkins timezone is taken from two java options, these options need to be passed to the init script which starts the jenkins process. ' -Dorg.apache.commons.jelly.tags.fmt.timeZone=America/NewYork -Duser.timezone=America/NewYork '.

-->

All packages are available on our GitHub releases page. After the package is installed, runpwsh from a terminal. Run pwsh-preview if you installed aPreview 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 platform releases for PowerShell 7.1

  • Ubuntu 16.04/18.04/20.04 (including ARM64)
  • Ubuntu 19.10 (via Snap package)
  • Debian 9/10
  • CentOS and RHEL 7/8
  • Fedora 30
  • Alpine 3.11+ (including ARM64)

Officially supported platform releases for PowerShell 7.0

  • Ubuntu 16.04
  • Ubuntu 18.04 and 20.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

Macos catalina bootcamp not working together. Community supported releases

  • Ubuntu 18.10
  • Ubuntu 19.10 and 20.10
  • Arch Linux
  • Kali
  • Raspbian (experimental)

Alternate install methods

  • Snap Package
  • Binary Archives
  • .NET Global tool

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_7.1.3-1.ubuntu.16.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 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_7.1.3-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 20.04

Installation via Package Repository - Ubuntu 20.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 20.04

Download the Debian package powershell_7.1.3-1.ubuntu.20.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 20.04

Ubuntu 18.10

Installation is supported via snapd. For instructions, see Snap Package.

Note

Ubuntu 18.10 is an interim release that'scommunity supported.

Ubuntu 19.10 and 20.10

Installation is supported via snapd. For instructions, see Snap Package.

Note

Ubuntu 19.10 is an interim release that'scommunity supported.

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 update PowerShellwith 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 update PowerShellwith sudo apt-get install powershell.

Installation via Direct Download - Debian 9

Download the Debian package powershell_7.1.3-1.debian.9_amd64.deb from the releases pageonto the 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.1.3-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.1.3-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-7.1.3-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-7.1.3-1.rhel.7.x86_64.rpm from the releases page ontothe Red 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.1.3-1.rhel.7.x86_64.rpm from the releases page onto theFedora machine.

Then, in the terminal, execute the following commands:

Debian Jessie Install Docker-compose

You can install the RPM without the intermediate step of downloading it:

Uninstallation - Fedora 28, 29, and 30

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 theArch Linux wiki orUsing 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

Support for Arm processors

PowerShell can be installed on some Linux distributions. PowerShell is dependent on .NET support ofArm. PowerShell is supported on the following distributions:

  • Alpine Linux v3.11+ - .NET supports Arm64 but there is no installable package for PowerShell atthis time
  • Raspbian - see the installation instructions below
  • Debian v9+ - supports Arm32 and Arm64 using the Binary Archive installationmethod
  • Ubuntu 20.10, 20.04, 18.04, 16.04 - supports Arm32 and Arm64 using theBinary Archive installation method

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, likePi 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.

Note

You can use this method to install any version of PowerShell including the latest:

  • Stable release: https://aka.ms/powershell-release?tag=stable
  • Preview release: https://aka.ms/powershell-release?tag=preview
  • LTS release: https://aka.ms/powershell-release?tag=lts

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

Install Docker On Debian Jessie

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

The following example shows the steps for installing the x64 binary archive. You must choose thecorrect binary archive that matches the processor type for your platform.

  • powershell-7.1.3-linux-arm32.tar.gz
  • powershell-7.1.3-linux-arm64.tar.gz
  • powershell-7.1.3-linux-x64.tar.gz

Linux

Uninstalling binary archives

Paths

  • $PSHOME is /opt/microsoft/powershell/7/
  • User profiles are read from ~/.config/powershell/profile.ps1
  • Default profiles are read from $PSHOME/profile.ps1
  • User modules are read from ~/.local/share/powershell/Modules
  • Shared modules are read from /usr/local/share/powershell/Modules
  • Default modules are read from $PSHOME/Modules
  • PSReadLine history is 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

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.

Docker 命令大全

方法一、docker pull httpd

查找 Docker Hub 上的 httpd 镜像:

Debian 8 Install Docker-compose

可以通过 Sort by 查看其他版本的 httpd,默认是最新版本 httpd:latest

此外,我们还可以用 docker search httpd 命令来查看可用版本:

这里我们拉取官方的镜像

等待下载完成后,我们就可以在本地镜像列表里查到REPOSITORY为httpd的镜像。

方法二、通过 Dockerfile 构建

创建 Dockerfile

Debian

首先,创建目录apache,用于存放后面的相关东西。

www 目录将映射为 apache 容器配置的应用程序目录。

logs 目录将映射为 apache 容器的日志目录。

conf 目录里的配置文件将映射为 apache 容器的配置文件。

进入创建的 apache 目录,创建 Dockerfile。

Dockerfile文件中 COPY httpd-foreground /usr/local/bin/ 是将当前目录下的httpd-foreground拷贝到镜像里,作为httpd服务的启动脚本,所以我们要在本地创建一个脚本文件httpd-foreground

赋予 httpd-foreground 文件可执行权限。

通过 Dockerfile 创建一个镜像,替换成你自己的名字。

创建完成后,我们可以在本地的镜像列表里查找到刚刚创建的镜像。

使用 apache 镜像

运行容器

命令说明:

-p 80:80: 将容器的 80 端口映射到主机的 80 端口。

-v $PWD/www/:/usr/local/apache2/htdocs/: 将主机中当前目录下的 www 目录挂载到容器的 /usr/local/apache2/htdocs/。

-v $PWD/conf/httpd.conf:/usr/local/apache2/conf/httpd.conf: 将主机中当前目录下的 conf/httpd.conf 文件挂载到容器的 /usr/local/apache2/conf/httpd.conf。

-v $PWD/logs/:/usr/local/apache2/logs/: 将主机中当前目录下的 logs 目录挂载到容器的 /usr/local/apache2/logs/。

Debian Jessie Install Docker Linux

查看容器启动情况:

Debian Jessie Install Docker Ubuntu

通过浏览器访问

Docker 命令大全
Coments are closed
Scroll to top