Как установить PowerShell в Linux

Оглавление

PowerShell для Linux

Ubuntu 16.04

Ubuntu 18.04

Ubuntu 20.04 и Linux Mint 20.*

Ubuntu 18.10

Ubuntu 19.10 и 20.10

Debian 8

Debian 9

Debian 10

Kali Linux

Arch Linux, Manjaro, BlackArch

Alpine 3.9 и 3.10

CentOS 7

Red Hat Enterprise Linux (RHEL) 7

openSUSE

Fedora

Snap Пакет

Поддержка ARM процессоров

Raspbian

Установка предварительных выпусков

Пути


PowerShell для Linux

Все пакеты в скомпилированном виде доступны на странице выпусков GitHub.

В настоящее время, за редким исключением, PowerShell отсутствует в стандартных репозиториях дистрибутива. Обычный процесс установки на производные Debian заключается в скачивании пакета, который добавляет новый репозиторий и импортирует ключи, после этого PowerShell и предварительную версию PowerShell можно установить обычным менеджером пакетов.

После установки для запуска PowerShell выполните:

pwsh

Если вы установили предварительную версию, то команда запуска следующая:

pwsh-preview

Установка PowerShell 7 удаляет PowerShell Core 6.x.

Обратите внимание, что в настоящее время по умолчанию в Windows предустановлен PowerShell 5, а здесь показана установка последней версии PowerShell 7. На Windows также можно установить PowerShell 7, но это версия не заменит предустановленную — будет 2 версии PowerShell, причём при запуске через «Меню продвинутого пользователя» (Win+x) будет открываться PowerShell 5, а при запуске Windows Terminal будет открываться PowerShell 7.


Ubuntu 16.04

Установка PowerShell 7 в Ubuntu 16.04.

Обновите список пакетов

sudo apt update

Установите необходимые пакеты

sudo apt install -y wget apt-transport-https software-properties-common

Загрузите GPG ключи репозитория Microsoft

wget -q https://packages.microsoft.com/config/ubuntu/16.04/packages-microsoft-prod.deb

Зарегистрируйте GPG ключи репозитория Microsoft

sudo dpkg -i packages-microsoft-prod.deb

Обновите список пакетов после добавления packages.microsoft.com

sudo apt update

Установите PowerShell

sudo apt install -y powershell

Запустите PowerShell

pwsh

Обновление PowerShell будет проходить автоматически при обновлении всех пакетов в системе. Вы можете отдельно запустить обновление PowerShell командами:

sudo apt update
sudo apt install powershell

Удаление в Ubuntu 16.04

sudo apt remove powershell

Ubuntu 18.04

Установка PowerShell 7 в Ubuntu 18.04.

Обновите список пакетов

sudo apt update

Установите необходимые пакеты

sudo apt install -y wget apt-transport-https software-properties-common

Загрузите GPG ключи репозитория Microsoft

wget -q https://packages.microsoft.com/config/ubuntu/18.04/packages-microsoft-prod.deb

Зарегистрируйте GPG ключи репозитория Microsoft

sudo dpkg -i packages-microsoft-prod.deb

Обновите список пакетов после добавления packages.microsoft.com

sudo apt update

Включите репозитории "universe"

sudo add-apt-repository universe

Установите PowerShell

sudo apt install -y powershell

Запустите PowerShell

pwsh

Обновление PowerShell будет проходить автоматически при обновлении всех пакетов в системе. Вы можете отдельно запустить обновление PowerShell командами:

sudo apt update
sudo apt install powershell

Удаление в Ubuntu 18.04

sudo apt remove powershell

Ubuntu 20.04 и Linux Mint 20.*

Установка PowerShell 7 в Ubuntu 20.04 и Linux Mint 20.*.

Обновите список пакетов

sudo apt update

Установите необходимые пакеты

sudo apt install -y wget apt-transport-https software-properties-common

Загрузите GPG ключи репозитория Microsoft

wget -q https://packages.microsoft.com/config/ubuntu/20.04/packages-microsoft-prod.deb

Зарегистрируйте GPG ключи репозитория Microsoft

sudo dpkg -i packages-microsoft-prod.deb

Обновите список пакетов после добавления packages.microsoft.com

sudo apt update

Включите репозитории "universe"

sudo add-apt-repository universe

Установите PowerShell

sudo apt install -y powershell

Запустите PowerShell

pwsh

Обновление PowerShell будет проходить автоматически при обновлении всех пакетов в системе. Вы можете отдельно запустить обновление PowerShell командами:

sudo apt update
sudo apt install powershell

Удаление в Ubuntu 20.04 и Linux Mint 20.*

sudo apt remove powershell

Ubuntu 18.10

Установка PowerShell 7 в Ubuntu 18.10.

