Менеджер пакетів PackageManagement (OneGet) в Windows 10

Одне з найцікавіших нововведень в Windows 10, яке звичайний користувач може і не помітити - це вбудований менеджер пакетів PackageManagement (раніше - OneGet), що дозволяє легко встановлювати, шукати і іншими способами керувати програмами на комп'ютері. Мова про встановлення програм з командного рядка, а якщо вам не зовсім ясно, про що це і чому може бути корисним - рекомендую для початку подивитися відео в кінці цієї інструкції.

Оновлення 2016: вбудований менеджер пакетів називався OneGet на етапі попередніх версій Windows 10, тепер це модуль PackageManagement в PowerShell. Також в інструкції оновлені способи його використання.

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.

  1. Наприклад, нам потрібно встановити безкоштовну програму Paint.net (це може бути і інша безкоштовна програм, більшість вільно розповсюджуваних програм присутні в репозиторії). вводимо команду find-package -name paint (Можна вводити ім'я частково, якщо не знаєте точної назви пакета, ключ "-name" не обов'язковий).
  2. В результаті ми бачимо, що paint.net присутній в репозиторії. Для установки використовуємо команду install-package -name paint.net (Точне ім'я беремо з лівого стовпчика).
  3. Чекаємо закінчення установки і отримуємо встановлену програму, не шукаючи, де її скачати і не отримуючи попутно небажане ПО на свій комп'ютер.

Відео - Використання менеджера пакетів PackageManagement (aka OneGet) для установки програм в Windows 10

Ну і на завершення - все те ж саме, але в форматі відео, можливо, для когось із читачів так буде простіше зрозуміти - стане в нагоді це для нього чи ні.

Поки все, як управління пакетами буде виглядати в подальшому ще подивимося: була інформація і про можливу появу графічного інтерфейсу OneGet і про підтримку додатків для робочого столу з магазину Windows Store і про інші можливі перспективи розвитку продукту.