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

Менеджер пакетов PackageManagement в Windows 10

Десятая версия операционки Windows обладает довольно интересным новшеством, которое рядовой пользователь не замечает. Это приложение называется PackageManagement, которое позволяет выполнять инсталляцию, поиск и управления утилитами на ПК. Здесь подразумевается инсталляция утилит с помощью командной строки. Если не понятно, как и что будет происходить, тогда необходимо ознакомиться с инструкцией, изложенной ниже.

Раньше интегрированный менеджер пакетов имел название OneGet, однако, на данный момент этот модуль носит название PackageManagement и входит в состав PowerShell. Ниже будут приведены некоторые способы его применения.

Несмотря на то, что PackageManagement входит в состав PowerShell «десятки», получить его можно, инсталлировав Management Framework 5.0 для «восьмерки». В данной инструкции будет несколько примеров применения этого менеджера для обычного юзера и метод подключения
своеобразной базы данных Chocolatey в PackageManagement.

Последнее является неким независимым менеджером программ, который может применяться в «семерке», «восьмерке» и XP, а также соответствующую базу приложений.

Команды PackageManagement в PowerShell

Чтобы появилась возможность пользоваться всеми командами, описанными ниже, необходимо открыть PowerShell под админом. Для этого необходимо в поиске начать набирать название программы. После этого по ней необходимо щелкнуть ПКМ и выбрать пункт «Запустить от имени администратора».

Данный менеджер пакетов предоставляет возможность работать с приложениями в PowerShell, использую специальные команды. Что-то похожее можно найти в операционке Linux, что хорошо знакомо ее пользователям.

В этом способе инсталляции приложений можно отметить несколько достоинств. Для установки применяются только проверенные источники приложений. Пользователю не нужно самостоятельно искать официальные ресурсы. Кроме того, полностью исключена возможность установки сомнительного программного обеспечения при инсталляции. Также не нужно постоянно нажимать на кнопку «Далее».

Помимо этого, есть возможность самому создавать скрипты инсталляции. К примеру, при необходимости инсталлировать набор приложений на чистый компьютер или после переустановки операционки, нет нужды самостоятельно скачивать и устанавливать каждую программу, а можно просто запустить сценарий.

Кроме того, с помощью этого метода можно легко устанавливать и управлять программами на дистанционных компьютерах. Это может пригодиться для сисадминов.

Перечень команд, которые имеются в PackageManagement можно посмотреть через Get-Command -Module PackageManagement. Среди них можно выделить всего несколько, которые в основном будут использоваться рядовыми юзерами.

Find-Package предназначена для поиска программ. При этом придерживаться регистра букв необязательно. Команда Install-Package позволяет инсталлировать приложения на компьютер. Деинсталляцию программ можно выполнять с помощью команды Uninstall-Package. Команда Get-Package позволяет просматривать инсталлированные программы.

Оставшиеся команды предназначаются для ознакомления с источниками утилит, добавления и ликвидации. Это тоже может иногда понадобиться.

Добавление Chocolatey в PackageManagement

Стоит отметить, что в имеющихся базах данных, которые есть в PackageManagement немного можно отыскать, а если говорить о бесплатных приложениях типа Skype, Google Chrome и т.п., то их тут практически нет.

Компания Microsoft предлагает по умолчанию установить хранилище NuGet, в котором имеются инструменты для разработчиков. Однако, для рядового юзера они не пригодны. Стоит отметить, что в процессе работы с PackageManagement будет регулярно выскакивать предложение на установку NuGet. Отключить эти уведомления невозможно, поэтому придется согласиться с инсталляцией.

Кроме того, в этом случае может помочь подключение баз данных Chocolatey через строку команд. Необходимо в ней написать Get-PackageProvider -Name chocolatey. Затем требуется подтвердить инсталляцию Chocolatey, а потом прописать Set-PackageSource -Name chocolatey –trusted. После этого менеджер программ будет подключен.

Чтобы приложения Chocolatey могли инсталлироваться, необходимо выполнить корректировку Execution-Policy. Для этого необходимо прописать команду Set-ExecutionPolicy RemoteSigned, которая даст разрешение на выполнение всех прописанных сценариев PowerShell.
После этих манипуляций программы из базы данных Chocolatey начнут работать в PackageManagement. Если при их инсталляции будут возникать какие-либо ошибки, тогда можно попытаться применить параметр Force.

