Установка PowerShell Core в различных дистрибутивах Linux

PowerShell сегодня является открытой кроссплатформенной оболочкой и языком сценариев, который можно установить и использовать как в Windows, так и в Linux, MacOS и других платформах. В этой статье мы рассмотрим, как установить PowerShell в популярных дистрибутивах Linux (CentOS, RHEL, Debian, Kali, Mint, Ubuntu). Статья скорее всего будет полезна Windows администраторам, знакомым с PowerShell, перенести свой опыт в Linux.

На данный момент пакет PowerShell отсутствует почти во всех стандартных репозиториях Linux. Поэтому для установки PowerShell на Linux сначала нужно скачать пакет репозитория Microsoft, импортировать ключи и использовать стандартный менеджер пакетов вашего Linux дистрибутива для установки PowerShell.

Также напомним, что на Linux можно установить только PowerShell Core (основан на .NET Сore). В Linux нельзя штатно установить классический Windows PowerShell 5.1 (отличия между PowerShell Core и Windows PowerShell). На момент написания статьи максимальная доступная версия PowerShell Core 7.2 LTS.

Как установить PowerShell Core в Ubuntu 20.04 и Linux Mint 20?

Перед установкой PowerShell в Ubuntu и Linux Mint нужно обновить список пакетов:

sudo apt-get update -y

Скачайте GPG ключи репозитория Microsoft:

wget -q https://packages.microsoft.com/config/ubuntu/$(lsb_release -rs)/packages-microsoft-prod.deb -O packages-microsoft-prod.deb

Установите GPG ключи Microsoft:

sudo dpkg -i packages-microsoft-prod.deb

Обновите список пакетов, добавив пакеты из packages.microsoft.com:

sudo apt-get update

Установите PowerShell:
sudo apt-get install powershell -y

apt-get install - установка powershell в linux ubuntu

Пакет powershell будет автоматически обновляться менеджером пакетов apt:

sudo apt update

Если на компьютере была установлена предыдущая версия PowerShell Core, она будет удалена.

Также вы можете скачать и установить DEB пакет powershell вручную:

wget -q https://github.com/PowerShell/PowerShell/releases/download/v7.2.0/powershell-lts_7.2.0-1.deb_amd64.deb
sudo dpkg -i powershell_7.2.0-1.deb_amd64.deb

Разрешить зависимости и закончить установку:

sudo apt-get install -f

Установка PowerShell Core в Debian 11

Для установки PowerShell Core версии 7.0+ в Debian 11 bullseye, сначала нужно загрузить GPG ключи репозитория Microsoft:

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

Теперь нужно зарегистрировать скачанный GPG ключ:

sudo dpkg -i packages-microsoft-prod.deb

Обновите список программ в менеджере пакетов:

sudo apt update

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

sudo apt install -y powershell

установка powershell core в debian 11 bullseye

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

sudo apt update

Если нужно обновить только пакет PowerShell:

sudo apt install powershell

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

Установка PowerShell в Linux CentOS и Red Hat Enterprise Linux (RHEL), Oracle Linux выполняется одинаково:

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

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

Установите последнюю доступную версию PowerShell Core с помощью менеджера пакета yum (dnf):

sudo yum install -y powershell

установка powershell core в CentOS и RHEL через менеджер пакетов yum/dnf

Обновляется пакет стандартно через yum:

sudo yum update powershell

Также можно установить PowerShell из RPM файла:

sudo yum install https://github.com/PowerShell/PowerShell/releases/download/v7.2.0/powershell-lts-7.2.0-1.rh.x86_64.rpm

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

Чтобы установить PowerShell в Kali, достаточно выполнить команду:

apt update && apt -y install powershell

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

Вы можете использовать snap для установки PowerShell в различных дистрибутивах Linux. Так же этот метод установки можно рекомендовать для дистрибутивов Linux для которых нет официальной поддержки posh.

Команда установки PowerShell через snap:

sudo snap install powershell --classic

Обновление PowerShell через snap выполняется автоматически, но вы можете обновить его вручную:

sudo snap refresh powershell

Как удалить PowerShell в Linux?

Рассмотрим команды удаления PowerShell в различных дистрибутивах Linux:

  • Удалить PowerShell Core в Ubuntu/Linux Mint: sudo apt remove powershell
  • Удалить PowerShell в Debian: sudo apt remove powershell
  • Удалить PowerShell в Kali Linux: sudo apt -y remove powershell
  • Удаление PowerShell в CentOS и Red Hat Enterprise Linux (RHEL): sudo yum remove powershell
  • Удалить PowerShell через Snap: sudo snap remove powershell

Запуск и использование PowerShell в Linux

Чтобы запустить командную оболочку PowerShell в Linux, выполните команду:

pwsh

Проверить какая версию PowerShell установлена на данном хосте Ubuntu можно командой:

$PSVersionTable

При наборе команд PowerShell можно использовать стандартное автодополнение с клавишей TAB.

В нашем примере установлен PowerShell Core 7.2.0:

PSVersion 7.2.0
PSEdition Core
OS Linux 5.4.0-81-generic #91-Ubuntu SMP Thu Jul 15 19:09:17 UTC 2021
Platform Unix

проверить версию powershell в linux

Бросается в глаза, что команды в оболочке PowerShell выполняются в несколько раз дольше, чем в оболочке bash. Можно сравнить время выполнения с помощью простых команд:

time pwsh -Command Get-History
time bash -c history

время выполнения команд в bash и powershell

По умолчанию в Linux доступен небольшой список встроенных модулей:

Get-Module –ListAvailable

  • Microsoft.PowerShell.Archive
  • Microsoft.PowerShell.Host
  • Microsoft.PowerShell.Management
  • Microsoft.PowerShell.Security
  • Microsoft.PowerShell.Utility
  • PackageManagement
  • PowerShellGet
  • PSReadLine
  • ThreadJob

список powershell модулей в linux

Можно установить другие модули, в том числе VMWare PowerCLI.

Получить текущую дату:

Get-date

Узнать аптайм хоста:

get-Uptime

Вывести содержимое текущшего каталога:

Dir

Или

Get-ChildItem

запуск команд powershell в консоли Linux

Обратите внимание, что в Linux PowerShell регистр команд не имеет значения.

Вывести историю выполненных команд PowerShell:

History

Получить справку по команде:

Get-help Get-History

Для запуска скрипта PowerShell из bash:

pwsh /home/sysops/CheckDrive.ps1

Более подробно об особенностях и сценариях использования PowerShell для администрирования и автоматизации в Linux мы рассмотрим в следующей статье.

Предыдущая статья Следующая статья


Комментариев: 3 Оставить комментарий

Оставить комментарий

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

Я не робот( Обязательно отметьте)