Edit

Share via


Install PowerShell 7 on Debian

There are multiple package versions of PowerShell 7 that can be installed. This article focuses on installing the latest stable release package. For more information about the package versions, see the PowerShell Support Lifecycle article.

Newer versions of PowerShell 7 replace existing previous versions of PowerShell 7. Preview versions of PowerShell can be installed side-by-side with other versions of PowerShell. Newer preview versions replace existing previous preview versions. If you need to run PowerShell 7.5 side-by-side with a previous version, reinstall the previous version using the binary archive method.

Choose an installation method

On Debian Linux, you can install PowerShell using the universal .deb package from the Microsoft package repository or by downloading a file from the GitHub releases page.

Install PowerShell 7 from the Package Repository

Microsoft builds and supports a variety of software products for Linux systems and makes them available via Linux packaging clients (apt, dnf, yum, etc). These Linux software packages are hosted on the Linux package repository for Microsoft products, https://packages.microsoft.com, also known as PMC.

Installing PowerShell from PMC is the preferred method of installation.

Note

This script only works for supported versions of Debian that have a package published to the Microsoft package repository.

#!/bin/bash
###################################
# Prerequisites

# Update the list of packages
sudo apt-get update

# Install pre-requisite packages.
sudo apt-get install -y wget

# Get the version of Debian
source /etc/os-release

# Download the Microsoft repository GPG keys
wget -q https://packages.microsoft.com/config/debian/$VERSION_ID/packages-microsoft-prod.deb

# Register the Microsoft repository GPG keys
sudo dpkg -i packages-microsoft-prod.deb

# Delete the Microsoft repository GPG keys file
rm packages-microsoft-prod.deb

# Update the list of packages after we added packages.microsoft.com
sudo apt-get update

###################################
# Install PowerShell
sudo apt-get install -y powershell

# Start PowerShell
pwsh

Manually download and install PowerShell 7

Download the universal package from the GitHub releases page. Choose the link for the version you want to install.

  • PowerShell 7.5 universal package for supported versions of Debian
    • https://github.com/PowerShell/PowerShell/releases/download/v7.5.4/powershell_7.5.4-1.deb_amd64.deb
  • PowerShell 7.4 (LTS) universal package for supported versions of Debian
    • https://github.com/PowerShell/PowerShell/releases/download/v7.4.13/powershell_7.4.13-1.deb_amd64.deb
  • PowerShell 7.6-preview universal package for supported versions of Debian
    • https://github.com/PowerShell/PowerShell/releases/download/v7.6.0-rc1/powershell-preview_7.6.0-rc1-1.deb_amd64.deb

The following shell script downloads and installs the current release of PowerShell. You can change the URL to download the version of PowerShell that you want to install.

#!/bin/bash
###################################
# Prerequisites

# Update the list of packages
sudo apt-get update

# Install pre-requisite packages.
sudo apt-get install -y wget

# Download the PowerShell package file
wget https://github.com/PowerShell/PowerShell/releases/download/v7.5.4/powershell_7.5.4-1.deb_amd64.deb

###################################
# Install the PowerShell package
sudo dpkg -i powershell_7.5.4-1.deb_amd64.deb

# Resolve missing dependencies and finish the install (if necessary)
sudo apt-get install -f

# Delete the downloaded package file
rm powershell_7.5.4-1.deb_amd64.deb

# Start PowerShell
pwsh

Start PowerShell 7

After the package is installed, run pwsh from a terminal. If you have installed a Preview package, run pwsh-preview.

  • The location of $PSHOME varies based on the package you installed.
    • For Stable and LTS packages: /opt/microsoft/powershell/7/
    • For Preview packages: /opt/microsoft/powershell/7-preview/
  • The profiles scripts are stored in the following locations:
    • AllUsersAllHosts - $PSHOME/profile.ps1
    • AllUsersCurrentHost - $PSHOME/Microsoft.PowerShell_profile.ps1
    • CurrentUserAllHosts - ~/.config/powershell/profile.ps1
    • CurrentUserCurrentHost - ~/.config/powershell/Microsoft.PowerShell_profile.ps1
  • Modules are stored in the following locations:
    • User modules - ~/.local/share/powershell/Modules
    • Shared modules - /usr/local/share/powershell/Modules
    • Default modules - $PSHOME/Modules
  • PSReadLine history is recorded in ~/.local/share/powershell/PSReadLine/ConsoleHost_history.txt

The profiles respect PowerShell's per-host configuration, so the default host-specific profiles exists at Microsoft.PowerShell_profile.ps1 in the same locations.

PowerShell respects the XDG Base Directory Specification on Linux.

Uninstall PowerShell 7

sudo apt-get remove powershell

Supported OS versions

Microsoft supports PowerShell until PowerShell reaches end-of-support or the version of Debian reaches end-of-life.

Support for these versions of Debian ends on the following dates:

  • Debian 13 - 2028-08-09
  • Debian 12 - 2026-06-10

Install package files (.deb) are also available from https://packages.microsoft.com/.

The Docker images for the .NET SDK contain the latest versions of PowerShell. These images are available from the Microsoft Artifact Registry.

These images are built from official operating system (OS) images provide by the OS distributor. These images may not have the latest security updates. Microsoft recommends that you update the OS packages to the latest version to ensure the latest security updates are applied.

These images are provided for testing purposes. If you need a Docker image for a production workload, you should build and maintain your own.

Supported installation methods

Microsoft supports the installation methods in this document. There may be other methods of installation available from other third-party sources. While those tools and methods may work, Microsoft can't support those methods.