Чтобы разобраться, как все работает, можно рассмотреть один пример применения PackageManagement и активированным поставщиком Chocolatey. Допустим, требуется инсталлировать бесплатное приложение Paint.net, но это может быть и любая другая утилита, которая имеется в базе со свободным распространением.

Для этого необходимо прописать команду find-package -name paint. В этом случае можно вводить имя не полностью, если нет уверенности в точном названии. Кроме того, -name писать необязательно. После этого, программа отыщется в базе. Чтобы е установить, необходимо написать команду install-package -name paint.net . В этом случае имя необходимо писать точно. Взять его можно из левой колонки.
Затем нужно подождать, пока завершиться процесс инсталляции и программа появится в компьютере. При этом не нужно искать ее в интернете и не можно не переживать, что вместе с ней на компьютер установиться дополнительное программное обеспечение.

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

Блог Евгения Крыжановского

Я научу вас ремонтировать свой компьютер!

Особенности встроенного менеджера PackageManagement в Windows 10

Windows 10 – это кладязь современных и весьма качественных утилит. Есть несколько встроенных в систему программ, которые могут быть полезными. Но многие юзеры могут даже не догадываться о том, что установленные сервисы работают качественно.

Большое количество интересных нововведений в Windows 10 пользователи смогут оценить сразу после установки данной операционной системы. В числе актуальных программ данной версии платформы PackageManagement. Это встроенный менеджер пакетов.

Ранее приложение было известно пользователям под названием OneGet. Данное программное обеспечение создано с той целью, чтобы удавалось грамотно управлять самыми разными сервисами на персональном компьютере. Также в возможностях этой утилиты выполнять поиск, установку и прочие манипуляции с утилитами.

Это универсальный помощник который подойдет всем пользователям. Для начала стоит изучить особенности и специфику работы утилиты, чтобы в дальнейшем правильно работать с ней. Этот софт прост в использовании и в этом можно убедиться.

Программное обеспечение направлено на то, чтобы каждый юзер с легкостью мог управлять всеми теми сервисами, которых может быть в памяти устройства достаточно много. Особенно ценна будет утилита в том случае, если пользователь предварительно загрузил на девайс большое количество приложений, контролировать которые не так уж и просто.

Универсальный помощник в современном варианте является более функциональным. При работе с финальной версией Windows 10 пользователям предоставляется шанс облегчить рабочий процесс. Данная операционная система является наиболее качественной и функциональной, а потому и программы в ней должны быть исключительно такого же уровня.

Преимущества использования встроенных продуктов

Если пользователи будут работать с другими операционными системами, то и в них можно встретить такого рода приложения. Причем, разработчики ОС стараются презентовать качественно функционирующие сервисы, которые смогут составить конкуренцию прочим сервисам, разработанным другими компаниями.

В таком случае пользователям не нужно будет прибегать к использованию сторонних приложений. Преимущества использования встроенных сервисов очевидны. Пользователям не нужно будет тратить время на поиск искомых программных продуктов в сети. Возможно найти более качественные утилиты, но потраченное на это время вряд ли стоит того.

Если пользователь не желает заниматься серфингом в поиске нужных утилит, поскольку может подхватить вирусы, то лучше уберечься от этого. В поиска официального сайта можно несколько раз переходить на веб-ресурсы с сомнительной репутацией.

Также исключается шанс установки потенциально нежелательного программного обеспечения, которое может быть неприятным «бонусом» при загрузке искомой утилиты. Особенно ценятся встроенные утилиты в том случае, если пользователь впервые работает с загруженной операционной системой.

В таком случае предоставляется шанс использовать имеющиеся софты. Разработчики ОС стараются сделать так, чтобы в числе уже встроенных программ были самые необходимые софты. Все остальные приложения должны устанавливаться в индивидуальном порядке в зависимости от потребностей каждого отдельного юзера.

Описание и возможности помощника

PackageManagement – это отличный модуль, с которыми справиться сможет каждый пользователь. Данная встроенная в систему утилита является составной частью PowerShell. Так что каждый пользователь, который скачал Windows 10, является обладателем данного весьма эффективного программного продукта.

Читайте также:  Как скачать Windows 10 ISO образ с сайта Майкрософт — 4 способа

