Одно из самых интересных нововведений в Windows 10, которое обычный пользователь может и не заметить — это встроенный менеджер пакетов PackageManagement (ранее — OneGet), позволяющий легко устанавливать, искать и иными способами управлять программами на компьютере. Речь об установке программ из командной строки, а если вам не совсем ясно, о чем это и почему может быть полезным — рекомендую для начала посмотреть видео в конце этой инструкции.
Обновление: встроенный менеджер пакетов назывался OneGet на этапе предварительных версий Windows 10, теперь это модуль PackageManagement в PowerShell. Также в инструкции обновлены способы его использования. Обновление 2020: Microsoft представила диспетчер пакетов Winget .
PackageManagement является составной частью PowerShell в Windows 10, кроме этого, получить менеджер пакетов можно, установив Windows Management Framework 5.0 для Windows 8.1. В этой статье — несколько примеров использования менеджера пакета для рядового пользователя, а также способ подключить репозиторий (своего рода базу данных, хранилище) Chocolatey в PackageManagement (Chocolatey представляет собой независимый менеджер пакетов, который вы можете использовать в Windows XP, 7 и 8 и соответствующий репозиторий программ. Подробнее об использовании Chocolatey в виде независимого менеджера пакетов ).
Команды PackageManagement в PowerShell
Для использования большинства описанных далее команд вам потребуется запустить Windows PowerShell от имени администратора.
Для этого, начните набирать PowerShell в поиске панели задач, после чего кликните правой кнопкой мыши по найденному результату и выберите пункт «Запустить от имени Администратора».
Менеджер пакетов PackageManagement или OneGet позволяет работать с программами (устанавливать, удалять, искать, обновление пока не предусмотрено) в PowerShell с помощью соответствующих команд — аналогичные методы хорошо знакомы пользователям Linux. Чтобы получить представление, о чем идет речь, можете взглянуть на скриншот ниже.
Преимущества такого способа установки программ заключаются в:
- использовании проверенных источников программ (вам не требуется искать вручную официальный сайт),
- отсутствия установки потенциально нежелательного программного обеспечения при установке (и самого привычного процесса установки с кнопкой «Далее»),
- возможности создавать сценарии установки (например, если необходимо установить полный набор программ на новый компьютер или после переустановки Windows, не нужно вручную скачивать и устанавливать их, достаточно запустить сценарий),
- а также в простоте установки и управления ПО на удаленных машинах (для системных администраторов).
Получить список команд, доступных в PackageManagement, вы можете с помощью Get-Command -Module PackageManagement ключевыми из них для простого пользователя будут:
- Find-Package — поиск пакета (программы), например: Find-Package -Name VLC (параметр Name можно пропустить, регистр букв не важен).
- Install-Package — установка программы на компьютер
- Uninstall-Package — удаление программы
- Get-Package — просмотр установленных пакетов
Остальные команды предназначены для просмотра источников пакетов (программ), их добавления и удаления. Эта возможность нам тоже пригодится.
Добавление репозитория Chocolatey в PackageManagement (OneGet)
К сожалению, в предустановленных репозиториях (источниках программ), с которыми работает PackageManagement мало что можно найти, особенно если речь идет о коммерческих (но при этом бесплатных) продуктах — Google Chrome, Skype, различные прикладные программы и утилиты.
Предлагаемое Microsoft для установки по умолчанию хранилище NuGet содержит средства разработки для программистов, но не для типичного моего читателя (кстати, в ходе работы с PackageManagement вам может постоянно предлагаться установка поставщика NuGet, я не нашел способа «избавиться» от этого, кроме как однократно согласиться с установкой).
Однако проблему можно решить, подключив репозиторий менеджера пакетов Chocolatey, для этого используйте команду:
Get-PackageProvider -Name chocolatey
Подтвердите установку поставщика Chocolatey, а после установки введите команду:
Set-PackageSource -Name chocolatey -trusted
Готово.
Последние действие, которое потребуется для того, чтобы пакеты chocolatey могли устанавливаться — изменить Execution-Policy. Для изменения введите команду, разрешающую выполненные всех подписанных доверенных сценариев PowerShell:
Set-ExecutionPolicy RemoteSigned
Команда разрешает использование подписанных сценариев, загруженных из Интернета.
С этого момента пакеты из репозитория Chocolatey будут работать в PackageManagement (OneGet). При возникновении ошибок при их установке, попробуйте использовать параметр -Force .
А теперь простой пример использования PackageManagement с подключенным поставщиком Chocolatey.
- Например, нам нужно установить бесплатную программу Paint.net (это может быть и другая бесплатная программ, большинство свободно распространяемых программ присутствуют в репозитории). Вводим команду find-package -name paint (можно вводить имя частично, если не знаете точного названия пакета, ключ «-name» не обязателен).
- В результате мы видим, что paint.net присутствует в репозитории. Для установки используем команду install-package -name paint.net (точное имя берем из левого столбца).
- Дожидаемся окончания установки и получаем установленную программу, не разыскивая, где ее скачать и не получая попутно нежелательное ПО на свой компьютер.
Видео — Использование менеджера пакетов PackageManagement (aka OneGet) для установки программ в Windows 10
Ну и в завершение — все то же самое, но в формате видео, возможно, для кого-то из читателей так будет проще понять — пригодится это для него или нет.
Пока всё, как управление пакетами будет выглядеть в дальнейшем еще посмотрим: была информация и о возможном появлении графического интерфейса OneGet и о поддержке приложений для рабочего стола из магазина Windows Store и о других возможных перспективах развития продукта.