Установка поддерживается через snapd. Смотрите инструкции в разделе «Установка с помощью Snap».

Ubuntu 18.10 — это промежуточный выпуск, поэтому для него отсутствует официальная поддержка PowerShell.


Ubuntu 19.10 и 20.10

Установка PowerShell 7 в Ubuntu 19.10 и 20.10.

Установка поддерживается через snapd. Смотрите инструкции в разделе «Установка с помощью Snap».

Ubuntu 19.10 и 20.10 — это промежуточные выпуски, поэтому для них отсутствует официальная поддержка PowerShell.


Debian 8

Установка PowerShell 7 в Debian 8.

Установка необходимых пакетов

sudo apt update
sudo apt install -y curl apt-transport-https

Импорт публичных GPG ключей репозитория

curl https://packages.microsoft.com/keys/microsoft.asc | sudo apt-key add -

Регистрация репозитория Microsoft Product

sudo sh -c 'echo "deb [arch=amd64] https://packages.microsoft.com/repos/microsoft-debian-jessie-prod jessie main" > /etc/apt/sources.list.d/microsoft.list'

Обновление списка программ

sudo apt update

Установка PowerShell

sudo apt install -y powershell

Запуск PowerShell

pwsh

Обновление PowerShell будет проходить автоматически при обновлении всех пакетов в системе. Вы можете отдельно запустить обновление PowerShell командами:

sudo apt update
sudo apt install powershell

Удаление в Debian 8

sudo apt remove powershell

Debian 9

Установка PowerShell 7 в Debian 9.

Установка необходимых пакетов

sudo apt update
sudo apt install -y curl gnupg apt-transport-https

Импорт публичных GPG ключей репозитория

curl https://packages.microsoft.com/keys/microsoft.asc | sudo apt-key add -

Регистрация репозитория Microsoft Product

sudo sh -c 'echo "deb [arch=amd64] https://packages.microsoft.com/repos/microsoft-debian-stretch-prod stretch main" > /etc/apt/sources.list.d/microsoft.list'

Обновление списка программ

sudo apt update

Установка PowerShell

sudo apt install -y powershell

Запуск PowerShell

pwsh

Обновление PowerShell будет проходить автоматически при обновлении всех пакетов в системе. Вы можете отдельно запустить обновление PowerShell командами:

sudo apt update
sudo apt install powershell

Удаление в Debian 9

sudo apt remove powershell

Debian 10

Установка PowerShell 7 в Debian 10.

Примечание: Debian 10 поддерживает только PowerShell 7.0 и новее.

Загрузка GPG ключей репозитория Microsoft

wget https://packages.microsoft.com/config/debian/10/packages-microsoft-prod.deb

Регистрация GPG ключей репозитория Microsoft

sudo dpkg -i packages-microsoft-prod.deb

Обновление списка программ

sudo apt update

Установка PowerShell

sudo apt install -y powershell

Запуск PowerShell

pwsh

Обновление PowerShell будет проходить автоматически при обновлении всех пакетов в системе. Вы можете отдельно запустить обновление PowerShell командами:

sudo apt update
sudo apt install powershell

Удаление в Debian 10

sudo apt remove powershell

Kali Linux

Установка PowerShell 7 в Kali Linux.

Установка PowerShell

sudo apt update && sudo apt -y install powershell

Запуск PowerShell

pwsh

Удаление PowerShell в Kali Linux

sudo apt -y remove powershell

Arch Linux, Manjaro, BlackArch

Установка PowerShell 7 в Arch Linux, Manjaro, BlackArch.

Рекомендуется установить утилиту pikaur по статье «Автоматическая установка и обновление пакетов AUR» и затем достаточно выполнить команду:

pikaur -S powershell-bin

Если вы не хотите устанавливать pikaur то для установки PowerShell выполните следующую последовательность команд:

git clone https://aur.archlinux.org/powershell-bin.git
cd powershell-bin
makepkg -si

Alpine 3.9 и 3.10

Установка PowerShell 7 в Alpine 3.9 и 3.10.

Примечание: Alpine 3.9 и 3.10 только поддерживаются в PowerShell 7.0 и более новых.

Загрузите пакет tar.gz package powershell-7.1.*-linux-alpine-x64.tar.gz со страницы выпусков на машину Alpine.

В терминале выполните следующие команды.

Установка зависимостей:

sudo apk add --no-cache ca-certificates less ncurses-terminfo-base krb5-libs libgcc libintl libssl1.1 libstdc++ tzdata userspace-rcu zlib icu-libs curl
sudo apk -X https://dl-cdn.alpinelinux.org/alpine/edge/main add --no-cache lttng-ust

Загрузите архив powershell '.tar.gz' (поменяйте адрес ссылки на актуальную версию):