В дополнение к этому предусмотрен вариант установки этого менеджера при установке на гаджет Windows Management Framework 5.0. Данная версия сервиса встраивается в Windows 8.1. Работать с этим помощником будет полезно рядовым юзерам и пользователем с опытом.

Данный софт можно использовать не только в стандартном понимании менеджера пакета. В дополнение к этому есть вариант подключить репозиторий. Это значит, что можно попробовать будет использовать хранилище, в котором и будут располагаться самые разные программы и прочие файлы.

Запуск приложения. Спектр активных действий

Чтобы использовать самые разные команды PackageManagement, потребуется осуществить запуск PowerShell. Данное действие производится исключительно от имени админа. В этом случае можно будет обеспечить доступ к искомым полезным командам менеджера.

Для этого нужно будет запустить панель задач. В поисковую строку потребуется вписать название. После этого кликаем правой кнопкой мыши по тому объекту, который будет найден и показан на экране устройства. Далее появится меню с предложенными функциями, которые можно реализовать в отношении искомого объекта. Потребуется выбрать опцию запуска. Сразу после этого можно приступить к использованию арсенала возможностей менеджера.

Запущенный софт позволяет работать с самыми разными программами. В отношении всех установленных на компьютере утилит очень просто производить самые разные действия. Это касается установки, удаления, перемещения, поиска и прочих манипуляций. Все эти действия возможно воплотить в жизнь благодаря соответствующим командам.

Получить доступ к искомому перечню команд очень просто. Юзерам потребуется открыть Get-Command -Module PackageManagement. Перечень команд немалый. По этой причине стоит остановиться на самых важных и часто используемых.

Вызов поисковика — Find-Package. После этого необходимо вписать название искомого Программного продукта. Также пользователи частенько выбирают функцию установки утилиты на гаджет. В таком случае нужно будет выбрать Install-Package. Далее указана еще одна команда — Uninstall-Package.

После нажатия на эту кнопку пользователь сможет избавиться от приложения, которое больше ему не нужно. Также представлена опция по просмотру установленных пакетов. Активация данной функции происходит после клика по Get-Package.

Все прочие варианты действий также используются частенько, но все же гораздо реже указанных выше. Предназначены прочие варианты команд для обеспечения просмотра источников сервисов. Также есть опции по добавлению и извлечению сервисов. Все эти возможности непременно понадобятся для работы.

Особая опция: добавление репозитория

Функция эта также доступна абсолютно всем пользователям. В предустановленных источниках утилит можно найти совсем немного опций. Пользователям постоянно при работе с PackageManagement предлагается обеспечить доступ к хранилищу, созданному компанией Microsoft.

Важно то, что именно хранилище NuGet содержит средства разработки, которые в бальшинстве случаев используются программистами. Пользователям другого уровня эти опции вряд ли пригодятся. Но отказаться от предложения установки данного компонента не получается. Поэтому придется смириться с постоянно появляющимся сообщением.

Проблема эта решается при подключении репозитория менеджера пакетов Chocolatey. Пользователям необходимо будет подтвердить установку дополнительного компонента Chocolatey,. Далее придется указать команду Set-PackageSource -Name chocolatey –trusted. На этом процесс завершен.

Для изменения опции Execution-Policy вводим команду Set-ExecutionPolicy RemoteSigned. Именно после ее указания будет разрешено выполнять многочисленных сценариев PowerShell. Затем будет возможно использовать все те действия и сценарии, которые предварительно пользователь загрузил из всемирной паутины.

После указанных простых в реализации манипуляций пользователям предоставляется возможность работать Chocolatey во встроенном менеджере PackageManagement. Данный актуальный компонент позволит выполнять несколько актуальных опций.

Процедура использования Chocolatey

Работа подключенного поставщика заключается в нескольких новых действиях. С этим помощником гораздо проще выполнять все необходимые манипуляции. При необходимости произведения загрузки бесплатных программ потребуется лишь указать нужную команду, в которой прописывается наименование искомого сервиса.

Причем, если полное наименование утилиты не известно или пользователь не знает, как правильно написать его, то можно указать в том формате, в котором пользователю известно. При этом сервис будет найден. Далее будет видно то, что этот сервис уже присутствует в репозитории.

Следующий этап – установка программы. Вводим соответствующую команду, а затем остается лишь дождаться завершения процедуры. Так что теперь установка завершена и можно приступить к работе с этим софтом.

Запись опубликована 19.06.2016 автором katrinas11 в рубрике Программы. Отблагодари меня, поделись ссылкой с друзьями в социальных сетях:

Как использовать PackageManagement (он же OneGet) в Windows 10 – Программы – 2020

Windows 10 включает в себя инструмент управления пакетами, встроенный в PowerShell. В финальной версии он называется «PackageManagement», но по-прежнему основан на проекте с открытым исходным кодом OneGet.

PackageManagement (он же OneGet) технически не является менеджером пакетов. Это менеджер диспетчера пакетов – среда и набор командлетов PowerShell, которые могут стандартизованно управлять различными типами программного обеспечения из разных мест.

Что такое PackageManagement / OneGet?

Ранее мы рассказали историю об OneGet и постарались уточнить, что именно. Если этой информации недостаточно для вас, разработчик Гаррет Серак также написал информативный пост под названием «10 вещей об OneGet, которые отличаются от ваших».

По сути, PackageManagement (основанный на проекте с открытым исходным кодом под названием OneGet) интегрирован в PowerShell и, следовательно, в Windows 10. Он призван объединить различные методы управления пакетами и платформы установки программного обеспечения в единый API вместе со стандартным набором PowerShell. командлеты для управления программным обеспечением.

По крайней мере, в исходном состоянии это не инструмент, предназначенный для среднего пользователя Windows 10 или даже для гика. На самом деле Microsoft не размещает никаких «репозиториев OneGet» – на самом деле такого нет. OneGet может использоваться вместе с провайдерами для обеспечения доступа к репозиториям программного обеспечения, которыми затем можно управлять с помощью стандартных командлетов. Это предназначено для системных администраторов. Для тех, кто увлекается командной строкой, OneGet однажды предложила поставщика Chocolatey для установки настольных приложений, размещенных в Chocolatey. Тем не менее, OneGet не предназначен для работы только с Chocolatey – в первых версиях OneGet для проверки использовался поставщик Chocolatey, но теперь он удален.

Вы также можете установить и использовать этот инструмент в других версиях Windows, поскольку он является частью Windows Management Framework (WMF) 5.0.

Как использовать PackageManagement / OneGet

PackageManagement – это набор командлетов для PowerShell, поэтому для его использования необходимо открыть приложение Windows PowerShell. Выполните следующую команду, чтобы увидеть список доступных командлетов:

Get-Command -Module PackageManagement

(Обратите внимание, что Get-Command -Module OneGet не будет работать, так как он был переименован в PackageManagement.)

В финальной версии Windows 10 с PackageManagement не так много всего происходит. Эта функция была наиболее интересной для ее интеграции с Chocolatey для простой установки программ Windows из одного источника, когда она была представлена. Однако Chocolatey все еще можно использовать в Windows 10 без помощи PackageManagement / OneGet.

Командлеты Get-PackageProvider и Get-PackageSource покажут, какие поставщики пакетов и источники доступны. Вы можете использовать Register-PackageSource для установки источника пакета. Этот командлет требует URL для источника, поэтому вам нужно точно знать, что вы хотите добавить и где он находится, чтобы добавить его.

Например, когда сообщество разработает провайдер Chocolatey, вы можете добавить его в свою систему с помощью этого командлета. Командлет Unregister-PackageSource может удалить такой источник пакета.

Если вам нужно использовать PackageManagement для установки программного обеспечения откуда-то, вам нужно использовать вышеупомянутый командлет Register-PackageSource, чтобы убедиться, что источник зарегистрирован в PackageManagement. После этого вы можете искать, устанавливать и удалять доступные пакеты с помощью следующих командлетов.

Командлет Find-Package позволит вам выполнить поиск по настроенным источникам пакетов, а командлет Install-Package позволит вам установить его. Командлет Uninstall-Package удалит пакет, который вы установили с помощью следующих командлетов:

Читайте также:  Установка Windows 10 Creators Update (Обновление для дизайнеров)

Поиск пакета Поиск

Имя установочного пакета

Uninstall- имя пакета

Это простой и стандартизированный способ установки разных типов программного обеспечения из разных источников, упакованных в разные формы. С выпуском Windows 10 и PackageManagement мы можем ожидать большей интеграции со множеством различных потенциальных источников программного обеспечения для всего: от быстрой настройки серверов до автоматической установки программного обеспечения на новые ПК при их настройке.

