Одне з найцікавіших нововведень в 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.
- Наприклад, нам потрібно встановити безкоштовну програму Paint.net (це може бути і інша безкоштовна програм, більшість вільно розповсюджуваних програм присутні в репозиторії). вводимо команду find-package -name paint (Можна вводити ім'я частково, якщо не знаєте точної назви пакета, ключ "-name" не обов'язковий).
- В результаті ми бачимо, що paint.net присутній в репозиторії. Для установки використовуємо команду install-package -name paint.net (Точне ім'я беремо з лівого стовпчика).
- Чекаємо закінчення установки і отримуємо встановлену програму, не шукаючи, де її скачати і не отримуючи попутно небажане ПО на свій комп'ютер.
Відео - Використання менеджера пакетів PackageManagement (aka OneGet) для установки програм в Windows 10
Ну і на завершення - все те ж саме, але в форматі відео, можливо, для когось із читачів так буде простіше зрозуміти - стане в нагоді це для нього чи ні.
Поки все, як управління пакетами буде виглядати в подальшому ще подивимося: була інформація і про можливу появу графічного інтерфейсу OneGet і про підтримку додатків для робочого столу з магазину Windows Store і про інші можливі перспективи розвитку продукту.