Как в Windows 10 устанавливать программы с онлайн-репозиториев с помощью PowerShell

Shell

В отличие от Linux, в которой приложения традиционно устанавливаются из внешних репозиториев, в ОС Windows установка большинство десктопных программ выполняется из EXE или MSI-файла, реже с помощью веб-установщика, загружающего на ПК исполняемый файл. По мнению приверженцев Linux, этот способ имеет целый ряд недостатков, так, во-первых, нужную программу приходится вручную искать в интернете, во-вторых, при этом всегда есть риск загрузить устаревшую или зараженную вирусами версию.

И действительно, установка программного обеспечения из доверенных репозиториев снижает риск «подхватить» вирус, помогает сэкономить потраченное на поиск нужного ПО время, да и вообще, существенно упрощает процедуру инсталляции и обновления программных пакетов. Впрочем, возможность установки приложений из внешних репозиторием присутствует и в Windows, просто эта функция не получила широкого признания. Так, в десятой версии Windows имеется специальный модуль PackageManagement, позволяющий скачивать и устанавливать приложения из онлайнового или локального источника, используя командную строку PowerShell.

Чтобы просмотреть список доступных комадлетов, запустите PowerShell от имени администратора и выполните команду Get-Command -Module PackageManagement.

PackageManagement

В текущей версии модуля имеется 13 командлентов. Вот они:

Get-Package — выводит список инсталлированных программ и компонентов.
Get-PackageProvider — с помощью этой команды можно получить список поддерживаемых поставщиков программного обеспечения.
Find-Package — команда выполняет поиск программ в источнике.
Get-PackageSource — получение списка источников.
Install-Package — команда производит установку программы на компьютер.
Uninstall-Package — удаление программы.
Register-PackageSource — добавление источника программ для поддерживаемого поставщика.
Save-Package — сохранение дистрибутива приложения без инсталляции на компьютер.
Set-PackageSource — установка поставщика в качестве источника пакетов.
Unregister-PackageSource — удаление поставщика из списка источников пакетов.

Теперь давайте посмотрим, как всем этим пользоваться. Для начала нужно узнать, какие поставщики ПО поддерживаются. Запустите PowerShell от имени администратора и выполните такую команду:

Find-PackageProvider

Скорее всего, после выполнения команды вы получите предложение установить поставщика nuget. Nuget, равно как PSGallery и еще целый ряд провайдеров больше ориентированы на системных администраторов, обычным же пользователям больше подойдет Chocolatey, тем не менее, его стоит установить, чтобы в дальнейшем система больше его не предлагала.

Find-PackageProvider

Поэтому вводим y, жмем ввод и получаем список доступных провайдеров. Теперь подключим поставщика Chocolatey, выполнив указанную ниже команды и подтвердив установку вводом y:

Install-PackageProvider chocolatey

Обратите также внимание на предупреждение, что поставщик Chocolatey не отмечен как надежный.

Install-PackageProvider chocolatey

Это значит, что каждый раз при установке пакета будет запрашиваться подтверждение. Чтобы его отключить, нужно внести провайдера в список доверенных, выполнив следующую команду:

Set-PackageSource -Name chocolatey -Trusted

При этом в корне системного диска у вас должна появиться папка Chocolatey.

Set-PackageSource -Name chocolatey -Trusted

Теперь убедимся, что провайдер установлен и с ним можно работать:

Get-PackageSource

На положительный результат будет указывать флаг true в колонке InTrast. Итак, поставщик подключен, теперь давайте установим на компьютер какое-нибудь приложение. Естественно, для этого нам нужно знать, имеется ли оно в базе Chocolatey. Тут есть два варианта — можно зайти на официальный сайт поставщика chocolatey.org/packages и вбить его название в поисковую форму.

Chocolatey

Либо выполнить поиск прямо в консоли PowerShell, воспользовавшись командлетом Find-Package. Найдем и установим браузер Opera. Выполняем команду поиска, указав в качестве параметра Name название программы и название поставщика в качестве параметра Source:

Find-Package -Name *Opera* -Source Chocolatey

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

Find-Package

Политика меняется такой командой:

Set-ExecutionPolicy Unrestricted

Set-ExecutionPolicy Unrestricted

Теперь загрузим и инсталлируем нашу программу. Для этого выполняем команду с параметрами Name (название пакета) и ProviderName (название поставщика):

Install-Package -Name Opera -ProviderName Chocolatey

Install-Package

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

Точно таким же образом вы можете найти скачать другие программы, включая их портативные редакции, которые в отличие от обычных инсталлируемых версий будут сохранены в каталог C:\Chocolatey\lib в распакованном виде.

Chocolatey lib

Оцените Статью:

1 Звезда2 Звезды3 Звезды4 Звезды5 Звезд (Пока оценок нет)
Загрузка...

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

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