Дополнительные сведения см. В официальной документации Microsoft по командлетам PackageManagement.

Несмотря на то, как это выглядело во время разработки, Microsoft не принимает управление пакетами для Windows 10. Microsoft не размещает свои собственные программные репозитории, а Chocolatey не увлекается интеграцией в финальную версию Windows 10. Даже Магазин Windows и его приложения доступны из PackageManagement.

Это просто еще один набор инструментов, предназначенных для системных администраторов. Нам нужно будет посмотреть, как он развивается и растет со временем.

Как использовать PackageManagement (aka OneGet) в Windows 10

Windows 10 включает инструмент управления пакетами, встроенный в PowerShell. В окончательной версии он называется «PackageManagement», но он по-прежнему основан на проекте с открытым исходным кодом с именем OneGet.

PackageManagement (aka OneGet) не является технически менеджером пакетов. Это менеджер диспетчера пакетов – структура и набор командлетов PowerShell, которые стандартизованно управляют различными типами программного обеспечения из разных мест.

Что такое PackageManagement / OneGet?

Ранее мы рассказывали об OneGet и пытались точно выяснить, что это такое. Если этого недостаточно для вас, разработчик Гаррет Серак также написал информационный пост под названием «10 вещей о OneGet, которые отличаются от того, что вы думаете».

По сути, PackageManagement (основанный на проекте с открытым исходным кодом с именем OneGet) интегрирован в PowerShell и, следовательно, в Windows 10. Он нацелен на объединение разнообразных методов управления пакетами и программных платформ программного обеспечения в единый API вместе со стандартным набором PowerShell командлеты для управления программным обеспечением.

В начальном состоянии, по крайней мере, это не инструмент, предназначенный для среднего пользователя Windows 10 или даже для выродка. Microsoft фактически не размещает никаких «репозиториев OneGet» – на самом деле таких вещей нет. OneGet можно использовать вместе с провайдерами для доступа к репозиториям программного обеспечения, которые затем могут управляться стандартизованными командлетами. Это предназначено для системных администраторов. Для вундеркиндов, удобных с командной строкой, OneGet однажды предложил провайдер Chocolatey для установки настольных приложений, размещенных в Chocolatey. Однако OneGet не предназначен для работы только с Chocolatey. В первоначальных версиях OneGet у поставщика Chocolatey был доказательство концепции, но теперь это было удалено.

Вы также можете установить и использовать этот инструмент в других версиях Windows, поскольку он является частью Windows Management Framework (WMF) 5.0.

Как использовать PackageManagement / OneGet

PackageManagement – это набор командлетов для PowerShell, поэтому вам нужно будет открыть приложение Windows PowerShell для его использования. Выполните следующую команду, чтобы просмотреть список доступных командлетов:

Get-Command -Module PackageManagement

(Обратите внимание, что Get-Command -Module OneGet не будет работать, поскольку он был переименован в PackageManagement.)

В финальной версии Windows 10 еще много не работает с PackageManagement. Эта функция была наиболее интересна для ее интеграции с Chocolatey для простой установки программ Windows из одного источника, когда она была введена. Однако Chocolatey все еще можно использовать на Windows 10 без помощи PackageManagement / OneGet.

Командлеты Get-PackageProvider и Get-PackageSource покажут, какие поставщики пакетов и источники доступны. Вы можете использовать Register-PackageSource для установки источника пакета. Этот командлет требует URL-адреса источника, поэтому вам нужно точно знать, что вы хотите добавить, и где оно расположено, чтобы добавить его.

Например, когда поставщик сообщества Chocolatey разрабатывается сообществом, вы можете добавить его в свою систему с помощью этого командлета. Командлет Unregister-PackageSource может удалить такой источник пакета.

Если вам нужно использовать PackageManagement для установки программного обеспечения откуда-то, вам нужно будет использовать вышеуказанный командлет Register-PackageSource, чтобы гарантировать, что источник зарегистрирован в PackageManagement. После этого вы можете искать, устанавливать и удалять доступные пакеты со следующими командлетами.

Командлет Find-Package позволит вам искать в нем настроенные источники пакетов, а командлет Install-Package позволит вам установить его. Командлет Uninstall-Package удалит пакет, который вы установили с помощью этих командлетов:

