В отличие от Linux, в которой приложения традиционно устанавливаются из внешних репозиториев, в ОС Windows установка большинство десктопных программ выполняется из EXE или MSI-файла, реже с помощью веб-установщика, загружающего на ПК исполняемый файл. По мнению приверженцев Linux, этот способ имеет целый ряд недостатков, так, во-первых, нужную программу приходится вручную искать в интернете, во-вторых, при этом всегда есть риск загрузить устаревшую или зараженную вирусами версию.
И действительно, установка программного обеспечения из доверенных репозиториев снижает риск «подхватить» вирус, помогает сэкономить потраченное на поиск нужного ПО время, да и вообще, существенно упрощает процедуру инсталляции и обновления программных пакетов. Впрочем, возможность установки приложений из внешних репозиторием присутствует и в Windows, просто эта функция не получила широкого признания. Так, в десятой версии Windows имеется специальный модуль PackageManagement, позволяющий скачивать и устанавливать приложения из онлайнового или локального источника, используя командную строку PowerShell.
Чтобы просмотреть список доступных комадлетов, запустите PowerShell от имени администратора и выполните команду Get-Command -Module 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, тем не менее, его стоит установить, чтобы в дальнейшем система больше его не предлагала.
Поэтому вводим y, жмем ввод и получаем список доступных провайдеров. Теперь подключим поставщика Chocolatey, выполнив указанную ниже команды и подтвердив установку вводом y:
Install-PackageProvider chocolatey
Обратите также внимание на предупреждение, что поставщик Chocolatey не отмечен как надежный.
Это значит, что каждый раз при установке пакета будет запрашиваться подтверждение. Чтобы его отключить, нужно внести провайдера в список доверенных, выполнив следующую команду:
Set-PackageSource -Name chocolatey -Trusted
При этом в корне системного диска у вас должна появиться папка Chocolatey.
Теперь убедимся, что провайдер установлен и с ним можно работать:
Get-PackageSource
На положительный результат будет указывать флаг true в колонке InTrast. Итак, поставщик подключен, теперь давайте установим на компьютер какое-нибудь приложение. Естественно, для этого нам нужно знать, имеется ли оно в базе Chocolatey. Тут есть два варианта — можно зайти на официальный сайт поставщика chocolatey.org/packages и вбить его название в поисковую форму.
Либо выполнить поиск прямо в консоли PowerShell, воспользовавшись командлетом Find-Package. Найдем и установим браузер Opera. Выполняем команду поиска, указав в качестве параметра Name название программы и название поставщика в качестве параметра Source:
Find-Package -Name *Opera* -Source Chocolatey
Приложение в базе Chocolatey найдено, давайте его установим, но перед этим надо обязательно разрешить, если этого не было сделано раньше, выполнение скриптов PowerShell иначе исполняемые файлы программ могут не скачаться.
Политика меняется такой командой:
Set-ExecutionPolicy Unrestricted
Теперь загрузим и инсталлируем нашу программу. Для этого выполняем команду с параметрами Name (название пакета) и ProviderName (название поставщика):
Install-Package -Name Opera -ProviderName Chocolatey
В результате выполнения команды приложение будет загружено и установлено в автоматическом тихом режиме.
Точно таким же образом вы можете найти скачать другие программы, включая их портативные редакции, которые в отличие от обычных инсталлируемых версий будут сохранены в каталог C:\Chocolatey\lib в распакованном виде.
|