Одна из самых интересных новых функций 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. Чтобы получить представление о том, что это такое, вы можете взглянуть на скриншот ниже.
Преимуществами этого способа установки программ являются:
- Использование проверенных источников программного обеспечения (вам не нужно вручную искать официальный сайт),
- нет потенциально нежелательных программ для установки (и сам процесс установки с обычной кнопкой "Далее"),
- возможность создания сценариев установки (e.g. если вы хотите установить полный набор программ на новый компьютер или после переустановки Windows, вам не нужно скачивать и устанавливать их вручную, достаточно запустить скрипт),
- А также в легкой установке и управлении программным обеспечением на удаленных машинах (для системных администраторов).
Чтобы получить список команд, доступных в PackageManagement, вы можете использовать Get-Command -Module PackageManagement Ключевыми для простого пользователя будут:
- Find-Package — поиск пакета (программы), e.g: Find-Package -Name VLC (параметр Name можно пропустить, регистр не важен).
- Install-Package — Установка программы на компьютер
- Uninstall-Package — деинсталляция программы
- Get-Package — просмотр установленных пакетов
Добавление репозитория Chocolatey в PackageManagement (OneGet)
К сожалению, в предустановленных репозиториях (источниках программ), с которыми работает PackageManagement, можно найти не так много, особенно если речь идет о коммерческих (но бесплатных) продуктах — Google Chrome, Skype, различные прикладные программы и утилиты.
Репозиторий NuGet, предлагаемый Microsoft для установки по умолчанию, содержит инструменты разработки для программистов, но не для моего типичного читателя (кстати, при работе с PackageManagement вам может постоянно предлагаться установить поставщика NuGet, я не нашел способа "избавиться" от этого, кроме как один раз согласиться на установку).
Впрочем, проблему можно решить, подключив репозиторий пакетного менеджера Chocolatey, для этого воспользуйтесь командой:
Get-PackageProvider -Name chocolatey
Подтвердите установку поставщика Chocolatey и введите команду после установки:
Set-PackageSource -Name chocolatey -trusted
Готово.
Последнее действие, которое необходимо выполнить для установки пакетов, — это изменение политики исполнения (Execution-Policy). Для изменения введите команду, чтобы разрешить выполнение всех подписанных доверенных сценариев PowerShell:
Set-ExecutionPolicy RemoteSigned
Команда позволяет использовать подписанные скрипты, загруженные из Интернета.
С этого момента пакеты из репозитория Chocolatey будут работать в PackageManagement (OneGet). Если при установке возникают ошибки, попробуйте использовать опцию -Принудительное.
А теперь простой пример использования PackageManagement с подключенным поставщиком Chocolatey.
- Например, нам нужно установить бесплатную программу Paint.net (это может быть другой свободно распространяемый инструмент, большинство свободно распространяемых наборов инструментов находятся в репозитории). Введите команду find-package -name paint (вы можете частично ввести имя, если не знаете точного названия пакета, ключ "-name" необязателен).
- В результате мы видим, что.net присутствует в репозитории. Для установки используйте команду install-package -name paint.net (узнайте точное название из левой колонки).
- Дождитесь окончания установки и получите установленную программу, не ища, где ее скачать, и не получая на свой компьютер нежелательное программное обеспечение.
Видео — Использование PackageManagement (он же OneGet) для установки программ в Windows 10
И напоследок — все то же самое, но в видеоформате, возможно, кому-то из читателей будет проще понять — пригодится им это или нет.
На этом пока все. Посмотрим, как управление пакетами будет выглядеть в будущем: нам сообщили о возможности появления графического интерфейса OneGet и поддержки настольных приложений из Windows Store, а также о других возможных перспективах развития продукта.