curl -L https://github.com/PowerShell/PowerShell/releases/download/v7.1.3/powershell-7.1.3-linux-alpine-x64.tar.gz -o /tmp/powershell.tar.gz

Создайте целевую папку, где будет размещён powershell:

sudo mkdir -p /opt/microsoft/powershell/7

Распакуйте powershell в целевую папку:

sudo tar zxf /tmp/powershell.tar.gz -C /opt/microsoft/powershell/7

Добавьте разрешение на выполнение:

sudo chmod +x /opt/microsoft/powershell/7/pwsh

Создайте символическую ссылку, которая указывает на pwsh:

sudo ln -s /opt/microsoft/powershell/7/pwsh /usr/bin/pwsh

Запустите PowerShell:

pwsh

CentOS 7

Установка PowerShell 7 в CentOS 7.

Примечание: этот пакет работает на Oracle Linux 7.

Зарегистрируйте репозиторий Microsoft RedHat:

curl https://packages.microsoft.com/config/rhel/7/prod.repo | sudo tee /etc/yum.repos.d/microsoft.repo

Установите PowerShell:

sudo yum install -y powershell

Запустите PowerShell:

pwsh

Обновление PowerShell будет выполнять вместе с обновлением остальных пакетов в системе. Запустить отдельное обновление PowerShell можно командой:

sudo yum update powershell

Удаление из CentOS 7:

sudo yum remove powershell

Red Hat Enterprise Linux (RHEL) 7

Установка PowerShell 7 в Red Hat Enterprise Linux (RHEL) 7.

Зарегистрируйте репозиторий Microsoft RedHat:

curl https://packages.microsoft.com/config/rhel/7/prod.repo | sudo tee /etc/yum.repos.d/microsoft.repo

Установите PowerShell:

sudo yum install -y powershell

Запустите PowerShell:

pwsh

Обновление PowerShell будет выполнять вместе с обновлением остальных пакетов в системе. Запустить отдельное обновление PowerShell можно командой:

sudo yum update powershell

Удаление из Red Hat Enterprise Linux (RHEL) 7

sudo yum remove powershell

openSUSE

Установка PowerShell 7 в openSUSE 42.3

Установите зависимости:

zypper update && zypper --non-interactive install curl tar libicu52_1

Загрузите '.tar.gz' архив powershell:

curl -L https://github.com/PowerShell/PowerShell/releases/download/v7.1.3/powershell-7.1.3-linux-x64.tar.gz -o /tmp/powershell.tar.gz

Создайте целевую папку, где будет размещён powershell:

mkdir -p /opt/microsoft/powershell/7

Распакуйте powershell в целевую папку:

tar zxf /tmp/powershell.tar.gz -C /opt/microsoft/powershell/7

Добавьте разрешение на выполнение:

chmod +x /opt/microsoft/powershell/7/pwsh

Создайте символическую ссылку, которая указывает на pwsh:

ln -s /opt/microsoft/powershell/7/pwsh /usr/bin/pwsh

Запустите PowerShell:

pwsh

Установка PowerShell 7 в openSUSE Leap 15

Установите зависимости:

zypper update && zypper --non-interactive install curl tar gzip libopenssl1_0_0 libicu60_2

Загрузите '.tar.gz' архив powershell:

curl -L https://github.com/PowerShell/PowerShell/releases/download/v7.1.3/powershell-7.1.3-linux-x64.tar.gz -o /tmp/powershell.tar.gz

Создайте целевую папку, где будет размещён powershell:

mkdir -p /opt/microsoft/powershell/7

Распакуйте powershell в целевую папку:

tar zxf /tmp/powershell.tar.gz -C /opt/microsoft/powershell/7

Добавьте разрешение на выполнение:

chmod +x /opt/microsoft/powershell/7/pwsh

Создайте символическую ссылку, которая указывает на pwsh:

ln -s /opt/microsoft/powershell/7/pwsh /usr/bin/pwsh

Запустите PowerShell:

pwsh

Удаление из openSUSE 42.3, openSUSE Leap 15:

rm -rf /usr/bin/pwsh /opt/microsoft/powershell

Fedora

Примечание: Fedora 28 поддерживается только в PowerShell 6.1 и новее.

Примечание: Fedora 29 и 30 поддерживаются только в PowerShell 7.0 и новее.

Установка PowerShell 7 в Fedora 28, 29, и 30.

Зарегистрируйте GPG ключи репозитория Microsoft:

sudo rpm --import https://packages.microsoft.com/keys/microsoft.asc

Зарегистрируйте репозиторий Microsoft RedHat:

curl https://packages.microsoft.com/config/rhel/7/prod.repo | sudo tee /etc/yum.repos.d/microsoft.repo

