Как установить PowerShell в Linux
Оглавление
Ubuntu 20.04 и Linux Mint 20.*
Arch Linux, Manjaro, BlackArch
Red Hat Enterprise Linux (RHEL) 7
Установка предварительных выпусков
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 в тех же местах.
Связанные статьи:
- Ошибка в PowerShell «New-Item: Access to the path '...' is denied» (РЕШЕНО) (100%)
- Ошибка 0x800702e4 при запуске `C:\Program Files\PowerShell\7-preview\pwsh.exe' (РЕШЕНО) (50%)
- Основы работы с PowerShell в Linux [Руководство для начинающих] (50%)
- Как проверить, запущен ли скрипт PowerShell или терминал PowerShell от имени администратора? (РЕШЕНО) (50%)
- Как запустить PowerShell с правами администратора (50%)
- Просмотр и поиск псевдонимов командлетов в PowerShell (RANDOM - 50%)