Это простой и стандартизированный способ установки различных типов программного обеспечения из разных источников, упакованных в разных формах. С запуском Windows 10 и PackageManagement мы можем ожидать большей интеграции с различными потенциальными источниками программного обеспечения для всего: от быстрой настройки серверов до автоматической установки программного обеспечения на новые ПК при их настройке.

Для получения дополнительной информации обратитесь к официальной документации Microsoft для командлетов PackageManagement.

Несмотря на то, как он мог выглядеть во время разработки, Microsoft не принимает управление пакетами для Windows 10. Microsoft не размещает свои собственные репозитории программного обеспечения, а Chocolatey не интегрируется в окончательную версию Windows 10. Даже Windows Store и его приложения могут быть доступны из PackageManagement.

Это всего лишь еще один набор инструментов, предназначенных для системных администраторов. Нам нужно будет увидеть, как он развивается и растет с течением времени.

Менеджер пакетов 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 и соответствующий репозиторий программ.

Команды 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 — просмотр установленных пакетов

Остальные команды предназначены для просмотра источников пакетов (программ), их добавления и удаления. Эта возможность нам тоже пригодится.

Читайте также:  Как создать загрузочную флешку для восстановления Windows 8

Добавление репозитория 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:

Команда разрешает использование подписанных сценариев, загруженных из Интернета.

С этого момента пакеты из репозитория Chocolatey будут работать в PackageManagement (OneGet). При возникновении ошибок при их установке, попробуйте использовать параметр -Force.

А теперь простой пример использования PackageManagement с подключенным поставщиком Chocolatey.

  1. Например, нам нужно установить бесплатную программу Paint.net (это может быть и другая бесплатная программ, большинство свободно распространяемых программ присутствуют в репозитории). Вводим командуfind-package -name paint (можно вводить имя частично, если не знаете точного названия пакета, ключ «-name» не обязателен).
  2. В результате мы видим, что paint.net присутствует в репозитории. Для установки используем командуinstall-package -name paint.net (точное имя берем из левого столбца).
  3. Дожидаемся окончания установки и получаем установленную программу, не разыскивая, где ее скачать и не получая попутно нежелательное ПО на свой компьютер.

Надеемся на то, что данный материал поможет справится с возникшей у вас проблемой. Если остаются вопросы, или имеются дополнения, пишите в комментариях.

Терминология OneGet, NuGet, Chocolatey, PowerShellGet — разложим по полочкам

В этой статье я хочу помочь разобраться в структуре пакетных менеджеров под Windows. Статья нацелена больше на тех, кто, как и я, пришли из мира Linux, где принято заходить в понимание процессов ниже уровня абстракций.

Уверен, что абстракции вы уже прочитали и без меня:

chocolatey для установки приложений, nuget — для установки зависимостей разработчиком.

Но это мало того грубо, так еще и неправда.

Итак, какие типы пакетов мы знаем из мира Linux? Внимание: не пакетные менеджеры, а именно сами пакеты. Самые распространенные условно делятся на две группы: ОС-зависимые (deb, rpm) или языко-зависимые (как правило, tar-болы). В принципе можно сказать, что первая группа — это приложения (утилиты), а вторые — зависимости (библиотеки). Но иногда это не так: среди пакетов ОС есть библиотеки, а среди языковых пакетов есть пакеты, устанавливающие еще и утилиты (например stdeb в pip или elastalert в npm) — если их устанавливать глобально, то получится как пакет ОС.

Возвращаемся к Windows.

Изначально здесь придумали тоже формат пакета. Сделан он был на замену старому формату msi/msu потому, что старый формат имел достаточно высокий входной порог для понимания, как его автоматизировать [вполне вероятно, что я сейчас брежу]. В общем и целом новый формат очень похож на rpm. У него даже есть spec-файл. Имя ему — NuGet, но расширение .nupkg. Внутри этого пакета есть директории, файлы и инсталляционные скрипты — все нам, линуксойдам, привычно и знакомо.

Теперь давайте вспомним, какие пакетные менеджеры мы знаем. Для ОС это apt, yum,… Для языковых: pip, gem, npm, cpan, cpm,…
Что для Windows? Тут мы знакомимся с новым NuGet. Есть NuGet-пакет, а есть одноименный nuget.exe — утилита, которая умеет эти пакеты скачивать и разархивировать. Вообще, она умеет много другое, но это за пределами обсуждаемого вопроса.

Какой расклад мы получаем:

Debian: apt(deb) + pip + npm + gem +…
RHEL: yum(rpm) + pip + npm + gem +…
Windows: nuget(nupkg) + pip + npm + gem +…

Обратите внимание, для msi пакетного менеджера так и не создали (это не совсем так, но пока для простоты).

И вот здесь начинается отличие от Linux. В мире Windows появился какой-то талантливый парень, который решил, что он хочет устанавливать все одной командой. И начал писать open-source’ный проект OneGet (его проприетарное название: PackageManager, который является одним из модулей PowerShell версии >=5.0).

OneGet — это абстрактный интерфейс, который умеет разговаривать с каждым пакетным менеджером на его языке. OneGet публикует для нас набор унифицированных команд. Например, команду Install-Package, которая является wrapper’ом каждый раз для разных команд.

Что получается: мы подключаем к OneGet несколько пакетных менеджеров. Например: NuGet, PIP, NPM.

Далее, если мы хотим поставить какой-то питоний пакет, то мы пишем:

OneGet преобразует это в:

А теперь мы хотим поставить пакет NuGet и запускаем:

В этот раз команда вызвала:

Я соврал. На самом деле Install-Package не вызывает эти команды в бэкграунде — пакетные менеджеры более не используются. Выпали из пищевой цепочки. Вместо них установлены специализированные пакетные провайдеры (считайте плагины PowerShell) для управления инородными пакетами. И эти провайдеры занимаются задачей установки вместо привычных нам пакетных менеджеров. А OneGet над ними начальник. За зависимостями следят сами провайдеры.

И тут мы знакомимся с третьим NuGet — NuGet-пакетный провайдер. Я с самого начала статьи мечтал взорвать ваш мозг: NuGet — это пакетный провайдер, который пришел на смену пакетному менеджеру NuGet(nuget.exe), чтобы управлять пакетами NuGet(.nupkg).

Здесь очень важный момент. Старые пакетные менеджеры имели каждый свой список репозиториев (Source в терминологии Windows):

OneGet опирается не на них, а на заменивших их провайдеров. А список репозиториев один для всех, но с указанием, кому какой репозиторий принадлежит — по аналогии с внешними ключами БД.

Смотрим сначала список пакетных провайдеров:

А теперь смотрим кому какой репозиторий принадлежит:

Теперь я сделаю паузу и отвлекусь на один из странных пакетных провайдеров — PowerShellGet. Этот провайдер призван устанавливать модули самого PowerShell. Появился он в PowerShell 2 — еще до прихода PackageManager(aka OneGet). Но они друг другу не ровня. PowerShellGet — это один из рядовых пакетных провайдеров, умеющих делать только свой тип пакетов, а не управленец пакетными провайдерами, как OneGet.

Его тип пакетов — .nupkg, содержимое которых — модули PowerShell. Поэтому не удивляйтесь, что его репозиторий PSGallery имеет формат NuGet:

И сейчас вы могли заметить следующую тонкость: список репозиториев в PackageManager выполняется командой Get-PackageSource, а не Get-PSRepository.

Дело в том, что работа этого модуля, как я сказал выше, устанавливать модули PowerShell. В комплект установки входит и регистрация новых командлетов, что он и сделал. Этот командлет дает дополнительные поля при регистрации репозитория (например PublishLocation). Этого не видно, если использовать стандартный командлет:

Вот все говорят, что Chocolatey — надстройка над NuGet. Оно как бы так, но не совсем. Chocolatey использует те же spec’и, но не полностью. Вместо полноценного пакета он зачастую использует скачивание .msi или чего угодно другого и последующую silent-установку. То есть в то время, как пакетный провайдер NuGet или пакетный менеджер nuget.exe устанавливает только нативные NuGet-пакеты, Chocolatey устанавливает их же + все то, что что другие устанавливать не умеют. Поэтому база пакетов Chocolatey такая внушительная по сравнению с базой NuGet. И поэтому в пакетах Chocolatey столько скриптов много.

Возможно вы заметили, что есть два провайдера Chocolatey и ChocolateyGet. Первый — самодельная времянка. Второй — официальный провайдер, который недавно только вышел. Ну вы видите по версиям.

Ссылка на основную публикацию