Обновите список пакетов:

sudo dnf check-update

Установите зависимости:

sudo dnf install compat-openssl10

Установите PowerShell:

sudo dnf install -y powershell

Запустите PowerShell:

pwsh

Snap пакет

Установка PowerShell с помощью Snap.

Установка PowerShell:

sudo snap install powershell --classic

Запуск PowerShell:

pwsh

Для установки предварительной версии используйте следующий метод.

Установка PowerShell Preview:

sudo snap install powershell-preview --classic

Запуск PowerShell:

pwsh-preview

После установки Snap автоматически будет обновлять PowerShell. Вы можете принудительно запустить обновления используя одну из следующих команд:

sudo snap refresh powershell

Или:

sudo snap refresh powershell-preview

Удаление:

sudo snap remove powershell

Или:

sudo snap remove powershell-preview

Поддержка ARM процессоров

PowerShell может быть установлен на некоторые дистрибутивы Linux. PowerShell зависит от поддержки .NET на ARM. PowerShell поддерживается на следующих ARM дистрибутивах:

  • Alpine Linux v3.11+ — .NET поддерживает Arm64 но сейчас отсутствует установочный пакет PowerShell
  • Raspbian — смотрите инструкцию по установке ниже
  • Debian v9+ — поддерживает Arm32 и Arm64 используя метод установки бинарных файлов из архива
  • Ubuntu 20.10, 20.04, 18.04, 16.04 — поддерживает Arm32 и Arm64 используя метод установки бинарных файлов из архива

Raspbian

Установка PowerShell 7 в Raspbian.

Поддержка Raspbian является эксперементальной.

В настоящее время, PowerShell только поддерживается на Raspbian Stretch.

CoreCLR и PowerShell будут работать только на устройствах Pi 2 и Pi 3, а другие устройства, такие как Pi Zero, имеют неподдерживаемый процессор.

Загрузитье Raspbian Stretch и следуйте последующим инструкциям по установки чтобы получить PowerShell на вашем устройстве Pi.

Обновите кэш установочных файлов:

sudo apt update

Установка libunwind8 и libssl1.0. Используется регулярное выражение, чтобы убедиться, что мы не будем устанавливать libssl1.0-dev, так как этот пакет не нужен:

sudo apt install '^libssl1.0.[0-9]$' libunwind8 -y

Загрузите и извлеките PowerShell. Поменяйте ссылку на самую последую версию в формате tar.gz:

wget https://github.com/PowerShell/PowerShell/releases/download/v7.1.3/powershell-7.1.3-linux-arm32.tar.gz

Сделайте папку для powershell:

mkdir ~/powershell

Распакуйте tar.gz файл:

tar -xvf ./powershell-7.1.3-linux-arm32.tar.gz -C ~/powershell

Запустите PowerShell:

~/powershell/pwsh

Опционально, вы можете сделать символическую ссылку для запуска PowerShell без указания пути до исполнимого файла pwsh.

Запустите PowerShell из bash с sudo для создания символической ссылки:

sudo ~/powershell/pwsh -c New-Item -ItemType SymbolicLink -Path "/usr/bin/pwsh" -Target "$PSHOME/pwsh" -Force

В качестве альтернативы, вы можете запустить следующую команду для создания символической ссылки:

# sudo ln -s ~/powershell/pwsh /usr/bin/pwsh

Теперь для запуска PowerShell достаточно просто набрать "pwsh".

Удаление из Raspbian:

rm -rf ~/powershell

Установка предварительных выпусков

При установке версии PowerShell Preview для Linux через репозиторий пакетов имя пакета меняется с powershell на powershell-preview.

Установка через прямую загрузку не меняется, кроме имени файла.

В следующей таблице приведены команды для установки пакетов стабильной и предварительной версии с помощью различных менеджеров пакетов:

Установка PowerShell Preview в Linux:

Дисбрибутив(ы) Команда для установки стабильной версии Команда для установки предварительной версии
Ubuntu, Debian sudo apt install -y powershell sudo apt 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

Пути

  • $PSHOME это /opt/microsoft/powershell/7/
  • Профили пользователей считываются из ~/.config/powershell/profile.ps1
  • Дефолтные профили считываются из $PSHOME/profile.ps1
  • Пользовательские модули считываются из ~/.local/share/powershell/Modules
  • Совместные модули считываются из /usr/local/share/powershell/Modules
  • Дефолтные модули считываются из $PSHOME/Modules
  • PSReadLine история записывается в ~/.local/share/powershell/PSReadLine/ConsoleHost_history.txt

Профили учитывают конфигурацию PowerShell для каждого хоста, поэтому профили для конкретного хоста по умолчанию существуют в Microsoft.PowerShell_profile.ps1 в тех же местах.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *